xref: /freebsd-src/sys/contrib/device-tree/src/mips/ingenic/jz4770.dtsi (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
28cc087a1SEmmanuel Vadot#include <dt-bindings/clock/ingenic,jz4770-cgu.h>
3c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/ingenic,tcu.h>
4c66ec88fSEmmanuel Vadot
5c66ec88fSEmmanuel Vadot/ {
6c66ec88fSEmmanuel Vadot	#address-cells = <1>;
7c66ec88fSEmmanuel Vadot	#size-cells = <1>;
8c66ec88fSEmmanuel Vadot	compatible = "ingenic,jz4770";
9c66ec88fSEmmanuel Vadot
106be33864SEmmanuel Vadot	cpus {
116be33864SEmmanuel Vadot		#address-cells = <1>;
126be33864SEmmanuel Vadot		#size-cells = <0>;
136be33864SEmmanuel Vadot
146be33864SEmmanuel Vadot		cpu0: cpu@0 {
156be33864SEmmanuel Vadot			device_type = "cpu";
166be33864SEmmanuel Vadot			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
176be33864SEmmanuel Vadot			reg = <0>;
186be33864SEmmanuel Vadot
196be33864SEmmanuel Vadot			clocks = <&cgu JZ4770_CLK_CCLK>;
206be33864SEmmanuel Vadot			clock-names = "cpu";
216be33864SEmmanuel Vadot		};
226be33864SEmmanuel Vadot	};
236be33864SEmmanuel Vadot
24c66ec88fSEmmanuel Vadot	cpuintc: interrupt-controller {
25c66ec88fSEmmanuel Vadot		#address-cells = <0>;
26c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
27c66ec88fSEmmanuel Vadot		interrupt-controller;
28c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
29c66ec88fSEmmanuel Vadot	};
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot	intc: interrupt-controller@10001000 {
32c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-intc";
33c66ec88fSEmmanuel Vadot		reg = <0x10001000 0x40>;
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot		interrupt-controller;
36c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot		interrupt-parent = <&cpuintc>;
39c66ec88fSEmmanuel Vadot		interrupts = <2>;
40c66ec88fSEmmanuel Vadot	};
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot	ext: ext {
43c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
44c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
45c66ec88fSEmmanuel Vadot	};
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot	osc32k: osc32k {
48c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
49c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
50c66ec88fSEmmanuel Vadot		clock-frequency = <32768>;
51c66ec88fSEmmanuel Vadot	};
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot	cgu: jz4770-cgu@10000000 {
54c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-cgu", "simple-mfd";
55c66ec88fSEmmanuel Vadot		reg = <0x10000000 0x100>;
56c66ec88fSEmmanuel Vadot		#address-cells = <1>;
57c66ec88fSEmmanuel Vadot		#size-cells = <1>;
58c66ec88fSEmmanuel Vadot		ranges = <0x0 0x10000000 0x100>;
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&osc32k>;
61c66ec88fSEmmanuel Vadot		clock-names = "ext", "osc32k";
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot		otg_phy: usb-phy@3c {
66c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-phy";
67c66ec88fSEmmanuel Vadot			reg = <0x3c 0x10>;
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot			clocks = <&cgu JZ4770_CLK_OTG_PHY>;
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
72c66ec88fSEmmanuel Vadot		};
73c66ec88fSEmmanuel Vadot	};
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot	tcu: timer@10002000 {
76c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-tcu", "simple-mfd";
77c66ec88fSEmmanuel Vadot		reg = <0x10002000 0x1000>;
78c66ec88fSEmmanuel Vadot		#address-cells = <1>;
79c66ec88fSEmmanuel Vadot		#size-cells = <1>;
80c66ec88fSEmmanuel Vadot		ranges = <0x0 0x10002000 0x1000>;
81c66ec88fSEmmanuel Vadot
82c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_RTC>,
85c66ec88fSEmmanuel Vadot			 <&cgu JZ4770_CLK_EXT>,
86c66ec88fSEmmanuel Vadot			 <&cgu JZ4770_CLK_PCLK>;
87c66ec88fSEmmanuel Vadot		clock-names = "rtc", "ext", "pclk";
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot		interrupt-controller;
90c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
91c66ec88fSEmmanuel Vadot
92c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
93c66ec88fSEmmanuel Vadot		interrupts = <27 26 25>;
94c66ec88fSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot		watchdog: watchdog@0 {
96c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-watchdog",
97c66ec88fSEmmanuel Vadot				     "ingenic,jz4740-watchdog";
98c66ec88fSEmmanuel Vadot			reg = <0x0 0xc>;
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot			clocks = <&tcu TCU_CLK_WDT>;
101c66ec88fSEmmanuel Vadot			clock-names = "wdt";
102c66ec88fSEmmanuel Vadot		};
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot		pwm: pwm@40 {
105c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-pwm", "ingenic,jz4740-pwm";
106c66ec88fSEmmanuel Vadot			reg = <0x40 0x80>;
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot			#pwm-cells = <3>;
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadot			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
111c66ec88fSEmmanuel Vadot				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
112c66ec88fSEmmanuel Vadot				 <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>,
113c66ec88fSEmmanuel Vadot				 <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>;
114c66ec88fSEmmanuel Vadot			clock-names = "timer0", "timer1", "timer2", "timer3",
115c66ec88fSEmmanuel Vadot				      "timer4", "timer5", "timer6", "timer7";
116c66ec88fSEmmanuel Vadot		};
117c66ec88fSEmmanuel Vadot
118c66ec88fSEmmanuel Vadot		ost: timer@e0 {
119c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-ost";
120c66ec88fSEmmanuel Vadot			reg = <0xe0 0x20>;
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot			clocks = <&tcu TCU_CLK_OST>;
123c66ec88fSEmmanuel Vadot			clock-names = "ost";
124c66ec88fSEmmanuel Vadot
125c66ec88fSEmmanuel Vadot			interrupts = <15>;
126c66ec88fSEmmanuel Vadot		};
127c66ec88fSEmmanuel Vadot	};
128c66ec88fSEmmanuel Vadot
129c66ec88fSEmmanuel Vadot	rtc: rtc@10003000 {
130c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-rtc", "ingenic,jz4760-rtc";
131c66ec88fSEmmanuel Vadot		reg = <0x10003000 0x40>;
132c66ec88fSEmmanuel Vadot
133c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
134c66ec88fSEmmanuel Vadot		interrupts = <32>;
135c66ec88fSEmmanuel Vadot	};
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot	pinctrl: pin-controller@10010000 {
138c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-pinctrl";
139c66ec88fSEmmanuel Vadot		reg = <0x10010000 0x600>;
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot		#address-cells = <1>;
142c66ec88fSEmmanuel Vadot		#size-cells = <0>;
143c66ec88fSEmmanuel Vadot
144c66ec88fSEmmanuel Vadot		gpa: gpio@0 {
145c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-gpio";
146c66ec88fSEmmanuel Vadot			reg = <0>;
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadot			gpio-controller;
149c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 0 32>;
150c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
151c66ec88fSEmmanuel Vadot
152c66ec88fSEmmanuel Vadot			interrupt-controller;
153c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
154c66ec88fSEmmanuel Vadot
155c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
156c66ec88fSEmmanuel Vadot			interrupts = <17>;
157c66ec88fSEmmanuel Vadot		};
158c66ec88fSEmmanuel Vadot
159c66ec88fSEmmanuel Vadot		gpb: gpio@1 {
160c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-gpio";
161c66ec88fSEmmanuel Vadot			reg = <1>;
162c66ec88fSEmmanuel Vadot
163c66ec88fSEmmanuel Vadot			gpio-controller;
164c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 32 32>;
165c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel Vadot			interrupt-controller;
168c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
169c66ec88fSEmmanuel Vadot
170c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
171c66ec88fSEmmanuel Vadot			interrupts = <16>;
172c66ec88fSEmmanuel Vadot		};
173c66ec88fSEmmanuel Vadot
174c66ec88fSEmmanuel Vadot		gpc: gpio@2 {
175c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-gpio";
176c66ec88fSEmmanuel Vadot			reg = <2>;
177c66ec88fSEmmanuel Vadot
178c66ec88fSEmmanuel Vadot			gpio-controller;
179c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 64 32>;
180c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
181c66ec88fSEmmanuel Vadot
182c66ec88fSEmmanuel Vadot			interrupt-controller;
183c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
184c66ec88fSEmmanuel Vadot
185c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
186c66ec88fSEmmanuel Vadot			interrupts = <15>;
187c66ec88fSEmmanuel Vadot		};
188c66ec88fSEmmanuel Vadot
189c66ec88fSEmmanuel Vadot		gpd: gpio@3 {
190c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-gpio";
191c66ec88fSEmmanuel Vadot			reg = <3>;
192c66ec88fSEmmanuel Vadot
193c66ec88fSEmmanuel Vadot			gpio-controller;
194c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 96 32>;
195c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
196c66ec88fSEmmanuel Vadot
197c66ec88fSEmmanuel Vadot			interrupt-controller;
198c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
199c66ec88fSEmmanuel Vadot
200c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
201c66ec88fSEmmanuel Vadot			interrupts = <14>;
202c66ec88fSEmmanuel Vadot		};
203c66ec88fSEmmanuel Vadot
204c66ec88fSEmmanuel Vadot		gpe: gpio@4 {
205c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-gpio";
206c66ec88fSEmmanuel Vadot			reg = <4>;
207c66ec88fSEmmanuel Vadot
208c66ec88fSEmmanuel Vadot			gpio-controller;
209c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 128 32>;
210c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel Vadot			interrupt-controller;
213c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
214c66ec88fSEmmanuel Vadot
215c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
216c66ec88fSEmmanuel Vadot			interrupts = <13>;
217c66ec88fSEmmanuel Vadot		};
218c66ec88fSEmmanuel Vadot
219c66ec88fSEmmanuel Vadot		gpf: gpio@5 {
220c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4770-gpio";
221c66ec88fSEmmanuel Vadot			reg = <5>;
222c66ec88fSEmmanuel Vadot
223c66ec88fSEmmanuel Vadot			gpio-controller;
224c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 160 32>;
225c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
226c66ec88fSEmmanuel Vadot
227c66ec88fSEmmanuel Vadot			interrupt-controller;
228c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
229c66ec88fSEmmanuel Vadot
230c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
231c66ec88fSEmmanuel Vadot			interrupts = <12>;
232c66ec88fSEmmanuel Vadot		};
233c66ec88fSEmmanuel Vadot	};
234c66ec88fSEmmanuel Vadot
235c66ec88fSEmmanuel Vadot	aic: audio-controller@10020000 {
236c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-i2s";
237c66ec88fSEmmanuel Vadot		reg = <0x10020000 0x94>;
238c66ec88fSEmmanuel Vadot
239c66ec88fSEmmanuel Vadot		#sound-dai-cells = <0>;
240c66ec88fSEmmanuel Vadot
241*f126890aSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_AIC>, <&cgu JZ4770_CLK_I2S>;
242*f126890aSEmmanuel Vadot		clock-names = "aic", "i2s";
243c66ec88fSEmmanuel Vadot
244c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
245c66ec88fSEmmanuel Vadot		interrupts = <34>;
246c66ec88fSEmmanuel Vadot
247c66ec88fSEmmanuel Vadot		dmas = <&dmac0 25 0xffffffff>, <&dmac0 24 0xffffffff>;
248c66ec88fSEmmanuel Vadot		dma-names = "rx", "tx";
249c66ec88fSEmmanuel Vadot	};
250c66ec88fSEmmanuel Vadot
251c66ec88fSEmmanuel Vadot	codec: audio-codec@100200a0 {
252c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-codec";
253c66ec88fSEmmanuel Vadot		reg = <0x100200a4 0x8>;
254c66ec88fSEmmanuel Vadot
255c66ec88fSEmmanuel Vadot		#sound-dai-cells = <0>;
256c66ec88fSEmmanuel Vadot
257c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_AIC>;
258c66ec88fSEmmanuel Vadot		clock-names = "aic";
259c66ec88fSEmmanuel Vadot	};
260c66ec88fSEmmanuel Vadot
261c66ec88fSEmmanuel Vadot	mmc0: mmc@10021000 {
262c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
263c66ec88fSEmmanuel Vadot		reg = <0x10021000 0x1000>;
264c66ec88fSEmmanuel Vadot
265c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_MMC0>;
266c66ec88fSEmmanuel Vadot		clock-names = "mmc";
267c66ec88fSEmmanuel Vadot
268c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
269c66ec88fSEmmanuel Vadot		interrupts = <37>;
270c66ec88fSEmmanuel Vadot
271c66ec88fSEmmanuel Vadot		dmas = <&dmac1 27 0xffffffff>, <&dmac1 26 0xffffffff>;
272c66ec88fSEmmanuel Vadot		dma-names = "rx", "tx";
273c66ec88fSEmmanuel Vadot
274c66ec88fSEmmanuel Vadot		cap-sd-highspeed;
275c66ec88fSEmmanuel Vadot		cap-mmc-highspeed;
276c66ec88fSEmmanuel Vadot		cap-sdio-irq;
277c66ec88fSEmmanuel Vadot
278c66ec88fSEmmanuel Vadot		status = "disabled";
279c66ec88fSEmmanuel Vadot	};
280c66ec88fSEmmanuel Vadot
281c66ec88fSEmmanuel Vadot	mmc1: mmc@10022000 {
282c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
283c66ec88fSEmmanuel Vadot		reg = <0x10022000 0x1000>;
284c66ec88fSEmmanuel Vadot
285c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_MMC1>;
286c66ec88fSEmmanuel Vadot		clock-names = "mmc";
287c66ec88fSEmmanuel Vadot
288c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
289c66ec88fSEmmanuel Vadot		interrupts = <36>;
290c66ec88fSEmmanuel Vadot
291c66ec88fSEmmanuel Vadot		dmas = <&dmac1 31 0xffffffff>, <&dmac1 30 0xffffffff>;
292c66ec88fSEmmanuel Vadot		dma-names = "rx", "tx";
293c66ec88fSEmmanuel Vadot
294c66ec88fSEmmanuel Vadot		cap-sd-highspeed;
295c66ec88fSEmmanuel Vadot		cap-mmc-highspeed;
296c66ec88fSEmmanuel Vadot		cap-sdio-irq;
297c66ec88fSEmmanuel Vadot
298c66ec88fSEmmanuel Vadot		status = "disabled";
299c66ec88fSEmmanuel Vadot	};
300c66ec88fSEmmanuel Vadot
301c66ec88fSEmmanuel Vadot	mmc2: mmc@10023000 {
302c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
303c66ec88fSEmmanuel Vadot		reg = <0x10023000 0x1000>;
304c66ec88fSEmmanuel Vadot
305c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_MMC2>;
306c66ec88fSEmmanuel Vadot		clock-names = "mmc";
307c66ec88fSEmmanuel Vadot
308c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
309c66ec88fSEmmanuel Vadot		interrupts = <35>;
310c66ec88fSEmmanuel Vadot
311c66ec88fSEmmanuel Vadot		dmas = <&dmac1 37 0xffffffff>, <&dmac1 36 0xffffffff>;
312c66ec88fSEmmanuel Vadot		dma-names = "rx", "tx";
313c66ec88fSEmmanuel Vadot
314c66ec88fSEmmanuel Vadot		cap-sd-highspeed;
315c66ec88fSEmmanuel Vadot		cap-mmc-highspeed;
316c66ec88fSEmmanuel Vadot		cap-sdio-irq;
317c66ec88fSEmmanuel Vadot
318c66ec88fSEmmanuel Vadot		status = "disabled";
319c66ec88fSEmmanuel Vadot	};
320c66ec88fSEmmanuel Vadot
321c66ec88fSEmmanuel Vadot	uart0: serial@10030000 {
322c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-uart";
323c66ec88fSEmmanuel Vadot		reg = <0x10030000 0x100>;
324c66ec88fSEmmanuel Vadot
325c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4770_CLK_UART0>;
326c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
327c66ec88fSEmmanuel Vadot
328c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
329c66ec88fSEmmanuel Vadot		interrupts = <5>;
330c66ec88fSEmmanuel Vadot
331c66ec88fSEmmanuel Vadot		status = "disabled";
332c66ec88fSEmmanuel Vadot	};
333c66ec88fSEmmanuel Vadot
334c66ec88fSEmmanuel Vadot	uart1: serial@10031000 {
335c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-uart";
336c66ec88fSEmmanuel Vadot		reg = <0x10031000 0x100>;
337c66ec88fSEmmanuel Vadot
338c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4770_CLK_UART1>;
339c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
340c66ec88fSEmmanuel Vadot
341c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
342c66ec88fSEmmanuel Vadot		interrupts = <4>;
343c66ec88fSEmmanuel Vadot
344c66ec88fSEmmanuel Vadot		status = "disabled";
345c66ec88fSEmmanuel Vadot	};
346c66ec88fSEmmanuel Vadot
347c66ec88fSEmmanuel Vadot	uart2: serial@10032000 {
348c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-uart";
349c66ec88fSEmmanuel Vadot		reg = <0x10032000 0x100>;
350c66ec88fSEmmanuel Vadot
351c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4770_CLK_UART2>;
352c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
353c66ec88fSEmmanuel Vadot
354c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
355c66ec88fSEmmanuel Vadot		interrupts = <3>;
356c66ec88fSEmmanuel Vadot
357c66ec88fSEmmanuel Vadot		status = "disabled";
358c66ec88fSEmmanuel Vadot	};
359c66ec88fSEmmanuel Vadot
360c66ec88fSEmmanuel Vadot	uart3: serial@10033000 {
361c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-uart";
362c66ec88fSEmmanuel Vadot		reg = <0x10033000 0x100>;
363c66ec88fSEmmanuel Vadot
364c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4770_CLK_UART3>;
365c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
366c66ec88fSEmmanuel Vadot
367c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
368c66ec88fSEmmanuel Vadot		interrupts = <2>;
369c66ec88fSEmmanuel Vadot
370c66ec88fSEmmanuel Vadot		status = "disabled";
371c66ec88fSEmmanuel Vadot	};
372c66ec88fSEmmanuel Vadot
373c66ec88fSEmmanuel Vadot	adc: adc@10070000 {
374c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-adc";
375c66ec88fSEmmanuel Vadot		reg = <0x10070000 0x30>;
376c66ec88fSEmmanuel Vadot
377c66ec88fSEmmanuel Vadot		#io-channel-cells = <1>;
378c66ec88fSEmmanuel Vadot
379c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_ADC>;
380c66ec88fSEmmanuel Vadot		clock-names = "adc";
381c66ec88fSEmmanuel Vadot
382c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
383c66ec88fSEmmanuel Vadot		interrupts = <18>;
384c66ec88fSEmmanuel Vadot	};
385c66ec88fSEmmanuel Vadot
386c66ec88fSEmmanuel Vadot	gpu: gpu@13040000 {
387c66ec88fSEmmanuel Vadot		compatible = "vivante,gc";
388c66ec88fSEmmanuel Vadot		reg = <0x13040000 0x10000>;
389c66ec88fSEmmanuel Vadot
390c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_GPU>,
391c66ec88fSEmmanuel Vadot			 <&cgu JZ4770_CLK_GPU>,
392c66ec88fSEmmanuel Vadot			 <&cgu JZ4770_CLK_GPU>;
393c66ec88fSEmmanuel Vadot		clock-names = "bus", "core", "shader";
394c66ec88fSEmmanuel Vadot
395c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
396c66ec88fSEmmanuel Vadot		interrupts = <6>;
397c66ec88fSEmmanuel Vadot	};
398c66ec88fSEmmanuel Vadot
399c66ec88fSEmmanuel Vadot	lcd: lcd-controller@13050000 {
400c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-lcd";
401e67e8565SEmmanuel Vadot		reg = <0x13050000 0x130>; /* tbc */
402c66ec88fSEmmanuel Vadot
403c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
404c66ec88fSEmmanuel Vadot		interrupts = <31>;
405c66ec88fSEmmanuel Vadot
406c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_LPCLK_MUX>;
407c66ec88fSEmmanuel Vadot		clock-names = "lcd_pclk";
408c66ec88fSEmmanuel Vadot	};
409c66ec88fSEmmanuel Vadot
410c66ec88fSEmmanuel Vadot	dmac0: dma-controller@13420000 {
411c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-dma";
412c66ec88fSEmmanuel Vadot		reg = <0x13420000 0xC0>, <0x13420300 0x20>;
413c66ec88fSEmmanuel Vadot
414c66ec88fSEmmanuel Vadot		#dma-cells = <2>;
415c66ec88fSEmmanuel Vadot
416c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_DMA>;
417c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
418c66ec88fSEmmanuel Vadot		interrupts = <24>;
419c66ec88fSEmmanuel Vadot	};
420c66ec88fSEmmanuel Vadot
421c66ec88fSEmmanuel Vadot	dmac1: dma-controller@13420100 {
422c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-dma";
423c66ec88fSEmmanuel Vadot		reg = <0x13420100 0xC0>, <0x13420400 0x20>;
424c66ec88fSEmmanuel Vadot
425c66ec88fSEmmanuel Vadot		#dma-cells = <2>;
426c66ec88fSEmmanuel Vadot
427c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_DMA>;
428c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
429c66ec88fSEmmanuel Vadot		interrupts = <23>;
430c66ec88fSEmmanuel Vadot	};
431c66ec88fSEmmanuel Vadot
4325def4c47SEmmanuel Vadot	uhc: usb@13430000 {
433c66ec88fSEmmanuel Vadot		compatible = "generic-ohci";
434c66ec88fSEmmanuel Vadot		reg = <0x13430000 0x1000>;
435c66ec88fSEmmanuel Vadot
436c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_UHC>, <&cgu JZ4770_CLK_UHC_PHY>;
437c66ec88fSEmmanuel Vadot		assigned-clocks = <&cgu JZ4770_CLK_UHC>;
438c66ec88fSEmmanuel Vadot		assigned-clock-rates = <48000000>;
439c66ec88fSEmmanuel Vadot
440c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
441c66ec88fSEmmanuel Vadot		interrupts = <20>;
442c66ec88fSEmmanuel Vadot
443c66ec88fSEmmanuel Vadot		status = "disabled";
444c66ec88fSEmmanuel Vadot	};
445c66ec88fSEmmanuel Vadot
446c66ec88fSEmmanuel Vadot	usb_otg: usb@13440000 {
447c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4770-musb";
448c66ec88fSEmmanuel Vadot		reg = <0x13440000 0x10000>;
449c66ec88fSEmmanuel Vadot
450c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4770_CLK_OTG>;
451c66ec88fSEmmanuel Vadot		clock-names = "udc";
452c66ec88fSEmmanuel Vadot
453c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
454c66ec88fSEmmanuel Vadot		interrupts = <21>;
455c66ec88fSEmmanuel Vadot		interrupt-names = "mc";
456c66ec88fSEmmanuel Vadot
457c66ec88fSEmmanuel Vadot		phys = <&otg_phy>;
458c66ec88fSEmmanuel Vadot
459c66ec88fSEmmanuel Vadot		usb-role-switch;
460c66ec88fSEmmanuel Vadot	};
461c66ec88fSEmmanuel Vadot
462c66ec88fSEmmanuel Vadot	rom: memory@1fc00000 {
463c66ec88fSEmmanuel Vadot		compatible = "mtd-rom";
464c66ec88fSEmmanuel Vadot		reg = <0x1fc00000 0x2000>;
465c66ec88fSEmmanuel Vadot
466c66ec88fSEmmanuel Vadot		bank-width = <4>;
467c66ec88fSEmmanuel Vadot		device-width = <1>;
468c66ec88fSEmmanuel Vadot	};
469c66ec88fSEmmanuel Vadot};
470