blob: 78cba9435f8e842038c1c916743263fc9acd811e [file] [log] [blame]
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +04001/*
2 * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040012#include "imx1-pinfunc.h"
13
14#include <dt-bindings/clock/imx1-clock.h>
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/interrupt-controller/irq.h>
17
18/ {
Fabio Estevam7f107882016-11-12 13:30:35 -020019 #address-cells = <1>;
20 #size-cells = <1>;
Fabio Estevama971c552017-01-23 14:54:10 -020021 /*
22 * The decompressor and also some bootloaders rely on a
23 * pre-existing /chosen node to be available to insert the
24 * command line and merge other ATAGS info.
25 * Also for U-Boot there must be a pre-existing /memory node.
26 */
27 chosen {};
Marco Franchi7f08e6a2018-01-24 11:22:13 -020028 memory { device_type = "memory"; };
Fabio Estevam7f107882016-11-12 13:30:35 -020029
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040030 aliases {
31 gpio0 = &gpio1;
32 gpio1 = &gpio2;
33 gpio2 = &gpio3;
34 gpio3 = &gpio4;
35 i2c0 = &i2c;
36 serial0 = &uart1;
37 serial1 = &uart2;
38 serial2 = &uart3;
39 spi0 = &cspi1;
40 spi1 = &cspi2;
41 };
42
Rob Herring8dccafa2017-10-13 12:54:51 -050043 aitc: aitc-interrupt-controller@223000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040044 compatible = "fsl,imx1-aitc", "fsl,avic";
45 interrupt-controller;
46 #interrupt-cells = <1>;
47 reg = <0x00223000 0x1000>;
48 };
49
50 cpus {
51 #size-cells = <0>;
52 #address-cells = <1>;
53
Fabio Estevamd447dd82016-11-16 13:15:38 -020054 cpu@0 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040055 device_type = "cpu";
Fabio Estevamd447dd82016-11-16 13:15:38 -020056 reg = <0>;
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040057 compatible = "arm,arm920t";
58 operating-points = <200000 1900000>;
59 clock-latency = <62500>;
60 clocks = <&clks IMX1_CLK_MCU>;
61 voltage-tolerance = <5>;
62 };
63 };
64
Shawn Guo416fce82018-05-03 22:50:24 +080065 clocks {
66 clk32 {
67 compatible = "fsl,imx-clk32", "fixed-clock";
68 #clock-cells = <0>;
69 clock-frequency = <32000>;
70 };
71 };
72
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040073 soc {
74 #address-cells = <1>;
75 #size-cells = <1>;
76 compatible = "simple-bus";
77 interrupt-parent = <&aitc>;
78 ranges;
79
Rob Herring8dccafa2017-10-13 12:54:51 -050080 aipi@200000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040081 compatible = "fsl,aipi-bus", "simple-bus";
82 #address-cells = <1>;
83 #size-cells = <1>;
84 reg = <0x00200000 0x10000>;
85 ranges;
86
Rob Herring8dccafa2017-10-13 12:54:51 -050087 gpt1: timer@202000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040088 compatible = "fsl,imx1-gpt";
89 reg = <0x00202000 0x1000>;
90 interrupts = <59>;
91 clocks = <&clks IMX1_CLK_HCLK>,
92 <&clks IMX1_CLK_PER1>;
93 clock-names = "ipg", "per";
94 };
95
Rob Herring8dccafa2017-10-13 12:54:51 -050096 gpt2: timer@203000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040097 compatible = "fsl,imx1-gpt";
98 reg = <0x00203000 0x1000>;
99 interrupts = <58>;
100 clocks = <&clks IMX1_CLK_HCLK>,
101 <&clks IMX1_CLK_PER1>;
102 clock-names = "ipg", "per";
103 };
104
Rob Herring8dccafa2017-10-13 12:54:51 -0500105 fb: fb@205000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400106 compatible = "fsl,imx1-fb";
107 reg = <0x00205000 0x1000>;
108 interrupts = <14>;
109 clocks = <&clks IMX1_CLK_DUMMY>,
110 <&clks IMX1_CLK_DUMMY>,
111 <&clks IMX1_CLK_PER2>;
112 clock-names = "ipg", "ahb", "per";
113 status = "disabled";
114 };
115
Rob Herring8dccafa2017-10-13 12:54:51 -0500116 uart1: serial@206000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400117 compatible = "fsl,imx1-uart";
118 reg = <0x00206000 0x1000>;
119 interrupts = <30 29 26>;
120 clocks = <&clks IMX1_CLK_HCLK>,
121 <&clks IMX1_CLK_PER1>;
122 clock-names = "ipg", "per";
123 status = "disabled";
124 };
125
Rob Herring8dccafa2017-10-13 12:54:51 -0500126 uart2: serial@207000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400127 compatible = "fsl,imx1-uart";
128 reg = <0x00207000 0x1000>;
129 interrupts = <24 23 20>;
130 clocks = <&clks IMX1_CLK_HCLK>,
131 <&clks IMX1_CLK_PER1>;
132 clock-names = "ipg", "per";
133 status = "disabled";
134 };
135
Rob Herring8dccafa2017-10-13 12:54:51 -0500136 pwm: pwm@208000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400137 #pwm-cells = <2>;
138 compatible = "fsl,imx1-pwm";
139 reg = <0x00208000 0x1000>;
140 interrupts = <34>;
141 clocks = <&clks IMX1_CLK_DUMMY>,
142 <&clks IMX1_CLK_PER1>;
143 clock-names = "ipg", "per";
144 };
145
Rob Herring8dccafa2017-10-13 12:54:51 -0500146 dma: dma@209000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400147 compatible = "fsl,imx1-dma";
148 reg = <0x00209000 0x1000>;
149 interrupts = <61 60>;
150 clocks = <&clks IMX1_CLK_HCLK>,
151 <&clks IMX1_CLK_DMA_GATE>;
152 clock-names = "ipg", "ahb";
153 #dma-cells = <1>;
154 };
155
Rob Herring8dccafa2017-10-13 12:54:51 -0500156 uart3: serial@20a000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400157 compatible = "fsl,imx1-uart";
158 reg = <0x0020a000 0x1000>;
159 interrupts = <54 4 1>;
160 clocks = <&clks IMX1_CLK_UART3_GATE>,
161 <&clks IMX1_CLK_PER1>;
162 clock-names = "ipg", "per";
163 status = "disabled";
164 };
165 };
166
Rob Herring8dccafa2017-10-13 12:54:51 -0500167 aipi@210000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400168 compatible = "fsl,aipi-bus", "simple-bus";
169 #address-cells = <1>;
170 #size-cells = <1>;
171 reg = <0x00210000 0x10000>;
172 ranges;
173
Rob Herring8dccafa2017-10-13 12:54:51 -0500174 cspi1: cspi@213000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400175 #address-cells = <1>;
176 #size-cells = <0>;
177 compatible = "fsl,imx1-cspi";
178 reg = <0x00213000 0x1000>;
179 interrupts = <41>;
180 clocks = <&clks IMX1_CLK_DUMMY>,
181 <&clks IMX1_CLK_PER1>;
182 clock-names = "ipg", "per";
183 status = "disabled";
184 };
185
Rob Herring8dccafa2017-10-13 12:54:51 -0500186 i2c: i2c@217000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400187 #address-cells = <1>;
188 #size-cells = <0>;
189 compatible = "fsl,imx1-i2c";
190 reg = <0x00217000 0x1000>;
191 interrupts = <39>;
192 clocks = <&clks IMX1_CLK_HCLK>;
193 status = "disabled";
194 };
195
Rob Herring8dccafa2017-10-13 12:54:51 -0500196 cspi2: cspi@219000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400197 #address-cells = <1>;
198 #size-cells = <0>;
199 compatible = "fsl,imx1-cspi";
200 reg = <0x00219000 0x1000>;
201 interrupts = <40>;
202 clocks = <&clks IMX1_CLK_DUMMY>,
203 <&clks IMX1_CLK_PER1>;
204 clock-names = "ipg", "per";
205 status = "disabled";
206 };
207
Rob Herring8dccafa2017-10-13 12:54:51 -0500208 clks: ccm@21b000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400209 compatible = "fsl,imx1-ccm";
210 reg = <0x0021b000 0x1000>;
211 #clock-cells = <1>;
212 };
213
Rob Herring8dccafa2017-10-13 12:54:51 -0500214 iomuxc: iomuxc@21c000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400215 compatible = "fsl,imx1-iomuxc";
216 reg = <0x0021c000 0x1000>;
217 #address-cells = <1>;
218 #size-cells = <1>;
219 ranges;
220
Rob Herring8dccafa2017-10-13 12:54:51 -0500221 gpio1: gpio@21c000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400222 compatible = "fsl,imx1-gpio";
223 reg = <0x0021c000 0x100>;
224 interrupts = <11>;
225 gpio-controller;
226 #gpio-cells = <2>;
227 interrupt-controller;
228 #interrupt-cells = <2>;
229 };
230
Rob Herring8dccafa2017-10-13 12:54:51 -0500231 gpio2: gpio@21c100 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400232 compatible = "fsl,imx1-gpio";
233 reg = <0x0021c100 0x100>;
234 interrupts = <12>;
235 gpio-controller;
236 #gpio-cells = <2>;
237 interrupt-controller;
238 #interrupt-cells = <2>;
239 };
240
Rob Herring8dccafa2017-10-13 12:54:51 -0500241 gpio3: gpio@21c200 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400242 compatible = "fsl,imx1-gpio";
243 reg = <0x0021c200 0x100>;
244 interrupts = <13>;
245 gpio-controller;
246 #gpio-cells = <2>;
247 interrupt-controller;
248 #interrupt-cells = <2>;
249 };
250
Rob Herring8dccafa2017-10-13 12:54:51 -0500251 gpio4: gpio@21c300 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400252 compatible = "fsl,imx1-gpio";
253 reg = <0x0021c300 0x100>;
254 interrupts = <62>;
255 gpio-controller;
256 #gpio-cells = <2>;
257 interrupt-controller;
258 #interrupt-cells = <2>;
259 };
260 };
261 };
262
Rob Herring8dccafa2017-10-13 12:54:51 -0500263 weim: weim@220000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400264 #address-cells = <2>;
265 #size-cells = <1>;
266 compatible = "fsl,imx1-weim";
267 reg = <0x00220000 0x1000>;
268 clocks = <&clks IMX1_CLK_DUMMY>;
269 ranges = <
270 0 0 0x10000000 0x02000000
271 1 0 0x12000000 0x01000000
272 2 0 0x13000000 0x01000000
273 3 0 0x14000000 0x01000000
274 4 0 0x15000000 0x01000000
275 5 0 0x16000000 0x01000000
276 >;
277 status = "disabled";
278 };
279
Rob Herring8dccafa2017-10-13 12:54:51 -0500280 esram: esram@300000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400281 compatible = "mmio-sram";
282 reg = <0x00300000 0x20000>;
283 };
284 };
285};