WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / boot / dts / imx1.dtsi
blob9b940987864c715297eaa5b86247969be453bfbf
1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
5 #include "imx1-pinfunc.h"
7 #include <dt-bindings/clock/imx1-clock.h>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
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 {};
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         };
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         };
41         cpus {
42                 #size-cells = <0>;
43                 #address-cells = <1>;
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         };
56         clocks {
57                 clk32 {
58                         compatible = "fsl,imx-clk32", "fixed-clock";
59                         #clock-cells = <0>;
60                         clock-frequency = <32000>;
61                 };
62         };
64         soc {
65                 #address-cells = <1>;
66                 #size-cells = <1>;
67                 compatible = "simple-bus";
68                 interrupt-parent = <&aitc>;
69                 ranges;
71                 aipi@200000 {
72                         compatible = "fsl,aipi-bus", "simple-bus";
73                         #address-cells = <1>;
74                         #size-cells = <1>;
75                         reg = <0x00200000 0x10000>;
76                         ranges;
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                         };
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                         };
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                         };
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                         };
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                         };
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                         };
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                         };
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                 };
158                 aipi@210000 {
159                         compatible = "fsl,aipi-bus", "simple-bus";
160                         #address-cells = <1>;
161                         #size-cells = <1>;
162                         reg = <0x00210000 0x10000>;
163                         ranges;
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                         };
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                         };
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                         };
199                         clks: ccm@21b000 {
200                                 compatible = "fsl,imx1-ccm";
201                                 reg = <0x0021b000 0x1000>;
202                                 #clock-cells = <1>;
203                         };
205                         iomuxc: iomuxc@21c000 {
206                                 compatible = "fsl,imx1-iomuxc";
207                                 reg = <0x0021c000 0x1000>;
208                                 #address-cells = <1>;
209                                 #size-cells = <1>;
210                                 ranges;
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                                 };
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                                 };
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                                 };
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                 };
254                 weim: weim@220000 {
255                         #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                 };
271                 esram: esram@300000 {
272                         compatible = "mmio-sram";
273                         reg = <0x00300000 0x20000>;
274                 };
275         };