| /* |
| * Copyright (c) 2017, NXP |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <mem.h> |
| #include <arm/armv7-m.dtsi> |
| #include <zephyr/dt-bindings/adc/adc.h> |
| #include <zephyr/dt-bindings/clock/imx_ccm.h> |
| #include <zephyr/dt-bindings/gpio/gpio.h> |
| #include <zephyr/dt-bindings/i2c/i2c.h> |
| #include <zephyr/dt-bindings/pwm/pwm.h> |
| |
| / { |
| chosen { |
| zephyr,entropy = &trng; |
| }; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-m7"; |
| d-cache-line-size = <32>; |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| mpu: mpu@e000ed90 { |
| compatible = "arm,armv7m-mpu"; |
| reg = <0xe000ed90 0x40>; |
| arm,num-mpu-regions = <16>; |
| }; |
| |
| itm: itm@e0000000 { |
| compatible = "arm,armv7m-itm"; |
| reg = <0xe0000000 0x1000>; |
| swo-ref-frequency = <132000000>; |
| }; |
| }; |
| }; |
| |
| sysclk: system-clock { |
| compatible = "fixed-clock"; |
| clock-frequency = <600000000>; |
| #clock-cells = <0>; |
| }; |
| |
| xtal: clock-xtal { |
| compatible = "fixed-clock"; |
| clock-frequency = <24000000>; |
| #clock-cells = <0>; |
| }; |
| |
| rtc_xtal: clock-rtc-xtal { |
| compatible = "fixed-clock"; |
| clock-frequency = <32768>; |
| #clock-cells = <0>; |
| }; |
| |
| /* USB PLL (selected to be FLEXSPI clock source) will be left unchanged */ |
| usbclk: usbpll-clock { |
| compatible = "fixed-clock"; |
| clock-frequency = <480000000>; |
| #clock-cells = <0>; |
| }; |
| |
| soc { |
| flexram: flexram@400b0000 { |
| compatible = "nxp,imx-flexram"; |
| reg = <0x400b0000 0x4000>; |
| interrupts = <38 0>; |
| |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| itcm: itcm@0 { |
| compatible = "zephyr,memory-region", "nxp,imx-itcm"; |
| reg = <0x00000000 DT_SIZE_K(128)>; |
| zephyr,memory-region = "ITCM"; |
| }; |
| |
| dtcm: dtcm@20000000 { |
| compatible = "zephyr,memory-region", "nxp,imx-dtcm"; |
| reg = <0x20000000 DT_SIZE_K(128)>; |
| zephyr,memory-region = "DTCM"; |
| }; |
| |
| ocram: ocram@20200000 { |
| compatible = "zephyr,memory-region", "mmio-sram"; |
| reg = <0x20200000 DT_SIZE_K(256)>; |
| zephyr,memory-region = "OCRAM"; |
| }; |
| }; |
| |
| flexspi: spi@402a8000 { |
| compatible = "nxp,imx-flexspi"; |
| reg = <0x402a8000 0x4000>; |
| interrupts = <108 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| ahb-bufferable; |
| ahb-cacheable; |
| status = "disabled"; |
| }; |
| |
| flexspi2: spi@402a4000 { |
| compatible = "nxp,imx-flexspi"; |
| reg = <0x402a4000 0x4000>; |
| interrupts = <107 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| ahb-bufferable; |
| ahb-cacheable; |
| status = "disabled"; |
| }; |
| |
| semc: semc0@402f0000 { |
| compatible = "nxp,imx-semc"; |
| reg = <0x402f0000 0x4000>; |
| interrupts = <109 0>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| }; |
| |
| /* GPT1 is used for the hardware timer, not as a standard counter */ |
| gpt_hw_timer: gpt@401ec000 { |
| compatible = "nxp,gpt-hw-timer"; |
| reg = <0x401ec000 0x4000>; |
| interrupts = <100 0>; |
| status = "disabled"; |
| }; |
| |
| gpt2: gpt@401f0000 { |
| compatible = "nxp,imx-gpt"; |
| reg = <0x401f0000 0x4000>; |
| interrupts = <101 0>; |
| gptfreq = <25000000>; |
| clocks = <&ccm IMX_CCM_GPT_CLK 0x68 24>; |
| }; |
| |
| qtmr1: qtmr@401dc000 { |
| compatible = "nxp,imx-qtmr"; |
| reg = <0x401dc000 0x7a>; |
| interrupts = <133 0>; |
| clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>; |
| qtmr1_timer0: timer0 { |
| compatible = "nxp,imx-tmr"; |
| channel = <0>; |
| status = "disabled"; |
| }; |
| qtmr1_timer1: timer1 { |
| compatible = "nxp,imx-tmr"; |
| channel = <1>; |
| status = "disabled"; |
| }; |
| qtmr1_timer2: timer2 { |
| compatible = "nxp,imx-tmr"; |
| channel = <2>; |
| status = "disabled"; |
| }; |
| qtmr1_timer3: timer3 { |
| compatible = "nxp,imx-tmr"; |
| channel = <3>; |
| status = "disabled"; |
| }; |
| }; |
| |
| qtmr2: qtmr@401e0000 { |
| compatible = "nxp,imx-qtmr"; |
| reg = <0x401e0000 0x7a>; |
| interrupts = <134 0>; |
| clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>; |
| qtmr2_timer0: timer0 { |
| compatible = "nxp,imx-tmr"; |
| channel = <0>; |
| status = "disabled"; |
| }; |
| qtmr2_timer1: timer1 { |
| compatible = "nxp,imx-tmr"; |
| channel = <1>; |
| status = "disabled"; |
| }; |
| qtmr2_timer2: timer2 { |
| compatible = "nxp,imx-tmr"; |
| channel = <2>; |
| status = "disabled"; |
| }; |
| qtmr2_timer3: timer3 { |
| compatible = "nxp,imx-tmr"; |
| channel = <3>; |
| status = "disabled"; |
| }; |
| }; |
| |
| qtmr3: qtmr@401e4000 { |
| compatible = "nxp,imx-qtmr"; |
| reg = <0x401e4000 0x7a>; |
| interrupts = <135 0>; |
| clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>; |
| qtmr3_timer0: timer0 { |
| compatible = "nxp,imx-tmr"; |
| channel = <0>; |
| status = "disabled"; |
| }; |
| qtmr3_timer1: timer1 { |
| compatible = "nxp,imx-tmr"; |
| channel = <1>; |
| status = "disabled"; |
| }; |
| qtmr3_timer2: timer2 { |
| compatible = "nxp,imx-tmr"; |
| channel = <2>; |
| status = "disabled"; |
| }; |
| qtmr3_timer3: timer3 { |
| compatible = "nxp,imx-tmr"; |
| channel = <3>; |
| status = "disabled"; |
| }; |
| }; |
| |
| qtmr4: qtmr@401e8000 { |
| compatible = "nxp,imx-qtmr"; |
| reg = <0x401e8000 0x7a>; |
| interrupts = <136 0>; |
| clocks = <&ccm IMX_CCM_QTMR_CLK 0 0>; |
| qtmr4_timer0: timer0 { |
| compatible = "nxp,imx-tmr"; |
| channel = <0>; |
| status = "disabled"; |
| }; |
| qtmr4_timer1: timer1 { |
| compatible = "nxp,imx-tmr"; |
| channel = <1>; |
| status = "disabled"; |
| }; |
| qtmr4_timer2: timer2 { |
| compatible = "nxp,imx-tmr"; |
| channel = <2>; |
| status = "disabled"; |
| }; |
| qtmr4_timer3: timer3 { |
| compatible = "nxp,imx-tmr"; |
| channel = <3>; |
| status = "disabled"; |
| }; |
| }; |
| |
| ccm: ccm@400fc000 { |
| compatible = "nxp,imx-ccm"; |
| reg = <0x400fc000 0x4000>; |
| clocks = <&xtal>, <&rtc_xtal>; |
| clock-names = "xtal", "rtc-xtal"; |
| |
| arm-podf { |
| compatible = "fixed-factor-clock"; |
| clock-div = <1>; |
| #clock-cells = <0>; |
| }; |
| |
| ahb-podf { |
| compatible = "fixed-factor-clock"; |
| clock-div = <1>; |
| #clock-cells = <0>; |
| }; |
| |
| ipg-podf { |
| compatible = "fixed-factor-clock"; |
| clock-div = <1>; |
| #clock-cells = <0>; |
| }; |
| |
| #clock-cells = <3>; |
| }; |
| |
| snvs: snvs@400d4000 { |
| compatible = "nxp,imx-snvs"; |
| reg = <0x400d4000 0x4000>; |
| |
| snvs_rtc: rtc { |
| compatible = "nxp,imx-snvs-rtc"; |
| interrupts = <46 0>; |
| }; |
| }; |
| |
| gpio1: gpio@401b8000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x401b8000 0x4000>; |
| interrupts = <80 0>, <81 0>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio2: gpio@401bc000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x401bc000 0x4000>; |
| interrupts = <82 0>, <83 0>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio3: gpio@401c0000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x401c0000 0x4000>; |
| interrupts = <84 0>, <85 0>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio4: gpio@401c4000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x401c4000 0x4000>; |
| interrupts = <86 0>, <87 0>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio5: gpio@400c0000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x400c0000 0x4000>; |
| interrupts = <88 0>, <89 0>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| /* |
| * Note: interrupts for GPIO6-9 are not currently supported |
| * by the gpio driver. |
| */ |
| gpio6: gpio@42000000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x42000000 0x4000>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio7: gpio@42004000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x42004000 0x4000>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio8: gpio@42008000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x42008000 0x4000>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| gpio9: gpio@4200c000 { |
| compatible = "nxp,imx-gpio"; |
| reg = <0x4200c000 0x4000>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| lpi2c1: i2c@403f0000 { |
| compatible = "nxp,imx-lpi2c"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x403f0000 0x4000>; |
| interrupts = <28 0>; |
| clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 6>; |
| status = "disabled"; |
| }; |
| |
| lpi2c2: i2c@403f4000 { |
| compatible = "nxp,imx-lpi2c"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x403f4000 0x4000>; |
| interrupts = <29 0>; |
| clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 8>; |
| status = "disabled"; |
| }; |
| |
| lpi2c3: i2c@403f8000 { |
| compatible = "nxp,imx-lpi2c"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x403f8000 0x4000>; |
| interrupts = <30 0>; |
| clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 10>; |
| status = "disabled"; |
| }; |
| |
| lpi2c4: i2c@403fc000 { |
| compatible = "nxp,imx-lpi2c"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x403fc000 0x4000>; |
| interrupts = <31 0>; |
| clocks = <&ccm IMX_CCM_LPI2C_CLK 0x80 24>; |
| status = "disabled"; |
| }; |
| |
| iomuxc: iomuxc@401f8000 { |
| compatible = "nxp,imx-iomuxc"; |
| reg = <0x401f8000 0x4000>; |
| status = "okay"; |
| pinctrl: pinctrl { |
| status = "okay"; |
| compatible = "nxp,mcux-rt-pinctrl"; |
| }; |
| }; |
| |
| lcdif: display-controller@402b8000 { |
| compatible = "nxp,imx-elcdif"; |
| reg = <0x402b8000 0x4000>; |
| interrupts = <42 0>; |
| status = "disabled"; |
| }; |
| |
| lpspi1: spi@40394000 { |
| compatible = "nxp,imx-lpspi"; |
| reg = <0x40394000 0x4000>; |
| interrupts = <32 3>; |
| status = "disabled"; |
| clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| }; |
| |
| lpspi2: spi@40398000 { |
| compatible = "nxp,imx-lpspi"; |
| reg = <0x40398000 0x4000>; |
| interrupts = <33 3>; |
| status = "disabled"; |
| clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 2>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| }; |
| |
| lpspi3: spi@4039c000 { |
| compatible = "nxp,imx-lpspi"; |
| reg = <0x4039c000 0x4000>; |
| interrupts = <34 3>; |
| status = "disabled"; |
| clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 4>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| }; |
| |
| lpspi4: spi@403a0000 { |
| compatible = "nxp,imx-lpspi"; |
| reg = <0x403a0000 0x4000>; |
| interrupts = <35 3>; |
| status = "disabled"; |
| clocks = <&ccm IMX_CCM_LPSPI_CLK 0x6c 6>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| }; |
| |
| lpuart1: uart@40184000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x40184000 0x4000>; |
| interrupts = <20 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x7c 24>; |
| dmas = <&edma0 1 2>, <&edma0 2 3>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart2: uart@40188000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x40188000 0x4000>; |
| interrupts = <21 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x68 28>; |
| dmas = <&edma0 3 66>, <&edma0 4 67>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart3: uart@4018c000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x4018c000 0x4000>; |
| interrupts = <22 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x68 12>; |
| dmas = <&edma0 5 4>, <&edma0 6 5>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart4: uart@40190000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x40190000 0x4000>; |
| interrupts = <23 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x6c 24>; |
| dmas = <&edma0 7 68>, <&edma0 8 69>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart5: uart@40194000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x40194000 0x4000>; |
| interrupts = <24 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x74 2>; |
| dmas = <&edma0 9 6>, <&edma0 10 7>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart6: uart@40198000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x40198000 0x4000>; |
| interrupts = <25 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x74 6>; |
| dmas = <&edma0 11 70>, <&edma0 12 71>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart7: uart@4019c000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x4019c000 0x4000>; |
| interrupts = <26 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x7c 26>; |
| dmas = <&edma0 13 8>, <&edma0 14 9>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| lpuart8: uart@401a0000 { |
| compatible = "nxp,kinetis-lpuart"; |
| reg = <0x401a0000 0x4000>; |
| interrupts = <27 0>; |
| clocks = <&ccm IMX_CCM_LPUART_CLK 0x80 14>; |
| dmas = <&edma0 15 72>, <&edma0 16 73>; |
| dma-names = "tx", "rx"; |
| status = "disabled"; |
| }; |
| |
| adc1: adc@400c4000 { |
| compatible = "nxp,mcux-12b1msps-sar"; |
| reg = <0x400C4000 0x1000>; |
| interrupts = <67 0>; |
| clk-divider = <1>; |
| sample-period-mode = <0>; |
| status = "disabled"; |
| #io-channel-cells = <1>; |
| }; |
| |
| adc2: adc@400c8000 { |
| compatible = "nxp,mcux-12b1msps-sar"; |
| reg = <0x400C8000 0x1000>; |
| interrupts = <68 0>; |
| clk-divider = <1>; |
| sample-period-mode = <0>; |
| status = "disabled"; |
| #io-channel-cells = <1>; |
| }; |
| |
| flexpwm1: flexpwm@403dc000 { |
| compatible = "nxp,flexpwm"; |
| reg = <0x403dc000 0x4000>; |
| interrupts = <106 0>; |
| |
| flexpwm1_pwm0: pwm0 { |
| compatible = "nxp,imx-pwm"; |
| index = <0>; |
| interrupts = <102 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm1_pwm1: pwm1 { |
| compatible = "nxp,imx-pwm"; |
| index = <1>; |
| interrupts = <103 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm1_pwm2: pwm2 { |
| compatible = "nxp,imx-pwm"; |
| index = <2>; |
| interrupts = <104 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm1_pwm3: pwm3 { |
| compatible = "nxp,imx-pwm"; |
| index = <3>; |
| interrupts = <105 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| }; |
| |
| flexpwm2: flexpwm@403e0000 { |
| compatible = "nxp,flexpwm"; |
| reg = <0x403e0000 0x4000>; |
| interrupts = <141 0>; |
| |
| flexpwm2_pwm0: pwm0 { |
| compatible = "nxp,imx-pwm"; |
| index = <0>; |
| interrupts = <137 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm2_pwm1: pwm1 { |
| compatible = "nxp,imx-pwm"; |
| index = <1>; |
| interrupts = <138 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm2_pwm2: pwm2 { |
| compatible = "nxp,imx-pwm"; |
| index = <2>; |
| interrupts = <139 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm2_pwm3: pwm3 { |
| compatible = "nxp,imx-pwm"; |
| index = <3>; |
| interrupts = <140 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| }; |
| |
| flexpwm3: flexpwm@403e4000 { |
| compatible = "nxp,flexpwm"; |
| reg = <0x403e4000 0x4000>; |
| interrupts = <146 0>; |
| |
| flexpwm3_pwm0: pwm0 { |
| compatible = "nxp,imx-pwm"; |
| index = <0>; |
| interrupts = <142 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm3_pwm1: pwm1 { |
| compatible = "nxp,imx-pwm"; |
| index = <1>; |
| interrupts = <143 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm3_pwm2: pwm2 { |
| compatible = "nxp,imx-pwm"; |
| index = <2>; |
| interrupts = <144 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm3_pwm3: pwm3 { |
| compatible = "nxp,imx-pwm"; |
| index = <3>; |
| interrupts = <145 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| }; |
| |
| flexpwm4: flexpwm@403e8000 { |
| compatible = "nxp,flexpwm"; |
| reg = <0x403e8000 0x4000>; |
| interrupts = <151 0>; |
| |
| flexpwm4_pwm0: pwm0 { |
| compatible = "nxp,imx-pwm"; |
| index = <0>; |
| interrupts = <147 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm4_pwm1: pwm1 { |
| compatible = "nxp,imx-pwm"; |
| index = <1>; |
| interrupts = <148 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm4_pwm2: pwm2 { |
| compatible = "nxp,imx-pwm"; |
| index = <2>; |
| interrupts = <149 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| |
| flexpwm4_pwm3: pwm3 { |
| compatible = "nxp,imx-pwm"; |
| index = <3>; |
| interrupts = <150 0>; |
| #pwm-cells = <3>; |
| clocks = <&ccm IMX_CCM_PWM_CLK 0 0>; |
| nxp,prescaler = <128>; |
| status = "disabled"; |
| }; |
| }; |
| |
| enet: ethernet@402d8000 { |
| compatible = "nxp,kinetis-ethernet"; |
| reg = <0x402D8000 0x628>; |
| interrupts = <114 0>; |
| interrupt-names = "COMMON"; |
| status = "disabled"; |
| phy-addr = <0>; |
| ptp: ptp { |
| compatible = "nxp,kinetis-ptp"; |
| status = "disabled"; |
| interrupts = <115 0>; |
| interrupt-names = "IEEE1588_TMR"; |
| }; |
| }; |
| |
| src: reset-controller@400f8000 { |
| compatible = "nxp,imx-src"; |
| reg = <0x400f8000 0x4000>; |
| status = "okay"; |
| }; |
| |
| trng: random@400cc000 { |
| compatible = "nxp,kinetis-trng"; |
| reg = <0x400cc000 0x4000>; |
| status = "okay"; |
| interrupts = <53 0>; |
| }; |
| |
| usb1: usbd@402e0000 { |
| compatible = "nxp,mcux-usbd"; |
| reg = <0x402E0000 0x200>; |
| interrupts = <113 1>; |
| interrupt-names = "usb_otg"; |
| clocks = <&usbclk>; |
| num-bidir-endpoints = <8>; |
| usb-controller-index = "Ehci0"; |
| status = "disabled"; |
| }; |
| |
| usb2: usbd@402e0200 { |
| compatible = "nxp,mcux-usbd"; |
| reg = <0x402E0200 0x200>; |
| interrupts = <112 1>; |
| interrupt-names = "usb_otg"; |
| clocks = <&usbclk>; |
| num-bidir-endpoints = <8>; |
| usb-controller-index = "Ehci1"; |
| status = "disabled"; |
| }; |
| |
| usdhc1: usdhc@402c0000 { |
| compatible = "nxp,imx-usdhc"; |
| reg = <0x402c0000 0x4000>; |
| status = "disabled"; |
| interrupts = <110 0>; |
| clocks = <&ccm IMX_CCM_USDHC1_CLK 0 0>; |
| max-current-330 = <1020>; |
| max-current-180 = <1020>; |
| max-bus-freq = <208000000>; |
| min-bus-freq = <400000>; |
| }; |
| |
| usdhc2: usdhc@402c4000 { |
| compatible = "nxp,imx-usdhc"; |
| reg = <0x402c4000 0x4000>; |
| status = "disabled"; |
| interrupts = <111 0>; |
| clocks = <&ccm IMX_CCM_USDHC2_CLK 0 0>; |
| max-current-330 = <120>; |
| max-current-180 = <45>; |
| max-bus-freq = <198000000>; |
| min-bus-freq = <400000>; |
| }; |
| |
| csi: csi@402bc000 { |
| compatible = "nxp,imx-csi"; |
| reg = <0x402BC000 0x4000>; |
| interrupts = <43 1>; |
| status = "disabled"; |
| }; |
| |
| edma0: dma-controller@400e8000 { |
| #dma-cells = <2>; |
| compatible = "nxp,mcux-edma"; |
| dma-channels = <32>; |
| dma-requests = <128>; |
| nxp,mem2mem; |
| nxp,a_on; |
| reg = <0x400E8000 0x4000>, |
| <0x400EC000 0x4000>; |
| interrupts = <0 0>, <1 0>, <2 0>, <3 0>, |
| <4 0>, <5 0>, <6 0>, <7 0>, |
| <8 0>, <9 0>, <10 0>, <11 0>, |
| <12 0>, <13 0>, <14 0>, <15 0>, |
| <16 0>; |
| clocks = <&ccm IMX_CCM_EDMA_CLK 0x7C 0x000000C0>; |
| status = "disabled"; |
| }; |
| |
| flexcan1: can@401d0000 { |
| compatible = "nxp,flexcan"; |
| reg = <0x401d0000 0x1000>; |
| interrupts = <36 0>; |
| interrupt-names = "common"; |
| clocks = <&ccm IMX_CCM_CAN_CLK 0x68 14>; |
| clk-source = <2>; |
| sjw = <1>; |
| sample-point = <875>; |
| status = "disabled"; |
| }; |
| |
| flexcan2: can@401d4000 { |
| compatible = "nxp,flexcan"; |
| reg = <0x401d4000 0x1000>; |
| interrupts = <37 0>; |
| interrupt-names = "common"; |
| clocks = <&ccm IMX_CCM_CAN_CLK 0x68 18>; |
| clk-source = <2>; |
| sjw = <1>; |
| sample-point = <875>; |
| status = "disabled"; |
| }; |
| |
| flexcan3: can@401d8000 { |
| compatible = "nxp,flexcan-fd", "nxp,flexcan"; |
| reg = <0x401d8000 0x1000>; |
| interrupts = <154 0>; |
| interrupt-names = "common"; |
| clocks = <&ccm IMX_CCM_CAN_CLK 0x84 6>; |
| clk-source = <2>; |
| sjw = <1>; |
| sjw-data = <1>; |
| sample-point = <875>; |
| sample-point-data = <875>; |
| status = "disabled"; |
| }; |
| |
| wdog0: wdog@400b8000 { |
| compatible = "nxp,imx-wdog"; |
| reg = <0x400b8000 0xA>; |
| status = "disabled"; |
| interrupts = <92 0>; |
| }; |
| |
| wdog1: wdog@400d0000 { |
| compatible = "nxp,imx-wdog"; |
| reg = <0x400d0000 0xA>; |
| status = "disabled"; |
| interrupts = <45 0>; |
| }; |
| |
| anatop: anatop@400d8000 { |
| compatible = "nxp,imx-anatop"; |
| reg = <0x400d8000 0x4000>; |
| #clock-cells = <4>; |
| #pll-clock-cells = <3>; |
| }; |
| |
| iomuxcgpr: iomuxcgpr@400ac000 { |
| compatible = "nxp,imx-gpr"; |
| reg = <0x400AC000 0x4000>; |
| #pinmux-cells = <2>; |
| }; |
| |
| sai1: sai@40384000 { |
| compatible = "nxp,mcux-i2s"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| #pinmux-cells = <2>; |
| reg = <0x40384000 0x4000>; |
| clocks = <&ccm IMX_CCM_SAI1_CLK 0x7C 18>; |
| /* Audio PLL Output Frequency is determined by: |
| * (Fref * (DIV_SELECT + NUM/DENOM)) / POST_DIV |
| * = (24MHz * (32 + 77 / 100)) / 1 = 786.48 MHz |
| */ |
| pll-clocks = <&anatop 0x70 0xC000 0>, |
| <&anatop 0x70 0x7F 32>, |
| <&anatop 0x70 0x180000 1>, |
| <&anatop 0x80 0x3FFFFFFF 77>, |
| <&anatop 0x90 0x3FFFFFFF 100>; |
| pll-clock-names = "src", "lp", "pd", "num", "den"; |
| /* The maximum input frequency into the SAI mclk input is 300MHz |
| * Based on this requirement, pre-div must be at least 3 |
| * The pre-div and post-div are one less than the actual divide-by amount. |
| * A pre-div value of 0x1 results in a pre-divider of |
| * (1+1) = 2 |
| */ |
| pre-div = <0x3>; |
| podf = <0x0F>; |
| pinmuxes = <&iomuxcgpr 0x4 0x80000>; |
| interrupts = <56 0>; |
| dmas = <&edma0 0 19>, <&edma0 0 20>; |
| dma-names = "rx", "tx"; |
| /* This translates to SAIChannelMask (fsl_sai.c) and |
| * cannot be 0 |
| */ |
| nxp,tx-channel = <1>; |
| nxp,tx-dma-channel = <0>; |
| nxp,rx-dma-channel = <1>; |
| status = "disabled"; |
| }; |
| |
| sai2: sai@40388000 { |
| compatible = "nxp,mcux-i2s"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| #pinmux-cells = <2>; |
| reg = <0x40388000 0x4000>; |
| clocks = <&ccm IMX_CCM_SAI2_CLK 0x7C 20>; |
| pre-div = <0>; |
| podf = <63>; |
| pll-clocks = <&anatop 0x70 0xC000 0x0>, |
| <&anatop 0x70 0x7F 32>, |
| <&anatop 0x70 0x180000 1>, |
| <&anatop 0x80 0x3FFFFFFF 77>, |
| <&anatop 0x90 0x3FFFFFFF 100>; |
| pll-clock-names = "src", "lp", "pd", "num", "den"; |
| pinmuxes = <&iomuxcgpr 0x4 0x100000>; |
| interrupts = <57 0>; |
| dmas = <&edma0 0 21>, <&edma0 0 22>; |
| dma-names = "rx", "tx"; |
| nxp,tx-channel = <0>; |
| nxp,tx-dma-channel = <3>; |
| nxp,rx-dma-channel = <4>; |
| status = "disabled"; |
| }; |
| |
| sai3: sai@4038c000 { |
| compatible = "nxp,mcux-i2s"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| #pinmux-cells = <2>; |
| reg = <0x4038C000 0x4000>; |
| clocks = <&ccm IMX_CCM_SAI3_CLK 0x7C 22>; |
| pre-div = <0>; |
| podf = <63>; |
| pll-clocks = <&anatop 0x70 0xC000 0>, |
| <&anatop 0x70 0x7F 32>, |
| <&anatop 0x70 0x180000 1>, |
| <&anatop 0x80 0x3FFFFFFF 77>, |
| <&anatop 0x90 0x3FFFFFFF 100>; |
| pll-clock-names = "src", "lp", "pd", "num", "den"; |
| pinmuxes = <&iomuxcgpr 0x4 0x200000>; |
| interrupts = <58 0>, <59 0>; |
| dmas = <&edma0 0 83>, <&edma0 0 84>; |
| dma-names = "rx", "tx"; |
| nxp,tx-channel = <0>; |
| nxp,tx-dma-channel = <5>; |
| nxp,rx-dma-channel = <6>; |
| status = "disabled"; |
| }; |
| |
| qdec1: qdec@403c8000 { |
| compatible = "nxp,mcux-qdec"; |
| reg = <0x403c8000 0x4000>; |
| interrupts = <129 0>; |
| status = "disabled"; |
| }; |
| |
| qdec2: qdec@403cc000 { |
| compatible = "nxp,mcux-qdec"; |
| reg = <0x403cc000 0x4000>; |
| interrupts = <130 0>; |
| status = "disabled"; |
| }; |
| |
| qdec3: qdec@403d0000 { |
| compatible = "nxp,mcux-qdec"; |
| reg = <0x403d0000 0x4000>; |
| interrupts = <131 0>; |
| status = "disabled"; |
| }; |
| |
| qdec4: qdec@403d4000 { |
| compatible = "nxp,mcux-qdec"; |
| reg = <0x403d4000 0x4000>; |
| interrupts = <132 0>; |
| status = "disabled"; |
| }; |
| |
| xbar1: xbar1@403bc000 { |
| compatible = "nxp,mcux-xbar"; |
| reg = <0x403bc000 0x4000>; |
| interrupts = <116 0>, <117 0>; |
| status = "disabled"; |
| }; |
| |
| xbar2: xbar2@403c0000 { |
| compatible = "nxp,mcux-xbar"; |
| reg = <0x403c0000 0x4000>; |
| status = "disabled"; |
| }; |
| |
| xbar3: xbar3@403c4000 { |
| compatible = "nxp,mcux-xbar"; |
| reg = <0x403c4000 0x4000>; |
| status = "disabled"; |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <4>; |
| }; |
| |
| &systick { |
| /* |
| * RT10xx relies by default on the GPT Timer for system clock |
| * implementation, so the SysTick node should not be enabled. |
| */ |
| status = "disabled"; |
| }; |