Skip to content

Commit b0ba009

Browse files
JiafeiPannashif
authored andcommitted
dts: add i.MX 943 Cortex-A Core dts
Added i.MX 943 Cortex-A Core dts file and clock binding header file. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
1 parent c0aee5c commit b0ba009

File tree

2 files changed

+531
-0
lines changed

2 files changed

+531
-0
lines changed

dts/arm64/nxp/nxp_mimx943_a55.dtsi

Lines changed: 247 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,247 @@
1+
/*
2+
* Copyright 2025 NXP
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <mem.h>
8+
#include <freq.h>
9+
#include <arm64/armv8-a.dtsi>
10+
#include <zephyr/dt-bindings/clock/imx943_clock.h>
11+
#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
12+
13+
/ {
14+
#address-cells = <1>;
15+
#size-cells = <1>;
16+
interrupt-parent = <&gic>;
17+
18+
cpus {
19+
#address-cells = <1>;
20+
#size-cells = <0>;
21+
22+
cpu@0 {
23+
device_type = "cpu";
24+
compatible = "arm,cortex-a55";
25+
reg = <0>;
26+
};
27+
28+
cpu@100 {
29+
device_type = "cpu";
30+
compatible = "arm,cortex-a55";
31+
reg = <0x100>;
32+
};
33+
34+
cpu@200 {
35+
device_type = "cpu";
36+
compatible = "arm,cortex-a55";
37+
reg = <0x200>;
38+
};
39+
40+
cpu@300 {
41+
device_type = "cpu";
42+
compatible = "arm,cortex-a55";
43+
reg = <0x300>;
44+
};
45+
};
46+
47+
arch_timer: timer {
48+
compatible = "arm,armv8-timer";
49+
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL
50+
IRQ_DEFAULT_PRIORITY>,
51+
<GIC_PPI 14 IRQ_TYPE_LEVEL
52+
IRQ_DEFAULT_PRIORITY>,
53+
<GIC_PPI 11 IRQ_TYPE_LEVEL
54+
IRQ_DEFAULT_PRIORITY>,
55+
<GIC_PPI 10 IRQ_TYPE_LEVEL
56+
IRQ_DEFAULT_PRIORITY>;
57+
};
58+
59+
gic: interrupt-controller@48000000 {
60+
compatible = "arm,gic-v3", "arm,gic";
61+
reg = <0x48000000 0x10000>, /* GIC Dist */
62+
<0x48060000 0xc0000>; /* GICR (RD_base + SGI_base) */
63+
interrupt-controller;
64+
#interrupt-cells = <4>;
65+
status = "okay";
66+
};
67+
68+
reserved-memory {
69+
#address-cells = <1>;
70+
#size-cells = <1>;
71+
72+
scmi_shmem0: memory@445b1000 {
73+
compatible = "arm,scmi-shmem";
74+
reg = <0x445b1000 0x80>;
75+
};
76+
};
77+
78+
firmware {
79+
scmi {
80+
compatible = "arm,scmi";
81+
shmem = <&scmi_shmem0>;
82+
mboxes = <&mu2 0>;
83+
mbox-names = "tx";
84+
85+
#address-cells = <1>;
86+
#size-cells = <0>;
87+
88+
scmi_clk: protocol@14 {
89+
compatible = "arm,scmi-clock";
90+
reg = <0x14>;
91+
#clock-cells = <1>;
92+
};
93+
94+
scmi_iomuxc: protocol@19 {
95+
compatible = "arm,scmi-pinctrl";
96+
reg = <0x19>;
97+
98+
pinctrl: pinctrl {
99+
compatible = "nxp,imx943-pinctrl", "nxp,imx93-pinctrl";
100+
};
101+
};
102+
};
103+
};
104+
105+
lpuart3: serial@42570000 {
106+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
107+
reg = <0x42570000 DT_SIZE_K(64)>;
108+
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
109+
interrupt-names = "irq_0";
110+
clocks = <&scmi_clk IMX943_CLK_LPUART3>;
111+
status = "disabled";
112+
};
113+
114+
lpuart4: serial@42580000 {
115+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
116+
reg = <0x42580000 DT_SIZE_K(64)>;
117+
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
118+
interrupt-names = "irq_0";
119+
clocks = <&scmi_clk IMX943_CLK_LPUART4>;
120+
status = "disabled";
121+
};
122+
123+
lpuart5: serial@42590000 {
124+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
125+
reg = <0x42590000 DT_SIZE_K(64)>;
126+
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
127+
interrupt-names = "irq_0";
128+
clocks = <&scmi_clk IMX943_CLK_LPUART5>;
129+
status = "disabled";
130+
};
131+
132+
lpuart6: serial@425a0000 {
133+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
134+
reg = <0x425a0000 DT_SIZE_K(64)>;
135+
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
136+
interrupt-names = "irq_0";
137+
clocks = <&scmi_clk IMX943_CLK_LPUART6>;
138+
status = "disabled";
139+
};
140+
141+
lpuart7: serial@42690000 {
142+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
143+
reg = <0x42690000 DT_SIZE_K(64)>;
144+
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
145+
interrupt-names = "irq_0";
146+
clocks = <&scmi_clk IMX943_CLK_LPUART7>;
147+
status = "disabled";
148+
};
149+
150+
lpuart8: serial@426a0000 {
151+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
152+
reg = <0x426a0000 DT_SIZE_K(64)>;
153+
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
154+
interrupt-names = "irq_0";
155+
clocks = <&scmi_clk IMX943_CLK_LPUART8>;
156+
status = "disabled";
157+
};
158+
159+
lpuart9: serial@42a50000 {
160+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
161+
reg = <0x42a50000 DT_SIZE_K(64)>;
162+
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
163+
interrupt-names = "irq_0";
164+
clocks = <&scmi_clk IMX943_CLK_LPUART9>;
165+
status = "disabled";
166+
};
167+
168+
lpuart10: serial@42a60000 {
169+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
170+
reg = <0x42a60000 DT_SIZE_K(64)>;
171+
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
172+
interrupt-names = "irq_0";
173+
clocks = <&scmi_clk IMX943_CLK_LPUART10>;
174+
status = "disabled";
175+
};
176+
177+
lpuart11: serial@42a70000 {
178+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
179+
reg = <0x42a70000 DT_SIZE_K(64)>;
180+
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
181+
interrupt-names = "irq_0";
182+
clocks = <&scmi_clk IMX943_CLK_LPUART11>;
183+
status = "disabled";
184+
};
185+
186+
lpuart12: serial@42a80000 {
187+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
188+
reg = <0x42a80000 DT_SIZE_K(64)>;
189+
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
190+
interrupt-names = "irq_0";
191+
clocks = <&scmi_clk IMX943_CLK_LPUART12>;
192+
status = "disabled";
193+
};
194+
195+
mu1: mbox@44220000 {
196+
compatible = "nxp,mbox-imx-mu";
197+
reg = <0x44220000 DT_SIZE_K(64)>;
198+
interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
199+
rx-channels = <4>;
200+
#mbox-cells = <1>;
201+
status = "disabled";
202+
};
203+
204+
lpuart1: serial@44380000 {
205+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
206+
reg = <0x44380000 DT_SIZE_K(64)>;
207+
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
208+
interrupt-names = "irq_0";
209+
clocks = <&scmi_clk IMX943_CLK_LPUART1>;
210+
status = "disabled";
211+
};
212+
213+
lpuart2: serial@44390000 {
214+
compatible = "nxp,imx-lpuart", "nxp,lpuart";
215+
reg = <0x44390000 DT_SIZE_K(64)>;
216+
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
217+
interrupt-names = "irq_0";
218+
clocks = <&scmi_clk IMX943_CLK_LPUART2>;
219+
status = "disabled";
220+
};
221+
222+
mu2: mbox@445b0000 {
223+
compatible = "nxp,mbox-imx-mu";
224+
reg = <0x445b0000 DT_SIZE_K(64)>;
225+
interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
226+
rx-channels = <4>;
227+
#mbox-cells = <1>;
228+
};
229+
230+
mu3: mbox@445d0000 {
231+
compatible = "nxp,mbox-imx-mu";
232+
reg = <0x445d0000 DT_SIZE_K(64)>;
233+
interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
234+
rx-channels = <4>;
235+
#mbox-cells = <1>;
236+
status = "disabled";
237+
};
238+
239+
mu4: mbox@445f0000 {
240+
compatible = "nxp,mbox-imx-mu";
241+
reg = <0x445f0000 DT_SIZE_K(64)>;
242+
interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
243+
rx-channels = <4>;
244+
#mbox-cells = <1>;
245+
status = "disabled";
246+
};
247+
};

0 commit comments

Comments
 (0)