Skip to content

Commit 46eaa81

Browse files
committed
dts: rt1010: Fix RT1010 IP base addresses
Fix the Base addresses for the IP blocks that are located at a different address on RT1010 Signed-off-by: Mahesh Mahadevan <[email protected]>
1 parent 4c30c82 commit 46eaa81

File tree

3 files changed

+222
-35
lines changed

3 files changed

+222
-35
lines changed

boards/arm/mimxrt1010_evk/mimxrt1010_evk.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ arduino_serial: &lpuart1 {};
5151
};
5252

5353
&flexspi {
54-
reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(16)>;
54+
reg = <0x400a0000 0x4000>, <0x60000000 DT_SIZE_M(16)>;
5555
at25sf128a: at25sf128a@0 {
5656
compatible = "nxp,imx-flexspi-nor";
5757
size = <134217728>;

dts/arm/nxp/nxp_rt1010.dtsi

Lines changed: 219 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -39,40 +39,20 @@
3939
gptfreq = <12500000>;
4040
};
4141

42-
&usb1 {
43-
interrupts = <25 0>;
44-
};
45-
46-
&flexspi {
47-
interrupts = <26 0>;
48-
};
49-
50-
&flexpwm1_pwm0 {
51-
interrupts = <34 0>;
52-
};
53-
54-
&flexpwm1_pwm1 {
55-
interrupts = <35 0>;
56-
};
57-
58-
&flexpwm1_pwm2 {
59-
interrupts = <36 0>;
60-
};
61-
62-
&flexpwm1_pwm3 {
63-
interrupts = <37 0>;
64-
};
65-
66-
&flexpwm1 {
67-
interrupts = <38 0>;
68-
};
69-
7042
&edma0 {
7143
dma-channels = <16>;
7244
};
7345

7446
/ {
7547
soc {
48+
/* Remove GPIO3-GPIO9, they don't exist on RT1010 */
49+
/delete-node/ gpio@401c0000;
50+
/delete-node/ gpio@401c4000;
51+
/delete-node/ gpio@42000000;
52+
/delete-node/ gpio@42004000;
53+
/delete-node/ gpio@42008000;
54+
/delete-node/ gpio@4200c000;
55+
7656
/* Fixup GPIO2 its a different location on RT1010 */
7757
/delete-node/ gpio@401bc000;
7858

@@ -98,12 +78,60 @@
9878
<&iomuxc_gpio_sd_13_gpio2_io13>;
9979
};
10080

101-
/* Remove GPIO3-GPIO9, they dont exist on RT1010 */
102-
/delete-node/ gpio@401c0000;
103-
/delete-node/ gpio@401c4000;
104-
/delete-node/ gpio@42004000;
105-
/delete-node/ gpio@42008000;
106-
/delete-node/ gpio@4200c000;
81+
/* Remove Quad TImers, they don't exist on RT1010 */
82+
/delete-node/ qtmr@401dc000;
83+
/delete-node/ qtmr@401e0000;
84+
/delete-node/ qtmr@401e4000;
85+
/delete-node/ qtmr@401e8000;
86+
87+
/* Fixup FlexSPI its a different location on RT1010 */
88+
/delete-node/ spi@402a8000;
89+
flexspi: spi@400a0000 {
90+
compatible = "nxp,imx-flexspi";
91+
reg = <0x400a0000 0x4000>;
92+
interrupts = <26 0>;
93+
#address-cells = <1>;
94+
#size-cells = <0>;
95+
ahb-bufferable;
96+
ahb-cacheable;
97+
status = "disabled";
98+
};
99+
100+
/* Remove SEMC, it does'nt exist on RT1010 */
101+
/delete-node/ semc0@402f0000;
102+
103+
/* Fixup LPI2C1 and LPI2C2, they have different base addr on RT1010 */
104+
/delete-node/ i2c@403f0000;
105+
/delete-node/ i2c@403f4000;
106+
107+
lpi2c1: i2c@401a4000 {
108+
compatible = "nxp,imx-lpi2c";
109+
clock-frequency = <I2C_BITRATE_STANDARD>;
110+
#address-cells = <1>;
111+
#size-cells = <0>;
112+
reg = <0x401a4000 0x4000>;
113+
interrupts = <28 0>;
114+
clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 6>;
115+
status = "disabled";
116+
};
117+
118+
lpi2c2: i2c@401a8000 {
119+
compatible = "nxp,imx-lpi2c";
120+
clock-frequency = <I2C_BITRATE_STANDARD>;
121+
#address-cells = <1>;
122+
#size-cells = <0>;
123+
reg = <0x401a8000 0x4000>;
124+
interrupts = <29 0>;
125+
clocks = <&ccm IMX_CCM_LPI2C_CLK 0x70 8>;
126+
status = "disabled";
127+
};
128+
129+
/* Remove LPI2C3 & LPI2C4, they don't exist on RT1010 */
130+
/delete-node/ i2c@403f8000;
131+
/delete-node/ i2c@403fc000;
132+
133+
/* Remove LCDIF, it doesn't exist on RT1010 */
134+
/delete-node/ display-controller@402b8000;
107135

108136
/* Fixup LPSPI1 and LPSPI2, they have different base addr on RT1010 */
109137
/delete-node/ spi@40394000;
@@ -128,11 +156,168 @@
128156
#size-cells = <0>;
129157
};
130158

159+
/* Remove LPUART5-8, they don't exist on RT1010 */
160+
/delete-node/ uart@40194000;
161+
/delete-node/ uart@40198000;
162+
/delete-node/ uart@4019c000;
163+
/delete-node/ uart@401a0000;
164+
131165
/* Remove ADC2, it doesn't exist on RT1010 */
132166
/delete-node/ adc@400C8000;
133167

134168
/* RT1010 has only one flexSPI controller */
135169
/delete-node/ spi@402a4000;
170+
171+
/* Fixup FlexPWM1 it has different base addr and interrupt numbers on RT1010 */
172+
/delete-node/ flexpwm@403dc000;
173+
flexpwm1: flexpwm@401cc000 {
174+
compatible = "nxp,flexpwm";
175+
reg = <0x401cc000 0x4000>;
176+
interrupts = <38 0>;
177+
178+
flexpwm1_pwm0: pwm0 {
179+
compatible = "nxp,imx-pwm";
180+
index = <0>;
181+
interrupts = <34 0>;
182+
#pwm-cells = <2>;
183+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
184+
status = "disabled";
185+
};
186+
187+
flexpwm1_pwm1: pwm1 {
188+
compatible = "nxp,imx-pwm";
189+
index = <1>;
190+
interrupts = <35 0>;
191+
#pwm-cells = <2>;
192+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
193+
status = "disabled";
194+
};
195+
196+
flexpwm1_pwm2: pwm2 {
197+
compatible = "nxp,imx-pwm";
198+
index = <2>;
199+
interrupts = <36 0>;
200+
#pwm-cells = <2>;
201+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
202+
status = "disabled";
203+
};
204+
205+
flexpwm1_pwm3: pwm3 {
206+
compatible = "nxp,imx-pwm";
207+
index = <3>;
208+
interrupts = <37 0>;
209+
#pwm-cells = <2>;
210+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
211+
status = "disabled";
212+
};
213+
};
214+
/* Remove FlexPWM2-4, they don't exist on RT1010 */
215+
/delete-node/ flexpwm@403e0000;
216+
/delete-node/ flexpwm@403e4000;
217+
/delete-node/ flexpwm@403e8000;
218+
219+
/* Remove Ethernet, it does'nt exist on RT1010 */
220+
/delete-node/ ethernet@402d8000;
221+
222+
/* Fixup USB it has different base addr and interrupt numbers on RT1010 */
223+
/delete-node/ usbd@402e0000;
224+
usb1: usbd@400e4000 {
225+
compatible = "nxp,mcux-usbd";
226+
reg = <0x400e4000 0x200>;
227+
interrupts = <25 1>;
228+
interrupt-names = "usb_otg";
229+
clocks = <&usbclk>;
230+
num-bidir-endpoints = <8>;
231+
usb-controller-index = "Ehci0";
232+
status = "disabled";
233+
};
234+
235+
/* Remove USB2, it does'nt exist on RT1010 */
236+
/delete-node/ usbd@402e0200;
237+
238+
/* Remove USDHC, they don't exist on RT1010 */
239+
/delete-node/ usdhc@402c0000;
240+
/delete-node/ usdhc@402c4000;
241+
242+
/* Remove CSI, it does'nt exist on RT1010 */
243+
/delete-node/ csi@402bc000;
244+
245+
/* Remove FLEXCAN, they don't exist on RT1010 */
246+
/delete-node/ can@401d0000;
247+
/delete-node/ can@401d4000;
248+
/delete-node/ can@401d8000;
249+
250+
/* Remove WDOG2, it does'nt exist on RT1010 */
251+
/delete-node/ wdog@400d0000;
252+
253+
/* Fix SAI1, 3, it has different base addr on RT1010 */
254+
/delete-node/ sai@40384000;
255+
/delete-node/ sai@4038c000;
256+
sai1: sai@401e0000 {
257+
compatible = "nxp,mcux-i2s";
258+
#address-cells = <1>;
259+
#size-cells = <0>;
260+
#pinmux-cells = <2>;
261+
reg = <0x401e0000 0x4000>;
262+
clocks = <&ccm IMX_CCM_SAI1_CLK 0x7C 18>;
263+
/* Audio PLL Output Frequency is determined by:
264+
* (Fref * (DIV_SELECT + NUM/DENOM)) / POST_DIV
265+
* = (24MHz * (32 + 77 / 100)) / 1 = 786.48 MHz
266+
*/
267+
pll-clocks = <&anatop 0x70 0xC000 0>,
268+
<&anatop 0x70 0x7F 32>,
269+
<&anatop 0x70 0x180000 1>,
270+
<&anatop 0x80 0x3FFFFFFF 77>,
271+
<&anatop 0x90 0x3FFFFFFF 100>;
272+
pll-clock-names = "src", "lp", "pd", "num", "den";
273+
/* The maximum input frequency into the SAI mclk input is 300MHz
274+
* Based on this requirement, pre-div must be at least 3
275+
* The pre-div and post-div are one less than the actual divide-by amount.
276+
* A pre-div value of 0x1 results in a pre-divider of
277+
* (1+1) = 2
278+
*/
279+
pre-div = <0x3>;
280+
podf = <0x0F>;
281+
pinmuxes = <&iomuxcgpr 0x4 0x80000>;
282+
interrupts = <56 0>;
283+
dmas = <&edma0 0 19>, <&edma0 0 20>;
284+
dma-names = "rx", "tx";
285+
/* This translates to SAIChannelMask (fsl_sai.c) and
286+
* cannot be 0
287+
*/
288+
nxp,tx-channel = <1>;
289+
nxp,tx-dma-channel = <0>;
290+
nxp,rx-dma-channel = <1>;
291+
status = "disabled";
292+
};
293+
294+
sai3: sai@401e8000 {
295+
compatible = "nxp,mcux-i2s";
296+
#address-cells = <1>;
297+
#size-cells = <0>;
298+
#pinmux-cells = <2>;
299+
reg = <0x401e8000 0x4000>;
300+
clocks = <&ccm IMX_CCM_SAI3_CLK 0x7C 22>;
301+
pre-div = <0>;
302+
podf = <63>;
303+
pll-clocks = <&anatop 0x70 0xC000 0>,
304+
<&anatop 0x70 0x7F 32>,
305+
<&anatop 0x70 0x180000 1>,
306+
<&anatop 0x80 0x3FFFFFFF 77>,
307+
<&anatop 0x90 0x3FFFFFFF 100>;
308+
pll-clock-names = "src", "lp", "pd", "num", "den";
309+
pinmuxes = <&iomuxcgpr 0x4 0x200000>;
310+
interrupts = <58 0>, <59 0>;
311+
dmas = <&edma0 0 83>, <&edma0 0 84>;
312+
dma-names = "rx", "tx";
313+
nxp,tx-channel = <0>;
314+
nxp,tx-dma-channel = <5>;
315+
nxp,rx-dma-channel = <6>;
316+
status = "disabled";
317+
};
318+
319+
/* Remove SAI2, it does'nt exist on RT1010 */
320+
/delete-node/ sai@40388000;
136321
};
137322
};
138323

soc/arm/nxp_imx/rt/Kconfig.defconfig.series

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,12 @@ if CODE_FLEXSPI
108108

109109
config FLASH_SIZE
110110
default $(dt_node_reg_size_int,/soc/spi@400cc000,1,K) if SOC_SERIES_IMX_RT11XX
111+
default $(dt_node_reg_size_int,/soc/spi@400a0000,1,K) if SOC_MIMXRT1011
111112
default $(dt_node_reg_size_int,/soc/spi@402a8000,1,K) if SOC_SERIES_IMX_RT10XX
112113

113114
config FLASH_BASE_ADDRESS
114115
default $(dt_node_reg_addr_hex,/soc/spi@400cc000,1) if SOC_SERIES_IMX_RT11XX
116+
default $(dt_node_reg_addr_hex,/soc/spi@400a0000,1) if SOC_MIMXRT1011
115117
default $(dt_node_reg_addr_hex,/soc/spi@402a8000,1) if SOC_SERIES_IMX_RT10XX
116118

117119
endif # CODE_FLEXSPI

0 commit comments

Comments
 (0)