/* * Copyright (c) 2020-2023, NXP * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include #include #include "mimxrt685_evk-pinctrl.dtsi" / { model = "NXP MIMXRT685-EVK board"; compatible = "nxp,mimxrt685"; aliases { sw0 = &user_button_1; sw1 = &user_button_2; led0 = &green_led; led1 = &blue_led; led2 = &red_led; usart-0 = &flexcomm0; /* For pwm test suites */ pwm-0 = &sc_timer; pwm-led0 = &green_pwm_led; green-pwm-led = &green_pwm_led; blue-pwm-led = &blue_pwm_led; red-pwm-led = &red_pwm_led; watchdog0 = &wwdt0; magn0 = &fxos8700; accel0 = &fxos8700; sdhc0 = &usdhc0; }; chosen { zephyr,flash-controller = &mx25um51345g; zephyr,flash = &mx25um51345g; zephyr,code-partition = &slot0_partition; zephyr,sram = &sram0; zephyr,console = &flexcomm0; zephyr,shell-uart = &flexcomm0; }; gpio_keys { compatible = "gpio-keys"; user_button_1: button_0 { label = "User SW1"; gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; zephyr,code = ; }; user_button_2: button_1 { label = "User SW2"; gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; zephyr,code = ; }; }; leds: leds { compatible = "gpio-leds"; green_led: led_1 { gpios = <&gpio0 14 0>; label = "User LED_GREEN"; }; blue_led: led_2 { gpios = <&gpio0 26 0>; label = "User LED_BLUE"; }; red_led: led_3 { gpios = <&gpio0 31 0>; label = "User LED_RED"; }; }; pwmleds { compatible = "pwm-leds"; green_pwm_led: green_pwm_led { pwms = <&sc_timer 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; label = "Green PWM LED"; status = "okay"; }; blue_pwm_led: blue_pwm_led { pwms = <&sc_timer 6 PWM_MSEC(20) PWM_POLARITY_NORMAL>; label = "Blue PWM LED"; status = "okay"; }; red_pwm_led: red_pwm_led { pwms = <&sc_timer 6 PWM_MSEC(20) PWM_POLARITY_NORMAL>; label = "Red PWM LED"; status = "disabled"; }; }; arduino_header: arduino-connector { compatible = "arduino-header-r3"; #gpio-cells = <2>; gpio-map-mask = <0xffffffff 0xffffffc0>; gpio-map-pass-thru = <0 0x3f>; gpio-map = <0 0 &gpio0 5 0>, /* A0 */ <1 0 &gpio0 6 0>, /* A1 */ <2 0 &gpio0 19 0>, /* A2 */ <3 0 &gpio0 20 0>, /* A3 */ <4 0 &gpio0 17 0>, /* A4 */ <5 0 &gpio0 18 0>, /* A5 */ <6 0 &gpio0 30 0>, /* D0 */ <7 0 &gpio0 29 0>, /* D1 */ <8 0 &gpio0 28 0>, /* D2 */ <9 0 &gpio0 27 0>, /* D3 */ <10 0 &gpio1 0 0>, /* D4 */ <11 0 &gpio1 10 0>, /* D5 */ <12 0 &gpio1 2 0>, /* D6 */ <13 0 &gpio1 8 0>, /* D7 */ <14 0 &gpio1 9 0>, /* D8 */ <15 0 &gpio1 7 0>, /* D9 */ <16 0 &gpio1 6 0>, /* D10 */ <17 0 &gpio1 5 0>, /* D11 */ <18 0 &gpio1 4 0>, /* D12 */ <19 0 &gpio1 3 0>, /* D13 */ <20 0 &gpio0 17 0>, /* D14 */ <21 0 &gpio0 18 0>; /* D15 */ }; }; /* * RT600 EVK board uses OS timer as the kernel timer * In case we need to switch to SYSTICK timer, then * replace &os_timer with &systick */ &os_timer { status = "okay"; wakeup-source; }; &rtc { status = "okay"; }; &flexcomm0 { compatible = "nxp,lpc-usart"; status = "okay"; current-speed = <115200>; pinctrl-0 = <&pinmux_flexcomm0_usart>; pinctrl-names = "default"; dmas = <&dma0 0>, <&dma0 1>; dma-names = "rx", "tx"; }; arduino_i2c: &flexcomm2 { compatible = "nxp,lpc-i2c"; status = "okay"; pinctrl-0 = <&pinmux_flexcomm2_i2c>; pinctrl-names = "default"; clock-frequency = ; #address-cells = <1>; #size-cells = <0>; fxos8700: fxos8700@1e { compatible = "nxp,fxos8700"; reg = <0x1e>; int1-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; }; }; arduino_serial: &flexcomm4 { compatible = "nxp,lpc-usart"; status = "okay"; current-speed = <115200>; pinctrl-0 = <&pinmux_flexcomm4_usart>; pinctrl-names = "default"; dmas = <&dma0 8>, <&dma0 9>; dma-names = "rx", "tx"; }; arduino_spi: &flexcomm5 { compatible = "nxp,lpc-spi"; status = "okay"; #address-cells = <1>; #size-cells = <0>; dmas = <&dma0 10>, <&dma0 11>; dma-names = "rx", "tx"; pinctrl-0 = <&pinmux_flexcomm5_spi>; pinctrl-names = "default"; }; /* I2S receive channel */ i2s0: &flexcomm1 { status = "okay"; compatible = "nxp,lpc-i2s"; #address-cells = <1>; #size-cells = <0>; dmas = <&dma0 2>; dma-names = "rx"; pinctrl-0 = <&pinmux_flexcomm1_i2s>; pinctrl-names = "default"; }; /* I2S transmit channel */ i2s1: &flexcomm3 { status = "okay"; compatible = "nxp,lpc-i2s"; #address-cells = <1>; #size-cells = <0>; dmas = <&dma0 7>; dma-names = "tx"; pinctrl-0 = <&pinmux_flexcomm3_i2s>; pinctrl-names = "default"; }; /* PCA9420 PMIC */ &pmic_i2c { status = "okay"; compatible = "nxp,lpc-i2c"; clock-frequency = ; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&pinmux_pmic_i2c>; pinctrl-names = "default"; pca9420: pca9420@61 { compatible = "nxp,pca9420"; reg = <0x61>; nxp,enable-modesel-pins; buck1: BUCK1 { regulator-boot-on; }; buck2: BUCK2 { regulator-boot-on; }; ldo1: LDO1 { regulator-boot-on; }; ldo2: LDO2 { regulator-boot-on; }; }; }; &flexspi { pinctrl-0 = <&pinmux_flexspi>; pinctrl-names = "default"; status = "okay"; mx25um51345g: mx25um51345g@2 { compatible = "nxp,imx-flexspi-mx25um51345g"; /* MX25UM51245G is 64MB, 512MBit flash part */ size = ; reg = <2>; spi-max-frequency = <200000000>; status = "okay"; jedec-id = [c2 81 3a]; erase-block-size = <4096>; write-block-size = <16>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; boot_partition: partition@0 { label = "mcuboot"; reg = <0x00000000 DT_SIZE_K(128)>; }; /* The MCUBoot swap-move algorithm uses the last 98 sectors * of the primary slot0 for swap status and move. */ slot0_partition: partition@20000 { label = "image-0"; reg = <0x00020000 (DT_SIZE_M(3) + DT_SIZE_K(98 * 4))>; }; slot1_partition: partition@382000 { label = "image-1"; reg = <0x00382000 DT_SIZE_M(3)>; }; storage_partition: partition@682000 { label = "storage"; reg = <0x00682000 (DT_SIZE_M(58) - DT_SIZE_K(520))>; }; }; }; }; &gpio0 { status = "okay"; }; &gpio1 { status = "okay"; }; &gpio2 { status = "okay"; }; &dma0 { status = "okay"; }; &wwdt0 { status = "okay"; }; &user_button_1 { status = "okay"; }; &user_button_2 { status = "okay"; }; &green_led { status = "okay"; }; &blue_led { status = "okay"; }; &red_led { status = "okay"; }; &sc_timer { status = "okay"; pinctrl-0 = <&pinmux_sctimer>; pinctrl-names = "default"; }; &usdhc0 { status = "okay"; /* Quick fix for 1.8V SD cards on RT600- disable 1.8V negotiation */ no-1-8-v; pwr-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; cd-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; sdmmc { compatible = "zephyr,sdmmc-disk"; status = "okay"; }; pinctrl-0 = <&pinmux_usdhc>; pinctrl-names = "default"; }; &lpadc0 { status = "okay"; pinctrl-0 = <&pinmux_lpadc0>; pinctrl-names = "default"; }; zephyr_udc0: &usbhs { status = "okay"; phy_handle = <&usbphy>; }; &usbphy { status = "okay"; tx-d-cal = <12>; tx-cal-45-dp-ohms = <6>; tx-cal-45-dm-ohms = <6>; }; &ctimer0 { status = "okay"; }; &ctimer1 { status = "okay"; }; &ctimer2 { status = "okay"; }; &ctimer3 { status = "okay"; }; &ctimer4 { status = "okay"; }; &i3c0 { pinctrl-0 = <&pinmux_i3c>; pinctrl-names = "default"; status = "okay"; }; /* Disable this node if not using USB and need another MPU region */ &sram1 { status = "okay"; };