blob: f7b9edf93f5ef3b558b3b1c6a66a813e353eac38 [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
65 soc {
66 #address-cells = <1>;
67 #size-cells = <1>;
68 compatible = "simple-bus";
69 interrupt-parent = <&aitc>;
70 ranges;
71
Rob Herring8dccafa2017-10-13 12:54:51 -050072 aipi@200000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040073 compatible = "fsl,aipi-bus", "simple-bus";
74 #address-cells = <1>;
75 #size-cells = <1>;
76 reg = <0x00200000 0x10000>;
77 ranges;
78
Rob Herring8dccafa2017-10-13 12:54:51 -050079 gpt1: timer@202000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040080 compatible = "fsl,imx1-gpt";
81 reg = <0x00202000 0x1000>;
82 interrupts = <59>;
83 clocks = <&clks IMX1_CLK_HCLK>,
84 <&clks IMX1_CLK_PER1>;
85 clock-names = "ipg", "per";
86 };
87
Rob Herring8dccafa2017-10-13 12:54:51 -050088 gpt2: timer@203000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040089 compatible = "fsl,imx1-gpt";
90 reg = <0x00203000 0x1000>;
91 interrupts = <58>;
92 clocks = <&clks IMX1_CLK_HCLK>,
93 <&clks IMX1_CLK_PER1>;
94 clock-names = "ipg", "per";
95 };
96
Rob Herring8dccafa2017-10-13 12:54:51 -050097 fb: fb@205000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +040098 compatible = "fsl,imx1-fb";
99 reg = <0x00205000 0x1000>;
100 interrupts = <14>;
101 clocks = <&clks IMX1_CLK_DUMMY>,
102 <&clks IMX1_CLK_DUMMY>,
103 <&clks IMX1_CLK_PER2>;
104 clock-names = "ipg", "ahb", "per";
105 status = "disabled";
106 };
107
Rob Herring8dccafa2017-10-13 12:54:51 -0500108 uart1: serial@206000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400109 compatible = "fsl,imx1-uart";
110 reg = <0x00206000 0x1000>;
111 interrupts = <30 29 26>;
112 clocks = <&clks IMX1_CLK_HCLK>,
113 <&clks IMX1_CLK_PER1>;
114 clock-names = "ipg", "per";
115 status = "disabled";
116 };
117
Rob Herring8dccafa2017-10-13 12:54:51 -0500118 uart2: serial@207000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400119 compatible = "fsl,imx1-uart";
120 reg = <0x00207000 0x1000>;
121 interrupts = <24 23 20>;
122 clocks = <&clks IMX1_CLK_HCLK>,
123 <&clks IMX1_CLK_PER1>;
124 clock-names = "ipg", "per";
125 status = "disabled";
126 };
127
Rob Herring8dccafa2017-10-13 12:54:51 -0500128 pwm: pwm@208000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400129 #pwm-cells = <2>;
130 compatible = "fsl,imx1-pwm";
131 reg = <0x00208000 0x1000>;
132 interrupts = <34>;
133 clocks = <&clks IMX1_CLK_DUMMY>,
134 <&clks IMX1_CLK_PER1>;
135 clock-names = "ipg", "per";
136 };
137
Rob Herring8dccafa2017-10-13 12:54:51 -0500138 dma: dma@209000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400139 compatible = "fsl,imx1-dma";
140 reg = <0x00209000 0x1000>;
141 interrupts = <61 60>;
142 clocks = <&clks IMX1_CLK_HCLK>,
143 <&clks IMX1_CLK_DMA_GATE>;
144 clock-names = "ipg", "ahb";
145 #dma-cells = <1>;
146 };
147
Rob Herring8dccafa2017-10-13 12:54:51 -0500148 uart3: serial@20a000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400149 compatible = "fsl,imx1-uart";
150 reg = <0x0020a000 0x1000>;
151 interrupts = <54 4 1>;
152 clocks = <&clks IMX1_CLK_UART3_GATE>,
153 <&clks IMX1_CLK_PER1>;
154 clock-names = "ipg", "per";
155 status = "disabled";
156 };
157 };
158
Rob Herring8dccafa2017-10-13 12:54:51 -0500159 aipi@210000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400160 compatible = "fsl,aipi-bus", "simple-bus";
161 #address-cells = <1>;
162 #size-cells = <1>;
163 reg = <0x00210000 0x10000>;
164 ranges;
165
Rob Herring8dccafa2017-10-13 12:54:51 -0500166 cspi1: cspi@213000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400167 #address-cells = <1>;
168 #size-cells = <0>;
169 compatible = "fsl,imx1-cspi";
170 reg = <0x00213000 0x1000>;
171 interrupts = <41>;
172 clocks = <&clks IMX1_CLK_DUMMY>,
173 <&clks IMX1_CLK_PER1>;
174 clock-names = "ipg", "per";
175 status = "disabled";
176 };
177
Rob Herring8dccafa2017-10-13 12:54:51 -0500178 i2c: i2c@217000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400179 #address-cells = <1>;
180 #size-cells = <0>;
181 compatible = "fsl,imx1-i2c";
182 reg = <0x00217000 0x1000>;
183 interrupts = <39>;
184 clocks = <&clks IMX1_CLK_HCLK>;
185 status = "disabled";
186 };
187
Rob Herring8dccafa2017-10-13 12:54:51 -0500188 cspi2: cspi@219000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400189 #address-cells = <1>;
190 #size-cells = <0>;
191 compatible = "fsl,imx1-cspi";
192 reg = <0x00219000 0x1000>;
193 interrupts = <40>;
194 clocks = <&clks IMX1_CLK_DUMMY>,
195 <&clks IMX1_CLK_PER1>;
196 clock-names = "ipg", "per";
197 status = "disabled";
198 };
199
Rob Herring8dccafa2017-10-13 12:54:51 -0500200 clks: ccm@21b000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400201 compatible = "fsl,imx1-ccm";
202 reg = <0x0021b000 0x1000>;
203 #clock-cells = <1>;
204 };
205
Rob Herring8dccafa2017-10-13 12:54:51 -0500206 iomuxc: iomuxc@21c000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400207 compatible = "fsl,imx1-iomuxc";
208 reg = <0x0021c000 0x1000>;
209 #address-cells = <1>;
210 #size-cells = <1>;
211 ranges;
212
Rob Herring8dccafa2017-10-13 12:54:51 -0500213 gpio1: gpio@21c000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400214 compatible = "fsl,imx1-gpio";
215 reg = <0x0021c000 0x100>;
216 interrupts = <11>;
217 gpio-controller;
218 #gpio-cells = <2>;
219 interrupt-controller;
220 #interrupt-cells = <2>;
221 };
222
Rob Herring8dccafa2017-10-13 12:54:51 -0500223 gpio2: gpio@21c100 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400224 compatible = "fsl,imx1-gpio";
225 reg = <0x0021c100 0x100>;
226 interrupts = <12>;
227 gpio-controller;
228 #gpio-cells = <2>;
229 interrupt-controller;
230 #interrupt-cells = <2>;
231 };
232
Rob Herring8dccafa2017-10-13 12:54:51 -0500233 gpio3: gpio@21c200 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400234 compatible = "fsl,imx1-gpio";
235 reg = <0x0021c200 0x100>;
236 interrupts = <13>;
237 gpio-controller;
238 #gpio-cells = <2>;
239 interrupt-controller;
240 #interrupt-cells = <2>;
241 };
242
Rob Herring8dccafa2017-10-13 12:54:51 -0500243 gpio4: gpio@21c300 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400244 compatible = "fsl,imx1-gpio";
245 reg = <0x0021c300 0x100>;
246 interrupts = <62>;
247 gpio-controller;
248 #gpio-cells = <2>;
249 interrupt-controller;
250 #interrupt-cells = <2>;
251 };
252 };
253 };
254
Rob Herring8dccafa2017-10-13 12:54:51 -0500255 weim: weim@220000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400256 #address-cells = <2>;
257 #size-cells = <1>;
258 compatible = "fsl,imx1-weim";
259 reg = <0x00220000 0x1000>;
260 clocks = <&clks IMX1_CLK_DUMMY>;
261 ranges = <
262 0 0 0x10000000 0x02000000
263 1 0 0x12000000 0x01000000
264 2 0 0x13000000 0x01000000
265 3 0 0x14000000 0x01000000
266 4 0 0x15000000 0x01000000
267 5 0 0x16000000 0x01000000
268 >;
269 status = "disabled";
270 };
271
Rob Herring8dccafa2017-10-13 12:54:51 -0500272 esram: esram@300000 {
Alexander Shiyand0eb8fc2014-07-26 13:45:29 +0400273 compatible = "mmio-sram";
274 reg = <0x00300000 0x20000>;
275 };
276 };
277};