GNU Linux-libre 4.14.290-gnu1
[releases.git] / arch / mips / boot / dts / ingenic / jz4780.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/jz4780-cgu.h>
3
4 / {
5         #address-cells = <1>;
6         #size-cells = <1>;
7         compatible = "ingenic,jz4780";
8
9         cpuintc: interrupt-controller {
10                 #address-cells = <0>;
11                 #interrupt-cells = <1>;
12                 interrupt-controller;
13                 compatible = "mti,cpu-interrupt-controller";
14         };
15
16         intc: interrupt-controller@10001000 {
17                 compatible = "ingenic,jz4780-intc";
18                 reg = <0x10001000 0x50>;
19
20                 interrupt-controller;
21                 #interrupt-cells = <1>;
22
23                 interrupt-parent = <&cpuintc>;
24                 interrupts = <2>;
25         };
26
27         ext: ext {
28                 compatible = "fixed-clock";
29                 #clock-cells = <0>;
30         };
31
32         rtc: rtc {
33                 compatible = "fixed-clock";
34                 #clock-cells = <0>;
35                 clock-frequency = <32768>;
36         };
37
38         cgu: jz4780-cgu@10000000 {
39                 compatible = "ingenic,jz4780-cgu";
40                 reg = <0x10000000 0x100>;
41
42                 clocks = <&ext>, <&rtc>;
43                 clock-names = "ext", "rtc";
44
45                 #clock-cells = <1>;
46         };
47
48         rtc_dev: rtc@10003000 {
49                 compatible = "ingenic,jz4780-rtc";
50                 reg = <0x10003000 0x4c>;
51
52                 interrupt-parent = <&intc>;
53                 interrupts = <32>;
54
55                 clocks = <&cgu JZ4780_CLK_RTCLK>;
56                 clock-names = "rtc";
57         };
58
59         pinctrl: pin-controller@10010000 {
60                 compatible = "ingenic,jz4780-pinctrl";
61                 reg = <0x10010000 0x600>;
62
63                 #address-cells = <1>;
64                 #size-cells = <0>;
65
66                 gpa: gpio@0 {
67                         compatible = "ingenic,jz4780-gpio";
68                         reg = <0>;
69
70                         gpio-controller;
71                         gpio-ranges = <&pinctrl 0 0 32>;
72                         #gpio-cells = <2>;
73
74                         interrupt-controller;
75                         #interrupt-cells = <2>;
76
77                         interrupt-parent = <&intc>;
78                         interrupts = <17>;
79                 };
80
81                 gpb: gpio@1 {
82                         compatible = "ingenic,jz4780-gpio";
83                         reg = <1>;
84
85                         gpio-controller;
86                         gpio-ranges = <&pinctrl 0 32 32>;
87                         #gpio-cells = <2>;
88
89                         interrupt-controller;
90                         #interrupt-cells = <2>;
91
92                         interrupt-parent = <&intc>;
93                         interrupts = <16>;
94                 };
95
96                 gpc: gpio@2 {
97                         compatible = "ingenic,jz4780-gpio";
98                         reg = <2>;
99
100                         gpio-controller;
101                         gpio-ranges = <&pinctrl 0 64 32>;
102                         #gpio-cells = <2>;
103
104                         interrupt-controller;
105                         #interrupt-cells = <2>;
106
107                         interrupt-parent = <&intc>;
108                         interrupts = <15>;
109                 };
110
111                 gpd: gpio@3 {
112                         compatible = "ingenic,jz4780-gpio";
113                         reg = <3>;
114
115                         gpio-controller;
116                         gpio-ranges = <&pinctrl 0 96 32>;
117                         #gpio-cells = <2>;
118
119                         interrupt-controller;
120                         #interrupt-cells = <2>;
121
122                         interrupt-parent = <&intc>;
123                         interrupts = <14>;
124                 };
125
126                 gpe: gpio@4 {
127                         compatible = "ingenic,jz4780-gpio";
128                         reg = <4>;
129
130                         gpio-controller;
131                         gpio-ranges = <&pinctrl 0 128 32>;
132                         #gpio-cells = <2>;
133
134                         interrupt-controller;
135                         #interrupt-cells = <2>;
136
137                         interrupt-parent = <&intc>;
138                         interrupts = <13>;
139                 };
140
141                 gpf: gpio@5 {
142                         compatible = "ingenic,jz4780-gpio";
143                         reg = <5>;
144
145                         gpio-controller;
146                         gpio-ranges = <&pinctrl 0 160 32>;
147                         #gpio-cells = <2>;
148
149                         interrupt-controller;
150                         #interrupt-cells = <2>;
151
152                         interrupt-parent = <&intc>;
153                         interrupts = <12>;
154                 };
155         };
156
157         uart0: serial@10030000 {
158                 compatible = "ingenic,jz4780-uart";
159                 reg = <0x10030000 0x100>;
160
161                 interrupt-parent = <&intc>;
162                 interrupts = <51>;
163
164                 clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
165                 clock-names = "baud", "module";
166
167                 status = "disabled";
168         };
169
170         uart1: serial@10031000 {
171                 compatible = "ingenic,jz4780-uart";
172                 reg = <0x10031000 0x100>;
173
174                 interrupt-parent = <&intc>;
175                 interrupts = <50>;
176
177                 clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
178                 clock-names = "baud", "module";
179
180                 status = "disabled";
181         };
182
183         uart2: serial@10032000 {
184                 compatible = "ingenic,jz4780-uart";
185                 reg = <0x10032000 0x100>;
186
187                 interrupt-parent = <&intc>;
188                 interrupts = <49>;
189
190                 clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
191                 clock-names = "baud", "module";
192
193                 status = "disabled";
194         };
195
196         uart3: serial@10033000 {
197                 compatible = "ingenic,jz4780-uart";
198                 reg = <0x10033000 0x100>;
199
200                 interrupt-parent = <&intc>;
201                 interrupts = <48>;
202
203                 clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
204                 clock-names = "baud", "module";
205
206                 status = "disabled";
207         };
208
209         uart4: serial@10034000 {
210                 compatible = "ingenic,jz4780-uart";
211                 reg = <0x10034000 0x100>;
212
213                 interrupt-parent = <&intc>;
214                 interrupts = <34>;
215
216                 clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
217                 clock-names = "baud", "module";
218
219                 status = "disabled";
220         };
221
222         nemc: nemc@13410000 {
223                 compatible = "ingenic,jz4780-nemc";
224                 reg = <0x13410000 0x10000>;
225                 #address-cells = <2>;
226                 #size-cells = <1>;
227                 ranges = <1 0 0x1b000000 0x1000000
228                           2 0 0x1a000000 0x1000000
229                           3 0 0x19000000 0x1000000
230                           4 0 0x18000000 0x1000000
231                           5 0 0x17000000 0x1000000
232                           6 0 0x16000000 0x1000000>;
233
234                 clocks = <&cgu JZ4780_CLK_NEMC>;
235
236                 status = "disabled";
237         };
238
239         bch: bch@134d0000 {
240                 compatible = "ingenic,jz4780-bch";
241                 reg = <0x134d0000 0x10000>;
242
243                 clocks = <&cgu JZ4780_CLK_BCH>;
244
245                 status = "disabled";
246         };
247 };