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