blob: 389ecb1ebf8f1b39832aa279f3cbd1ec15c74332 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0+
2//
3// Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
4
5#include "imx1-pinfunc.h"
6
7#include <dt-bindings/clock/imx1-clock.h>
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10
11/ {
12 #address-cells = <1>;
13 #size-cells = <1>;
14 /*
15 * The decompressor and also some bootloaders rely on a
16 * pre-existing /chosen node to be available to insert the
17 * command line and merge other ATAGS info.
18 */
19 chosen {};
20
21 aliases {
22 gpio0 = &gpio1;
23 gpio1 = &gpio2;
24 gpio2 = &gpio3;
25 gpio3 = &gpio4;
26 i2c0 = &i2c;
27 serial0 = &uart1;
28 serial1 = &uart2;
29 serial2 = &uart3;
30 spi0 = &cspi1;
31 spi1 = &cspi2;
32 };
33
34 aitc: aitc-interrupt-controller@223000 {
35 compatible = "fsl,imx1-aitc", "fsl,avic";
36 interrupt-controller;
37 #interrupt-cells = <1>;
38 reg = <0x00223000 0x1000>;
39 };
40
41 cpus {
42 #size-cells = <0>;
43 #address-cells = <1>;
44
45 cpu@0 {
46 device_type = "cpu";
47 reg = <0>;
48 compatible = "arm,arm920t";
49 operating-points = <200000 1900000>;
50 clock-latency = <62500>;
51 clocks = <&clks IMX1_CLK_MCU>;
52 voltage-tolerance = <5>;
53 };
54 };
55
56 clocks {
57 clk32 {
58 compatible = "fixed-clock";
59 #clock-cells = <0>;
60 clock-frequency = <32000>;
61 };
62 };
63
64 soc {
65 #address-cells = <1>;
66 #size-cells = <1>;
67 compatible = "simple-bus";
68 interrupt-parent = <&aitc>;
69 ranges;
70
Tom Rini93743d22024-04-01 09:08:13 -040071 bus@200000 {
Tom Rini53633a82024-02-29 12:33:36 -050072 compatible = "fsl,aipi-bus", "simple-bus";
73 #address-cells = <1>;
74 #size-cells = <1>;
75 reg = <0x00200000 0x10000>;
76 ranges;
77
78 gpt1: timer@202000 {
79 compatible = "fsl,imx1-gpt";
80 reg = <0x00202000 0x1000>;
81 interrupts = <59>;
82 clocks = <&clks IMX1_CLK_HCLK>,
83 <&clks IMX1_CLK_PER1>;
84 clock-names = "ipg", "per";
85 };
86
87 gpt2: timer@203000 {
88 compatible = "fsl,imx1-gpt";
89 reg = <0x00203000 0x1000>;
90 interrupts = <58>;
91 clocks = <&clks IMX1_CLK_HCLK>,
92 <&clks IMX1_CLK_PER1>;
93 clock-names = "ipg", "per";
94 };
95
96 fb: fb@205000 {
97 compatible = "fsl,imx1-fb";
98 reg = <0x00205000 0x1000>;
99 interrupts = <14>;
100 clocks = <&clks IMX1_CLK_DUMMY>,
101 <&clks IMX1_CLK_DUMMY>,
102 <&clks IMX1_CLK_PER2>;
103 clock-names = "ipg", "ahb", "per";
104 status = "disabled";
105 };
106
107 uart1: serial@206000 {
108 compatible = "fsl,imx1-uart";
109 reg = <0x00206000 0x1000>;
110 interrupts = <30 29 26>;
111 clocks = <&clks IMX1_CLK_HCLK>,
112 <&clks IMX1_CLK_PER1>;
113 clock-names = "ipg", "per";
114 status = "disabled";
115 };
116
117 uart2: serial@207000 {
118 compatible = "fsl,imx1-uart";
119 reg = <0x00207000 0x1000>;
120 interrupts = <24 23 20>;
121 clocks = <&clks IMX1_CLK_HCLK>,
122 <&clks IMX1_CLK_PER1>;
123 clock-names = "ipg", "per";
124 status = "disabled";
125 };
126
127 pwm: pwm@208000 {
128 #pwm-cells = <3>;
129 compatible = "fsl,imx1-pwm";
130 reg = <0x00208000 0x1000>;
131 interrupts = <34>;
132 clocks = <&clks IMX1_CLK_DUMMY>,
133 <&clks IMX1_CLK_PER1>;
134 clock-names = "ipg", "per";
135 };
136
137 dma: dma@209000 {
138 compatible = "fsl,imx1-dma";
139 reg = <0x00209000 0x1000>;
140 interrupts = <61 60>;
141 clocks = <&clks IMX1_CLK_HCLK>,
142 <&clks IMX1_CLK_DMA_GATE>;
143 clock-names = "ipg", "ahb";
144 #dma-cells = <1>;
145 };
146
147 uart3: serial@20a000 {
148 compatible = "fsl,imx1-uart";
149 reg = <0x0020a000 0x1000>;
150 interrupts = <54 4 1>;
151 clocks = <&clks IMX1_CLK_UART3_GATE>,
152 <&clks IMX1_CLK_PER1>;
153 clock-names = "ipg", "per";
154 status = "disabled";
155 };
156 };
157
Tom Rini93743d22024-04-01 09:08:13 -0400158 bus@210000 {
Tom Rini53633a82024-02-29 12:33:36 -0500159 compatible = "fsl,aipi-bus", "simple-bus";
160 #address-cells = <1>;
161 #size-cells = <1>;
162 reg = <0x00210000 0x10000>;
163 ranges;
164
165 cspi1: spi@213000 {
166 #address-cells = <1>;
167 #size-cells = <0>;
168 compatible = "fsl,imx1-cspi";
169 reg = <0x00213000 0x1000>;
170 interrupts = <41>;
171 clocks = <&clks IMX1_CLK_DUMMY>,
172 <&clks IMX1_CLK_PER1>;
173 clock-names = "ipg", "per";
174 status = "disabled";
175 };
176
177 i2c: i2c@217000 {
178 #address-cells = <1>;
179 #size-cells = <0>;
180 compatible = "fsl,imx1-i2c";
181 reg = <0x00217000 0x1000>;
182 interrupts = <39>;
183 clocks = <&clks IMX1_CLK_HCLK>;
184 status = "disabled";
185 };
186
187 cspi2: spi@219000 {
188 #address-cells = <1>;
189 #size-cells = <0>;
190 compatible = "fsl,imx1-cspi";
191 reg = <0x00219000 0x1000>;
192 interrupts = <40>;
193 clocks = <&clks IMX1_CLK_DUMMY>,
194 <&clks IMX1_CLK_PER1>;
195 clock-names = "ipg", "per";
196 status = "disabled";
197 };
198
199 clks: ccm@21b000 {
200 compatible = "fsl,imx1-ccm";
201 reg = <0x0021b000 0x1000>;
202 #clock-cells = <1>;
203 };
204
205 iomuxc: iomuxc@21c000 {
206 compatible = "fsl,imx1-iomuxc";
207 reg = <0x0021c000 0x1000>;
208 #address-cells = <1>;
209 #size-cells = <1>;
210 ranges;
211
212 gpio1: gpio@21c000 {
213 compatible = "fsl,imx1-gpio";
214 reg = <0x0021c000 0x100>;
215 interrupts = <11>;
216 gpio-controller;
217 #gpio-cells = <2>;
218 interrupt-controller;
219 #interrupt-cells = <2>;
220 };
221
222 gpio2: gpio@21c100 {
223 compatible = "fsl,imx1-gpio";
224 reg = <0x0021c100 0x100>;
225 interrupts = <12>;
226 gpio-controller;
227 #gpio-cells = <2>;
228 interrupt-controller;
229 #interrupt-cells = <2>;
230 };
231
232 gpio3: gpio@21c200 {
233 compatible = "fsl,imx1-gpio";
234 reg = <0x0021c200 0x100>;
235 interrupts = <13>;
236 gpio-controller;
237 #gpio-cells = <2>;
238 interrupt-controller;
239 #interrupt-cells = <2>;
240 };
241
242 gpio4: gpio@21c300 {
243 compatible = "fsl,imx1-gpio";
244 reg = <0x0021c300 0x100>;
245 interrupts = <62>;
246 gpio-controller;
247 #gpio-cells = <2>;
248 interrupt-controller;
249 #interrupt-cells = <2>;
250 };
251 };
252 };
253
Tom Rini6bb92fc2024-05-20 09:54:58 -0600254 weim: memory-controller@220000 {
Tom Rini53633a82024-02-29 12:33:36 -0500255 #address-cells = <2>;
256 #size-cells = <1>;
257 compatible = "fsl,imx1-weim";
258 reg = <0x00220000 0x1000>;
259 clocks = <&clks IMX1_CLK_DUMMY>;
260 ranges = <
261 0 0 0x10000000 0x02000000
262 1 0 0x12000000 0x01000000
263 2 0 0x13000000 0x01000000
264 3 0 0x14000000 0x01000000
265 4 0 0x15000000 0x01000000
266 5 0 0x16000000 0x01000000
267 >;
268 status = "disabled";
269 };
270
Tom Rini93743d22024-04-01 09:08:13 -0400271 esram: sram@300000 {
Tom Rini53633a82024-02-29 12:33:36 -0500272 compatible = "mmio-sram";
273 reg = <0x00300000 0x20000>;
Tom Rini93743d22024-04-01 09:08:13 -0400274 ranges = <0 0x00300000 0x20000>;
275 #address-cells = <1>;
276 #size-cells = <1>;
Tom Rini53633a82024-02-29 12:33:36 -0500277 };
278 };
279};