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