blob: 18d49d1c984eab55e2f8b7882de4a8aa80a49cbe [file] [log] [blame]
/*
* Copyright (c) 2021, NXP
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <mem.h>
#include <arm/armv7-m.dtsi>
#include <zephyr/dt-bindings/clock/imx_ccm_rev2.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/pwm/pwm.h>
#include <zephyr/dt-bindings/pm/imx_spc.h>
#include <zephyr/dt-bindings/mipi_dsi/mipi_dsi.h>
/ {
chosen {
zephyr,entropy = &caam;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-m7";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
d-cache-line-size = <32>;
mpu: mpu@e000ed90 {
compatible = "arm,armv7m-mpu";
reg = <0xe000ed90 0x40>;
arm,num-mpu-regions = <16>;
};
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-m4f";
reg = <1>;
d-cache-line-size = <32>;
#address-cells = <1>;
#size-cells = <1>;
mpu: mpu@e000ed90 {
compatible = "arm,armv7m-mpu";
reg = <0xe000ed90 0x40>;
arm,num-mpu-regions = <16>;
};
};
};
power-states {
/*
* Power states are managed with set points (see page 30-35 of RT1170
* datasheet). These set points correspond to various power
* savings, and associated transition (residency) times.
*
* Set points 1 and 10 were chosen as sane defaults to offer
* limited power savings and quick transitions when entering idle for
* short periods, and better power savings with longer transition
* times for long idle periods
*/
idle: set_point_1_wait {
/* idle corresponds to set point 1 (wait) for RT1170 */
compatible = "zephyr,power-state";
power-state-name="runtime-idle";
substate-id = <IMX_SPC_SET_POINT_1_WAIT>;
min-residency-us = <100>;
};
suspend: set_point_10_suspend {
/* suspend corresponds to set point 10 for RT1170 */
compatible = "zephyr,power-state";
power-state-name="suspend-to-idle";
substate-id = <IMX_SPC_SET_POINT_10_SUSPEND>;
min-residency-us = <5000>;
exit-latency-us = <500>;
};
};
xtal: xtal-osc {
compatible = "fixed-clock";
clock-frequency = <24000000>;
#clock-cells = <0>;
};
soc {
flexspi: spi@400cc000 {
compatible = "nxp,imx-flexspi";
reg = <0x400cc000 0x4000>;
interrupts = <130 0>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
flexspi2: spi@400d0000 {
compatible = "nxp,imx-flexspi";
reg = <0x400d0000 0x4000>;
interrupts = <131 0>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
semc: semc0@400d4000 {
compatible = "nxp,imx-semc";
reg = <0x400d4000 0x4000>;
interrupts = <132 0>;
#address-cells = <1>;
#size-cells = <1>;
};
/* GPT1 is used for the hardware timer, not as a standard counter */
gpt_hw_timer: gpt@400ec000 {
compatible = "nxp,gpt-hw-timer";
reg = <0x400ec000 0x4000>;
interrupts = <119 0>;
status = "disabled";
};
gpt2: gpt@400f0000 {
compatible = "nxp,imx-gpt";
reg = <0x400f0000 0x4000>;
interrupts = <120 0>;
gptfreq = <24000000>;
clocks = <&ccm IMX_CCM_GPT_CLK 0x41 0>;
};
gpt3: gpt@400f4000 {
compatible = "nxp,imx-gpt";
reg = <0x400f4000 0x4000>;
interrupts = <121 0>;
gptfreq = <24000000>;
clocks = <&ccm IMX_CCM_GPT_CLK 0x42 0>;
};
gpt4: gpt@400f8000 {
compatible = "nxp,imx-gpt";
reg = <0x400f8000 0x4000>;
interrupts = <122 0>;
gptfreq = <24000000>;
clocks = <&ccm IMX_CCM_GPT_CLK 0x43 0>;
};
gpt5: gpt@400fc000 {
compatible = "nxp,imx-gpt";
reg = <0x400fc000 0x4000>;
interrupts = <123 0>;
gptfreq = <24000000>;
clocks = <&ccm IMX_CCM_GPT_CLK 0x44 0>;
};
gpt6: gpt@40100000 {
compatible = "nxp,imx-gpt";
reg = <0x40100000 0x4000>;
interrupts = <124 0>;
gptfreq = <24000000>;
clocks = <&ccm IMX_CCM_GPT_CLK 0x45 0>;
};
ccm: ccm@40cc0000 {
compatible = "nxp,imx-ccm-rev2";
reg = <0x40cc0000 0x4000>;
#clock-cells = <3>;
};
gpio1: gpio@4012c000 {
compatible = "nxp,imx-gpio";
reg = <0x4012c000 0x4000>;
interrupts = <100 0>, <101 0>;
gpio-controller;
#gpio-cells = <2>;
};
/*
* Note that CM7 and CM4 cores do not have the same memory addresses
* for GPIO2 and GPIO3, so those peripherals are defined in the SOC
* specific DTS files
*/
gpio4: gpio@40138000 {
compatible = "nxp,imx-gpio";
reg = <0x40138000 0x4000>;
interrupts = <106 0>, <107 0>;
gpio-controller;
#gpio-cells = <2>;
};
gpio5: gpio@4013c000 {
compatible = "nxp,imx-gpio";
reg = <0x4013c000 0x4000>;
interrupts = <108 0>, <109 0>;
gpio-controller;
#gpio-cells = <2>;
};
gpio6: gpio@40140000 {
compatible = "nxp,imx-gpio";
reg = <0x40140000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio7: gpio@40c5c000 {
compatible = "nxp,imx-gpio";
reg = <0x40c5c000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio8: gpio@40c60000 {
compatible = "nxp,imx-gpio";
reg = <0x40c60000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio9: gpio@40c64000 {
compatible = "nxp,imx-gpio";
reg = <0x40c64000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio10: gpio@40c68000 {
compatible = "nxp,imx-gpio";
reg = <0x40c68000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio11: gpio@40c6c000 {
compatible = "nxp,imx-gpio";
reg = <0x40c6c000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio12: gpio@40c70000 {
compatible = "nxp,imx-gpio";
reg = <0x40c70000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
gpio13: gpio@40ca0000 {
compatible = "nxp,imx-gpio";
reg = <0x40ca0000 0x4000>;
interrupts = <93 0>;
gpio-controller;
#gpio-cells = <2>;
};
lpi2c1: i2c@40104000 {
compatible = "nxp,imx-lpi2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x40104000 0x4000>;
interrupts = <32 0>;
clocks = <&ccm IMX_CCM_LPI2C1_CLK 0x70 6>;
status = "disabled";
};
lpi2c2: i2c@40108000 {
compatible = "nxp,imx-lpi2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x40108000 0x4000>;
interrupts = <33 0>;
clocks = <&ccm IMX_CCM_LPI2C2_CLK 0x70 8>;
status = "disabled";
};
lpi2c3: i2c@4010c000 {
compatible = "nxp,imx-lpi2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x4010c000 0x4000>;
interrupts = <34 0>;
clocks = <&ccm IMX_CCM_LPI2C3_CLK 0x70 10>;
status = "disabled";
};
lpi2c4: i2c@40110000 {
compatible = "nxp,imx-lpi2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x40110000 0x4000>;
interrupts = <35 0>;
clocks = <&ccm IMX_CCM_LPI2C4_CLK 0x80 24>;
status = "disabled";
};
lpi2c5: i2c@40c34000 {
compatible = "nxp,imx-lpi2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x40c34000 0x4000>;
interrupts = <36 0>;
clocks = <&ccm IMX_CCM_LPI2C5_CLK 0x80 24>;
status = "disabled";
};
lpi2c6: i2c@40c38000 {
compatible = "nxp,imx-lpi2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x40c38000 0x4000>;
interrupts = <37 0>;
clocks = <&ccm IMX_CCM_LPI2C6_CLK 0x80 24>;
status = "disabled";
};
iomuxc: iomuxc@400e8000 {
compatible = "nxp,imx-iomuxc";
reg = <0x400e8000 0x4000>;
status = "okay";
pinctrl: pinctrl {
status = "okay";
compatible = "nxp,mcux-rt11xx-pinctrl";
};
};
iomuxc_lpsr: iomuxc_lpsr@40c08000 {
compatible = "nxp,mcux-rt-pinctrl";
reg = <0x40c08000 0x4000>;
status = "disabled";
};
iomuxc_lpsr_gpr: iomuxc_lpsr_gpr@40c08000 {
compatible = "nxp,imx-gpr";
reg = <0x40c08000 0x4000>;
#pinmux-cells = <2>;
};
lcdif: display-controller@40804000 {
compatible = "nxp,imx-elcdif";
reg = <0x40804000 0x4000>;
interrupts = <54 0>;
status = "disabled";
};
mipi_dsi: mipi-dsi@4080c000 {
compatible = "nxp,imx-mipi-dsi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x4080c000 0x200>,
<0x4080c200 0x80>,
<0x4080c280 0x80>,
<0x4080c300 0x200>;
interrupts = <59 1>;
status = "disabled";
};
lpspi1: spi@40114000 {
compatible = "nxp,imx-lpspi";
reg = <0x40114000 0x4000>;
interrupts = <38 3>;
status = "disabled";
clocks = <&ccm IMX_CCM_LPSPI1_CLK 0x6c 0>;
#address-cells = <1>;
#size-cells = <0>;
};
lpspi2: spi@40118000 {
compatible = "nxp,imx-lpspi";
reg = <0x40118000 0x4000>;
interrupts = <39 3>;
status = "disabled";
clocks = <&ccm IMX_CCM_LPSPI2_CLK 0x6c 2>;
#address-cells = <1>;
#size-cells = <0>;
};
lpspi3: spi@4011c000 {
compatible = "nxp,imx-lpspi";
reg = <0x4011c000 0x4000>;
interrupts = <40 3>;
status = "disabled";
clocks = <&ccm IMX_CCM_LPSPI3_CLK 0x6c 4>;
#address-cells = <1>;
#size-cells = <0>;
};
lpspi4: spi@40120000 {
compatible = "nxp,imx-lpspi";
reg = <0x40120000 0x4000>;
interrupts = <41 3>;
status = "disabled";
clocks = <&ccm IMX_CCM_LPSPI4_CLK 0x6c 6>;
#address-cells = <1>;
#size-cells = <0>;
};
lpspi5: spi@40c2c000 {
compatible = "nxp,imx-lpspi";
reg = <0x40c2c000 0x4000>;
interrupts = <42 3>;
status = "disabled";
clocks = <&ccm IMX_CCM_LPSPI5_CLK 0x6c 6>;
#address-cells = <1>;
#size-cells = <0>;
};
lpspi6: spi@40c30000 {
compatible = "nxp,imx-lpspi";
reg = <0x40c30000 0x4000>;
interrupts = <43 3>;
status = "disabled";
clocks = <&ccm IMX_CCM_LPSPI6_CLK 0x6c 6>;
#address-cells = <1>;
#size-cells = <0>;
};
lpuart1: uart@4007c000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x4007c000 0x4000>;
interrupts = <20 0>;
clocks = <&ccm IMX_CCM_LPUART1_CLK 0x7c 24>;
status = "disabled";
};
lpuart2: uart@40080000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40080000 0x4000>;
interrupts = <21 0>;
clocks = <&ccm IMX_CCM_LPUART2_CLK 0x68 28>;
status = "disabled";
};
lpuart3: uart@40084000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40084000 0x4000>;
interrupts = <22 0>;
clocks = <&ccm IMX_CCM_LPUART3_CLK 0x68 12>;
status = "disabled";
};
lpuart4: uart@40088000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40088000 0x4000>;
interrupts = <23 0>;
clocks = <&ccm IMX_CCM_LPUART4_CLK 0x6c 24>;
status = "disabled";
};
lpuart5: uart@4008c000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x4008c000 0x4000>;
interrupts = <24 0>;
clocks = <&ccm IMX_CCM_LPUART5_CLK 0x74 2>;
status = "disabled";
};
lpuart6: uart@40090000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40090000 0x4000>;
interrupts = <25 0>;
clocks = <&ccm IMX_CCM_LPUART6_CLK 0x74 6>;
status = "disabled";
};
lpuart7: uart@40094000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40094000 0x4000>;
interrupts = <26 0>;
clocks = <&ccm IMX_CCM_LPUART7_CLK 0x7c 26>;
status = "disabled";
};
lpuart8: uart@40098000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40098000 0x4000>;
interrupts = <27 0>;
clocks = <&ccm IMX_CCM_LPUART8_CLK 0x80 14>;
status = "disabled";
};
lpuart9: uart@4009c000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x4009c000 0x4000>;
interrupts = <28 0>;
clocks = <&ccm IMX_CCM_LPUART9_CLK 0x80 14>;
status = "disabled";
};
lpuart10: uart@400a0000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x400a0000 0x4000>;
interrupts = <29 0>;
clocks = <&ccm IMX_CCM_LPUART10_CLK 0x80 14>;
status = "disabled";
};
lpuart11: uart@40c24000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40c24000 0x4000>;
interrupts = <30 0>;
clocks = <&ccm IMX_CCM_LPUART11_CLK 0x80 14>;
status = "disabled";
};
lpuart12: uart@40c28000 {
compatible = "nxp,kinetis-lpuart";
reg = <0x40c28000 0x4000>;
interrupts = <31 0>;
clocks = <&ccm IMX_CCM_LPUART12_CLK 0x80 14>;
status = "disabled";
};
flexpwm1: flexpwm@4018c000 {
compatible = "nxp,flexpwm";
reg = <0x4018c000 0x4000>;
interrupts = <129 0>;
flexpwm1_pwm0: pwm0 {
compatible = "nxp,imx-pwm";
index = <0>;
interrupts = <125 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm1_pwm1: pwm1 {
compatible = "nxp,imx-pwm";
index = <1>;
interrupts = <126 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm1_pwm2: pwm2 {
compatible = "nxp,imx-pwm";
index = <2>;
interrupts = <127 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm1_pwm3: pwm3 {
compatible = "nxp,imx-pwm";
index = <3>;
interrupts = <128 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
};
flexpwm2: flexpwm@40190000 {
compatible = "nxp,flexpwm";
reg = <0x40190000 0x4000>;
interrupts = <181 0>;
flexpwm2_pwm0: pwm0 {
compatible = "nxp,imx-pwm";
index = <0>;
interrupts = <177 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm2_pwm1: pwm1 {
compatible = "nxp,imx-pwm";
index = <1>;
interrupts = <178 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm2_pwm2: pwm2 {
compatible = "nxp,imx-pwm";
index = <2>;
interrupts = <179 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm2_pwm3: pwm3 {
compatible = "nxp,imx-pwm";
index = <3>;
interrupts = <180 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
};
flexpwm3: flexpwm@40194000 {
compatible = "nxp,flexpwm";
reg = <0x40194000 0x4000>;
interrupts = <186 0>;
flexpwm3_pwm0: pwm0 {
compatible = "nxp,imx-pwm";
index = <0>;
interrupts = <182 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm3_pwm1: pwm1 {
compatible = "nxp,imx-pwm";
index = <1>;
interrupts = <183 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm3_pwm2: pwm2 {
compatible = "nxp,imx-pwm";
index = <2>;
interrupts = <184 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm3_pwm3: pwm3 {
compatible = "nxp,imx-pwm";
index = <3>;
interrupts = <185 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
};
flexpwm4: flexpwm@40198000 {
compatible = "nxp,flexpwm";
reg = <0x40198000 0x4000>;
interrupts = <191 0>;
flexpwm4_pwm0: pwm0 {
compatible = "nxp,imx-pwm";
index = <0>;
interrupts = <187 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm4_pwm1: pwm1 {
compatible = "nxp,imx-pwm";
index = <1>;
interrupts = <188 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm4_pwm2: pwm2 {
compatible = "nxp,imx-pwm";
index = <2>;
interrupts = <189 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
flexpwm4_pwm3: pwm3 {
compatible = "nxp,imx-pwm";
index = <3>;
interrupts = <190 0>;
#pwm-cells = <2>;
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
nxp,prescaler = <128>;
status = "disabled";
};
};
enet: ethernet@40424000 {
compatible = "nxp,kinetis-ethernet";
reg = <0x40424000 0x628>;
interrupts = <137 0>;
interrupt-names = "COMMON";
status = "disabled";
phy-addr = <2>;
ptp: ptp {
compatible = "nxp,kinetis-ptp";
status = "disabled";
interrupts = <138 0>;
interrupt-names = "IEEE1588_TMR";
};
};
/*
* enet1g peripheral to use with kinetis-ethernet (eth_mcux) driver
* just like the enet peripheral (i.e. only 10/100Mbit for now)
*/
enet1g: ethernet@40420000 {
compatible = "nxp,kinetis-ethernet";
reg = <0x40420000 0x628>;
interrupts = <141 0>;
interrupt-names = "COMMON";
status = "disabled";
phy-addr = <1>;
ptp1g: ptp {
compatible = "nxp,kinetis-ptp";
status = "disabled";
interrupts = <142 0>;
interrupt-names = "IEEE1588_TMR";
};
};
caam: caam@40440000 {
compatible = "nxp,imx-caam";
reg = <0x40440000 0x81000>;
interrupts = <69 0>, <70 0>, <71 0>,
<72 0>, <73 0>, <74 0>;
status = "okay";
};
usb1: usbd@40430000 {
compatible = "nxp,mcux-usbd";
reg = <0x40430000 0x200>;
interrupts = <136 1>;
interrupt-names = "usb_otg";
clocks = <&xtal>;
num-bidir-endpoints = <8>;
usb-controller-index = "Ehci0";
status = "disabled";
};
usb2: usbd@4042c000 {
compatible = "nxp,mcux-usbd";
reg = <0x4042c000 0x200>;
interrupts = <135 1>;
interrupt-names = "usb_otg";
clocks = <&xtal>;
num-bidir-endpoints = <8>;
usb-controller-index = "Ehci1";
status = "disabled";
};
usdhc1: usdhc@40418000 {
compatible = "nxp,imx-usdhc";
reg = <0x40418000 0x4000>;
status = "disabled";
interrupts = <133 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@4041c000 {
compatible = "nxp,imx-usdhc";
reg = <0x4041c000 0x4000>;
status = "disabled";
interrupts = <134 0>;
clocks = <&ccm IMX_CCM_USDHC2_CLK 0 0>;
max-current-330 = <1020>;
max-current-180 = <1020>;
max-bus-freq = <208000000>;
min-bus-freq = <400000>;
};
csi: csi@40800000 {
compatible = "nxp,imx-csi";
reg = <0x40800000 0x4000>;
interrupts = <56 1>;
status = "disabled";
};
flexcan1: can@400c4000 {
compatible = "nxp,kinetis-flexcan";
reg = <0x400c4000 0x1000>;
interrupts = <44 0>, <45 0>;
interrupt-names = "common", "error";
clocks = <&ccm IMX_CCM_CAN1_CLK 0x68 14>;
clk-source = <0>;
sjw = <1>;
sample-point = <875>;
status = "disabled";
};
flexcan2: can@400c8000 {
compatible = "nxp,kinetis-flexcan";
reg = <0x400c8000 0x1000>;
interrupts = <46 0>, <47 0>;
interrupt-names = "common", "error";
clocks = <&ccm IMX_CCM_CAN2_CLK 0x68 18>;
clk-source = <0>;
sjw = <1>;
sample-point = <875>;
status = "disabled";
};
flexcan3: can@40c3c000 {
compatible = "nxp,kinetis-flexcan";
reg = <0x40c3c000 0x1000>;
interrupts = <48 0>, <49 0>;
interrupt-names = "common", "error";
clocks = <&ccm IMX_CCM_CAN3_CLK 0x84 6>;
clk-source = <0>;
sjw = <1>;
sample-point = <875>;
status = "disabled";
};
wdog1: wdog@40030000 {
compatible = "nxp,imx-wdog";
reg = <0x40030000 0xA>;
status = "disabled";
interrupts = <112 0>;
};
ocram: ocram@20200000 {
compatible = "zephyr,memory-region", "mmio-sram";
zephyr,memory-region = "OCRAM";
reg = <0x20200000 DT_SIZE_K(256)>;
};
ocram1: ocram@20240000 {
compatible = "zephyr,memory-region", "mmio-sram";
zephyr,memory-region = "OCRAM1";
reg = <0x20240000 DT_SIZE_K(512)>;
};
ocram2: ocram@202c0000 {
compatible = "zephyr,memory-region", "mmio-sram";
zephyr,memory-region = "OCRAM2";
reg = <0x202c0000 DT_SIZE_K(512)>;
};
lpadc0: lpadc@40050000 {
compatible = "nxp,lpc-lpadc";
reg = <0x40050000 0x304>;
interrupts = <88 0>;
status = "disabled";
clk-divider = <8>;
clk-source = <0>;
voltage-ref= <2>;
calibration-average = <128>;
power-level = <1>;
offset-value-a = <10>;
offset-value-b = <10>;
#io-channel-cells = <1>;
};
lpadc1: lpadc@40054000 {
compatible = "nxp,lpc-lpadc";
reg = <0x40054000 0x304>;
interrupts = <89 0>;
status = "disabled";
clk-divider = <8>;
clk-source = <0>;
voltage-ref= <2>;
calibration-average = <128>;
power-level = <1>;
offset-value-a = <10>;
offset-value-b = <10>;
#io-channel-cells = <1>;
};
acmp1: cmp@401a4000 {
compatible = "nxp,kinetis-acmp";
reg = <0x401a4000 0x4000>;
interrupts = <157 0>;
status = "disabled";
#io-channel-cells = <2>;
};
acmp2: cmp@401a8000 {
compatible = "nxp,kinetis-acmp";
reg = <0x401a8000 0x4000>;
interrupts = <158 0>;
status = "disabled";
#io-channel-cells = <2>;
};
acmp3: cmp@401ac000 {
compatible = "nxp,kinetis-acmp";
reg = <0x401ac000 0x4000>;
interrupts = <159 0>;
status = "disabled";
#io-channel-cells = <2>;
};
acmp4: cmp@401b0000 {
compatible = "nxp,kinetis-acmp";
reg = <0x401b0000 0x4000>;
interrupts = <160 0>;
status = "disabled";
#io-channel-cells = <2>;
};
anatop: anatop@40c84000 {
compatible = "nxp,imx-anatop";
reg = <0x40c84000 0x4000>;
#clock-cells = <4>;
#pll-clock-cells = <3>;
};
edma0: dma-controller@40070000 {
#dma-cells = <2>;
compatible = "nxp,mcux-edma";
dma-channels = <32>;
dma-requests = <208>;
nxp,mem2mem;
nxp,a_on;
reg = <0x40070000 0x4000>,
<0x40074000 0x4000>;
clocks = <&ccm IMX_CCM_EDMA_CLK 0x7C 0x000000C0>;
status = "disabled";
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>;
};
edma_lpsr0: dma-controller@40c14000 {
#dma-cells = <2>;
compatible = "nxp,mcux-edma";
dma-channels = <32>;
dma-requests = <208>;
nxp,mem2mem;
nxp,a_on;
reg = <0x40c14000 0x4000>,
<0x40c18000 0x4000>;
clocks = <&ccm IMX_CCM_EDMA_LPSR_CLK 0x7C 0x000000C0>;
status = "disabled";
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>;
};
iomuxcgpr: iomuxcgpr@400e4000 {
compatible = "nxp,imx-gpr";
reg = <0x400e4000 0x4000>;
#pinmux-cells = <2>;
};
sai1: sai@40404000 {
compatible = "nxp,mcux-i2s";
#address-cells = <1>;
#size-cells = <0>;
#pinmux-cells = <2>;
reg = <0x40404000 0x4000>;
clocks = <&ccm IMX_CCM_SAI1_CLK 0x2004 4>;
pre-div = <0>;
podf = <4>;
pll-clocks = <&anatop 0 0 0>,
<&anatop 0 0 30>,
<&anatop 0 0 1>,
<&anatop 0 0 77>,
<&anatop 0 0 100>;
pll-clock-names = "src", "lp", "pd", "num", "den";
pinmuxes = <&iomuxcgpr 0x0 0x100>;
interrupts = <76 0>;
nxp,tx-channel = <1>;
status = "disabled";
};
sai2: sai@40408000 {
compatible = "nxp,mcux-i2s";
#address-cells = <1>;
#size-cells = <0>;
#pinmux-cells = <2>;
reg = <0x40408000 0x4000>;
clocks = <&ccm IMX_CCM_SAI2_CLK 0x2084 4>;
pre-div = <0>;
podf = <63>;
pll-clocks = <&anatop 0 0 0>,
<&anatop 0 0 30>,
<&anatop 0 0 1>,
<&anatop 0 0 77>,
<&anatop 0 0 100>;
pll-clock-names = "src", "lp", "pd", "num", "den";
pinmuxes = <&iomuxcgpr 0x4 0x100>;
interrupts = <77 0>;
nxp,tx-channel = <1>;
status = "disabled";
};
sai3: sai@4040c000 {
compatible = "nxp,mcux-i2s";
#address-cells = <1>;
#size-cells = <0>;
#pinmux-cells = <2>;
reg = <0x4040c000 0x4000>;
clocks = <&ccm IMX_CCM_SAI3_CLK 0x2104 4>;
pre-div = <0>;
podf = <63>;
pll-clocks = <&anatop 0 0 0>,
<&anatop 0 0 30>,
<&anatop 0 0 1>,
<&anatop 0 0 77>,
<&anatop 0 0 100>;
pll-clock-names = "src", "lp", "pd", "num", "den";
pinmuxes = <&iomuxcgpr 0x8 0x100>;
interrupts = <78 0>, <79 0>;
nxp,tx-channel = <1>;
status = "disabled";
};
sai4: sai@40c40000 {
compatible = "nxp,mcux-i2s";
#address-cells = <1>;
#size-cells = <0>;
#pinmux-cells = <2>;
reg = <0x40c40000 0x4000>;
clocks = <&ccm IMX_CCM_SAI4_CLK 0x2184 6>;
pre-div = <0>;
podf = <63>;
pll-clocks = <&anatop 0 0 0>,
<&anatop 0 0 30>,
<&anatop 0 0 1>,
<&anatop 0 0 77>,
<&anatop 0 0 100>;
pll-clock-names = "src", "lp", "pd", "num", "den";
pinmuxes = <&iomuxcgpr 0x8 0x200>;
interrupts = <80 0>, <81 0>;
nxp,tx-channel = <1>;
status = "disabled";
};
src: reset-controller@40c04000 {
compatible = "nxp,imx-src-rev2";
reg = <0x40c04000 0x4000>;
status = "okay";
};
};
};
&nvic {
arm,num-irq-priority-bits = <4>;
};
&systick {
/*
* RT11xx relies by default on the GPT Timer for system clock
* implementation, so the SysTick node should not be enabled.
*/
status = "disabled";
};