xref: /freebsd/sys/contrib/device-tree/src/mips/ingenic/jz4780.dtsi (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
28cc087a1SEmmanuel Vadot#include <dt-bindings/clock/ingenic,jz4780-cgu.h>
3c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/ingenic,tcu.h>
4c66ec88fSEmmanuel Vadot#include <dt-bindings/dma/jz4780-dma.h>
5c66ec88fSEmmanuel Vadot
6c66ec88fSEmmanuel Vadot/ {
7c66ec88fSEmmanuel Vadot	#address-cells = <1>;
8c66ec88fSEmmanuel Vadot	#size-cells = <1>;
9c66ec88fSEmmanuel Vadot	compatible = "ingenic,jz4780";
10c66ec88fSEmmanuel Vadot
116be33864SEmmanuel Vadot	cpus {
126be33864SEmmanuel Vadot		#address-cells = <1>;
136be33864SEmmanuel Vadot		#size-cells = <0>;
146be33864SEmmanuel Vadot
156be33864SEmmanuel Vadot		cpu0: cpu@0 {
166be33864SEmmanuel Vadot			device_type = "cpu";
176be33864SEmmanuel Vadot			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
186be33864SEmmanuel Vadot			reg = <0>;
196be33864SEmmanuel Vadot
206be33864SEmmanuel Vadot			clocks = <&cgu JZ4780_CLK_CPU>;
216be33864SEmmanuel Vadot			clock-names = "cpu";
226be33864SEmmanuel Vadot		};
236be33864SEmmanuel Vadot
246be33864SEmmanuel Vadot		cpu1: cpu@1 {
256be33864SEmmanuel Vadot			device_type = "cpu";
266be33864SEmmanuel Vadot			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
276be33864SEmmanuel Vadot			reg = <1>;
286be33864SEmmanuel Vadot
296be33864SEmmanuel Vadot			clocks = <&cgu JZ4780_CLK_CORE1>;
306be33864SEmmanuel Vadot			clock-names = "cpu";
316be33864SEmmanuel Vadot		};
326be33864SEmmanuel Vadot	};
336be33864SEmmanuel Vadot
34c66ec88fSEmmanuel Vadot	cpuintc: interrupt-controller {
35c66ec88fSEmmanuel Vadot		#address-cells = <0>;
36c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
37c66ec88fSEmmanuel Vadot		interrupt-controller;
38c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
39c66ec88fSEmmanuel Vadot	};
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot	intc: interrupt-controller@10001000 {
42c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-intc";
43c66ec88fSEmmanuel Vadot		reg = <0x10001000 0x50>;
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot		interrupt-controller;
46c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot		interrupt-parent = <&cpuintc>;
49c66ec88fSEmmanuel Vadot		interrupts = <2>;
50c66ec88fSEmmanuel Vadot	};
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot	ext: ext {
53c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
54c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
55c66ec88fSEmmanuel Vadot	};
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot	rtc: rtc {
58c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
59c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
60c66ec88fSEmmanuel Vadot		clock-frequency = <32768>;
61c66ec88fSEmmanuel Vadot	};
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot	cgu: jz4780-cgu@10000000 {
645def4c47SEmmanuel Vadot		compatible = "ingenic,jz4780-cgu", "simple-mfd";
65c66ec88fSEmmanuel Vadot		reg = <0x10000000 0x100>;
665def4c47SEmmanuel Vadot		#address-cells = <1>;
675def4c47SEmmanuel Vadot		#size-cells = <1>;
685def4c47SEmmanuel Vadot		ranges = <0x0 0x10000000 0x100>;
695def4c47SEmmanuel Vadot
705def4c47SEmmanuel Vadot		#clock-cells = <1>;
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&rtc>;
73c66ec88fSEmmanuel Vadot		clock-names = "ext", "rtc";
74c66ec88fSEmmanuel Vadot
755def4c47SEmmanuel Vadot		otg_phy: usb-phy@3c {
765def4c47SEmmanuel Vadot			compatible = "ingenic,jz4780-phy";
775def4c47SEmmanuel Vadot			reg = <0x3c 0x10>;
785def4c47SEmmanuel Vadot
795def4c47SEmmanuel Vadot			clocks = <&cgu JZ4780_CLK_OTG1>;
805def4c47SEmmanuel Vadot
815def4c47SEmmanuel Vadot			#phy-cells = <0>;
825def4c47SEmmanuel Vadot
835def4c47SEmmanuel Vadot			status = "disabled";
845def4c47SEmmanuel Vadot		};
855def4c47SEmmanuel Vadot
865def4c47SEmmanuel Vadot		rng: rng@d8 {
875def4c47SEmmanuel Vadot			compatible = "ingenic,jz4780-rng";
885def4c47SEmmanuel Vadot			reg = <0xd8 0x8>;
895def4c47SEmmanuel Vadot
905def4c47SEmmanuel Vadot			status = "disabled";
915def4c47SEmmanuel Vadot		};
92c66ec88fSEmmanuel Vadot	};
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot	tcu: timer@10002000 {
95c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-tcu",
96c66ec88fSEmmanuel Vadot			     "ingenic,jz4770-tcu",
97c66ec88fSEmmanuel Vadot			     "simple-mfd";
98c66ec88fSEmmanuel Vadot		reg = <0x10002000 0x1000>;
99c66ec88fSEmmanuel Vadot		#address-cells = <1>;
100c66ec88fSEmmanuel Vadot		#size-cells = <1>;
101c66ec88fSEmmanuel Vadot		ranges = <0x0 0x10002000 0x1000>;
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_RTCLK>,
106c66ec88fSEmmanuel Vadot			 <&cgu JZ4780_CLK_EXCLK>,
107c66ec88fSEmmanuel Vadot			 <&cgu JZ4780_CLK_PCLK>;
108c66ec88fSEmmanuel Vadot		clock-names = "rtc", "ext", "pclk";
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadot		interrupt-controller;
111c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
114c66ec88fSEmmanuel Vadot		interrupts = <27 26 25>;
115c66ec88fSEmmanuel Vadot
116c66ec88fSEmmanuel Vadot		watchdog: watchdog@0 {
117c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-watchdog";
118c66ec88fSEmmanuel Vadot			reg = <0x0 0xc>;
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot			clocks = <&tcu TCU_CLK_WDT>;
121c66ec88fSEmmanuel Vadot			clock-names = "wdt";
122c66ec88fSEmmanuel Vadot		};
123c66ec88fSEmmanuel Vadot
124c66ec88fSEmmanuel Vadot		pwm: pwm@40 {
125c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-pwm", "ingenic,jz4740-pwm";
126c66ec88fSEmmanuel Vadot			reg = <0x40 0x80>;
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot			#pwm-cells = <3>;
129c66ec88fSEmmanuel Vadot
130c66ec88fSEmmanuel Vadot			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
131c66ec88fSEmmanuel Vadot				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
132c66ec88fSEmmanuel Vadot				 <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>,
133c66ec88fSEmmanuel Vadot				 <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>;
134c66ec88fSEmmanuel Vadot			clock-names = "timer0", "timer1", "timer2", "timer3",
135c66ec88fSEmmanuel Vadot				      "timer4", "timer5", "timer6", "timer7";
136c66ec88fSEmmanuel Vadot		};
137c66ec88fSEmmanuel Vadot
138c66ec88fSEmmanuel Vadot		ost: timer@e0 {
139c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-ost", "ingenic,jz4770-ost";
140c66ec88fSEmmanuel Vadot			reg = <0xe0 0x20>;
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadot			clocks = <&tcu TCU_CLK_OST>;
143c66ec88fSEmmanuel Vadot			clock-names = "ost";
144c66ec88fSEmmanuel Vadot
145c66ec88fSEmmanuel Vadot			interrupts = <15>;
146c66ec88fSEmmanuel Vadot		};
147c66ec88fSEmmanuel Vadot	};
148c66ec88fSEmmanuel Vadot
149c66ec88fSEmmanuel Vadot	rtc_dev: rtc@10003000 {
150c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-rtc";
151c66ec88fSEmmanuel Vadot		reg = <0x10003000 0x4c>;
152c66ec88fSEmmanuel Vadot
153c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
154c66ec88fSEmmanuel Vadot		interrupts = <32>;
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_RTCLK>;
157c66ec88fSEmmanuel Vadot		clock-names = "rtc";
158*cb7aa33aSEmmanuel Vadot
159*cb7aa33aSEmmanuel Vadot		#clock-cells = <0>;
160c66ec88fSEmmanuel Vadot	};
161c66ec88fSEmmanuel Vadot
162c66ec88fSEmmanuel Vadot	pinctrl: pin-controller@10010000 {
163c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-pinctrl";
164c66ec88fSEmmanuel Vadot		reg = <0x10010000 0x600>;
165c66ec88fSEmmanuel Vadot
166c66ec88fSEmmanuel Vadot		#address-cells = <1>;
167c66ec88fSEmmanuel Vadot		#size-cells = <0>;
168c66ec88fSEmmanuel Vadot
169c66ec88fSEmmanuel Vadot		gpa: gpio@0 {
170c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-gpio";
171c66ec88fSEmmanuel Vadot			reg = <0>;
172c66ec88fSEmmanuel Vadot
173c66ec88fSEmmanuel Vadot			gpio-controller;
174c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 0 32>;
175c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot			interrupt-controller;
178c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
179c66ec88fSEmmanuel Vadot
180c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
181c66ec88fSEmmanuel Vadot			interrupts = <17>;
182c66ec88fSEmmanuel Vadot		};
183c66ec88fSEmmanuel Vadot
184c66ec88fSEmmanuel Vadot		gpb: gpio@1 {
185c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-gpio";
186c66ec88fSEmmanuel Vadot			reg = <1>;
187c66ec88fSEmmanuel Vadot
188c66ec88fSEmmanuel Vadot			gpio-controller;
189c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 32 32>;
190c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
191c66ec88fSEmmanuel Vadot
192c66ec88fSEmmanuel Vadot			interrupt-controller;
193c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
194c66ec88fSEmmanuel Vadot
195c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
196c66ec88fSEmmanuel Vadot			interrupts = <16>;
197c66ec88fSEmmanuel Vadot		};
198c66ec88fSEmmanuel Vadot
199c66ec88fSEmmanuel Vadot		gpc: gpio@2 {
200c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-gpio";
201c66ec88fSEmmanuel Vadot			reg = <2>;
202c66ec88fSEmmanuel Vadot
203c66ec88fSEmmanuel Vadot			gpio-controller;
204c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 64 32>;
205c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
206c66ec88fSEmmanuel Vadot
207c66ec88fSEmmanuel Vadot			interrupt-controller;
208c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
209c66ec88fSEmmanuel Vadot
210c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
211c66ec88fSEmmanuel Vadot			interrupts = <15>;
212c66ec88fSEmmanuel Vadot		};
213c66ec88fSEmmanuel Vadot
214c66ec88fSEmmanuel Vadot		gpd: gpio@3 {
215c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-gpio";
216c66ec88fSEmmanuel Vadot			reg = <3>;
217c66ec88fSEmmanuel Vadot
218c66ec88fSEmmanuel Vadot			gpio-controller;
219c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 96 32>;
220c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
221c66ec88fSEmmanuel Vadot
222c66ec88fSEmmanuel Vadot			interrupt-controller;
223c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
224c66ec88fSEmmanuel Vadot
225c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
226c66ec88fSEmmanuel Vadot			interrupts = <14>;
227c66ec88fSEmmanuel Vadot		};
228c66ec88fSEmmanuel Vadot
229c66ec88fSEmmanuel Vadot		gpe: gpio@4 {
230c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-gpio";
231c66ec88fSEmmanuel Vadot			reg = <4>;
232c66ec88fSEmmanuel Vadot
233c66ec88fSEmmanuel Vadot			gpio-controller;
234c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 128 32>;
235c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
236c66ec88fSEmmanuel Vadot
237c66ec88fSEmmanuel Vadot			interrupt-controller;
238c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
239c66ec88fSEmmanuel Vadot
240c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
241c66ec88fSEmmanuel Vadot			interrupts = <13>;
242c66ec88fSEmmanuel Vadot		};
243c66ec88fSEmmanuel Vadot
244c66ec88fSEmmanuel Vadot		gpf: gpio@5 {
245c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-gpio";
246c66ec88fSEmmanuel Vadot			reg = <5>;
247c66ec88fSEmmanuel Vadot
248c66ec88fSEmmanuel Vadot			gpio-controller;
249c66ec88fSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 160 32>;
250c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
251c66ec88fSEmmanuel Vadot
252c66ec88fSEmmanuel Vadot			interrupt-controller;
253c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
254c66ec88fSEmmanuel Vadot
255c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
256c66ec88fSEmmanuel Vadot			interrupts = <12>;
257c66ec88fSEmmanuel Vadot		};
258c66ec88fSEmmanuel Vadot	};
259c66ec88fSEmmanuel Vadot
2608cc087a1SEmmanuel Vadot	spi0: spi@10043000 {
2618cc087a1SEmmanuel Vadot		compatible = "ingenic,jz4780-spi";
2628cc087a1SEmmanuel Vadot		reg = <0x10043000 0x1c>;
263c66ec88fSEmmanuel Vadot		#address-cells = <1>;
264c66ec88fSEmmanuel Vadot		#size-cells = <0>;
265c66ec88fSEmmanuel Vadot
2668cc087a1SEmmanuel Vadot		interrupt-parent = <&intc>;
2678cc087a1SEmmanuel Vadot		interrupts = <8>;
268c66ec88fSEmmanuel Vadot
2698cc087a1SEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SSI0>;
2708cc087a1SEmmanuel Vadot		clock-names = "spi";
2718cc087a1SEmmanuel Vadot
2728cc087a1SEmmanuel Vadot		dmas = <&dma JZ4780_DMA_SSI0_RX 0xffffffff>,
2738cc087a1SEmmanuel Vadot		       <&dma JZ4780_DMA_SSI0_TX 0xffffffff>;
2748cc087a1SEmmanuel Vadot		dma-names = "rx", "tx";
2758cc087a1SEmmanuel Vadot
2768cc087a1SEmmanuel Vadot		status = "disabled";
277c66ec88fSEmmanuel Vadot	};
278c66ec88fSEmmanuel Vadot
279c66ec88fSEmmanuel Vadot	uart0: serial@10030000 {
280c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-uart";
281c66ec88fSEmmanuel Vadot		reg = <0x10030000 0x100>;
282c66ec88fSEmmanuel Vadot
283c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
284c66ec88fSEmmanuel Vadot		interrupts = <51>;
285c66ec88fSEmmanuel Vadot
286c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
287c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
288c66ec88fSEmmanuel Vadot
289c66ec88fSEmmanuel Vadot		status = "disabled";
290c66ec88fSEmmanuel Vadot	};
291c66ec88fSEmmanuel Vadot
292c66ec88fSEmmanuel Vadot	uart1: serial@10031000 {
293c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-uart";
294c66ec88fSEmmanuel Vadot		reg = <0x10031000 0x100>;
295c66ec88fSEmmanuel Vadot
296c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
297c66ec88fSEmmanuel Vadot		interrupts = <50>;
298c66ec88fSEmmanuel Vadot
299c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
300c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
301c66ec88fSEmmanuel Vadot
302c66ec88fSEmmanuel Vadot		status = "disabled";
303c66ec88fSEmmanuel Vadot	};
304c66ec88fSEmmanuel Vadot
305c66ec88fSEmmanuel Vadot	uart2: serial@10032000 {
306c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-uart";
307c66ec88fSEmmanuel Vadot		reg = <0x10032000 0x100>;
308c66ec88fSEmmanuel Vadot
309c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
310c66ec88fSEmmanuel Vadot		interrupts = <49>;
311c66ec88fSEmmanuel Vadot
312c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
313c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
314c66ec88fSEmmanuel Vadot
315c66ec88fSEmmanuel Vadot		status = "disabled";
316c66ec88fSEmmanuel Vadot	};
317c66ec88fSEmmanuel Vadot
318c66ec88fSEmmanuel Vadot	uart3: serial@10033000 {
319c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-uart";
320c66ec88fSEmmanuel Vadot		reg = <0x10033000 0x100>;
321c66ec88fSEmmanuel Vadot
322c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
323c66ec88fSEmmanuel Vadot		interrupts = <48>;
324c66ec88fSEmmanuel Vadot
325c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
326c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
327c66ec88fSEmmanuel Vadot
328c66ec88fSEmmanuel Vadot		status = "disabled";
329c66ec88fSEmmanuel Vadot	};
330c66ec88fSEmmanuel Vadot
331c66ec88fSEmmanuel Vadot	uart4: serial@10034000 {
332c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-uart";
333c66ec88fSEmmanuel Vadot		reg = <0x10034000 0x100>;
334c66ec88fSEmmanuel Vadot
335c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
336c66ec88fSEmmanuel Vadot		interrupts = <34>;
337c66ec88fSEmmanuel Vadot
338c66ec88fSEmmanuel Vadot		clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
339c66ec88fSEmmanuel Vadot		clock-names = "baud", "module";
340c66ec88fSEmmanuel Vadot
341c66ec88fSEmmanuel Vadot		status = "disabled";
342c66ec88fSEmmanuel Vadot	};
343c66ec88fSEmmanuel Vadot
3448cc087a1SEmmanuel Vadot	spi1: spi@10044000 {
3458cc087a1SEmmanuel Vadot		compatible = "ingenic,jz4780-spi";
3468cc087a1SEmmanuel Vadot		reg = <0x10044000 0x1c>;
3478cc087a1SEmmanuel Vadot		#address-cells = <1>;
3488cc087a1SEmmanuel Vadot		#size-sells = <0>;
3498cc087a1SEmmanuel Vadot
3508cc087a1SEmmanuel Vadot		interrupt-parent = <&intc>;
3518cc087a1SEmmanuel Vadot		interrupts = <7>;
3528cc087a1SEmmanuel Vadot
3538cc087a1SEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SSI1>;
3548cc087a1SEmmanuel Vadot		clock-names = "spi";
3558cc087a1SEmmanuel Vadot
3568cc087a1SEmmanuel Vadot		dmas = <&dma JZ4780_DMA_SSI1_RX 0xffffffff>,
3578cc087a1SEmmanuel Vadot		       <&dma JZ4780_DMA_SSI1_TX 0xffffffff>;
3588cc087a1SEmmanuel Vadot		dma-names = "rx", "tx";
3598cc087a1SEmmanuel Vadot
3608cc087a1SEmmanuel Vadot		status = "disabled";
3618cc087a1SEmmanuel Vadot	};
3628cc087a1SEmmanuel Vadot
363c66ec88fSEmmanuel Vadot	i2c0: i2c@10050000 {
3645956d97fSEmmanuel Vadot		compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
365c66ec88fSEmmanuel Vadot		#address-cells = <1>;
366c66ec88fSEmmanuel Vadot		#size-cells = <0>;
367c66ec88fSEmmanuel Vadot
368c66ec88fSEmmanuel Vadot		reg = <0x10050000 0x1000>;
369c66ec88fSEmmanuel Vadot
370c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
371c66ec88fSEmmanuel Vadot		interrupts = <60>;
372c66ec88fSEmmanuel Vadot
373c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SMB0>;
374c66ec88fSEmmanuel Vadot		clock-frequency = <100000>;
375c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
376c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pins_i2c0_data>;
377c66ec88fSEmmanuel Vadot
378c66ec88fSEmmanuel Vadot		status = "disabled";
379c66ec88fSEmmanuel Vadot	};
380c66ec88fSEmmanuel Vadot
381c66ec88fSEmmanuel Vadot	i2c1: i2c@10051000 {
3825956d97fSEmmanuel Vadot		compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
383c66ec88fSEmmanuel Vadot		#address-cells = <1>;
384c66ec88fSEmmanuel Vadot		#size-cells = <0>;
385c66ec88fSEmmanuel Vadot		reg = <0x10051000 0x1000>;
386c66ec88fSEmmanuel Vadot
387c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
388c66ec88fSEmmanuel Vadot		interrupts = <59>;
389c66ec88fSEmmanuel Vadot
390c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SMB1>;
391c66ec88fSEmmanuel Vadot		clock-frequency = <100000>;
392c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
393c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pins_i2c1_data>;
394c66ec88fSEmmanuel Vadot
395c66ec88fSEmmanuel Vadot		status = "disabled";
396c66ec88fSEmmanuel Vadot	};
397c66ec88fSEmmanuel Vadot
398c66ec88fSEmmanuel Vadot	i2c2: i2c@10052000 {
3995956d97fSEmmanuel Vadot		compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
400c66ec88fSEmmanuel Vadot		#address-cells = <1>;
401c66ec88fSEmmanuel Vadot		#size-cells = <0>;
402c66ec88fSEmmanuel Vadot		reg = <0x10052000 0x1000>;
403c66ec88fSEmmanuel Vadot
404c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
405c66ec88fSEmmanuel Vadot		interrupts = <58>;
406c66ec88fSEmmanuel Vadot
407c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SMB2>;
408c66ec88fSEmmanuel Vadot		clock-frequency = <100000>;
409c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
410c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pins_i2c2_data>;
411c66ec88fSEmmanuel Vadot
412c66ec88fSEmmanuel Vadot		status = "disabled";
413c66ec88fSEmmanuel Vadot	};
414c66ec88fSEmmanuel Vadot
415c66ec88fSEmmanuel Vadot	i2c3: i2c@10053000 {
4165956d97fSEmmanuel Vadot		compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
417c66ec88fSEmmanuel Vadot		#address-cells = <1>;
418c66ec88fSEmmanuel Vadot		#size-cells = <0>;
419c66ec88fSEmmanuel Vadot		reg = <0x10053000 0x1000>;
420c66ec88fSEmmanuel Vadot
421c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
422c66ec88fSEmmanuel Vadot		interrupts = <57>;
423c66ec88fSEmmanuel Vadot
424c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SMB3>;
425c66ec88fSEmmanuel Vadot		clock-frequency = <100000>;
426c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
427c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pins_i2c3_data>;
428c66ec88fSEmmanuel Vadot
429c66ec88fSEmmanuel Vadot		status = "disabled";
430c66ec88fSEmmanuel Vadot	};
431c66ec88fSEmmanuel Vadot
432c66ec88fSEmmanuel Vadot	i2c4: i2c@10054000 {
4335956d97fSEmmanuel Vadot		compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
434c66ec88fSEmmanuel Vadot		#address-cells = <1>;
435c66ec88fSEmmanuel Vadot		#size-cells = <0>;
436c66ec88fSEmmanuel Vadot		reg = <0x10054000 0x1000>;
437c66ec88fSEmmanuel Vadot
438c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
439c66ec88fSEmmanuel Vadot		interrupts = <56>;
440c66ec88fSEmmanuel Vadot
441c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_SMB4>;
442c66ec88fSEmmanuel Vadot		clock-frequency = <100000>;
443c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
444c66ec88fSEmmanuel Vadot		pinctrl-0 = <&pins_i2c4_data>;
445c66ec88fSEmmanuel Vadot
446c66ec88fSEmmanuel Vadot		status = "disabled";
447c66ec88fSEmmanuel Vadot	};
448c66ec88fSEmmanuel Vadot
449e67e8565SEmmanuel Vadot	hdmi: hdmi@10180000 {
450e67e8565SEmmanuel Vadot		compatible = "ingenic,jz4780-dw-hdmi";
451e67e8565SEmmanuel Vadot		reg = <0x10180000 0x8000>;
452e67e8565SEmmanuel Vadot		reg-io-width = <4>;
453e67e8565SEmmanuel Vadot
454e67e8565SEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_AHB0>, <&cgu JZ4780_CLK_HDMI>;
455e67e8565SEmmanuel Vadot		clock-names = "iahb", "isfr";
456e67e8565SEmmanuel Vadot
457e67e8565SEmmanuel Vadot		interrupt-parent = <&intc>;
458e67e8565SEmmanuel Vadot		interrupts = <3>;
459e67e8565SEmmanuel Vadot
460e67e8565SEmmanuel Vadot		status = "disabled";
461e67e8565SEmmanuel Vadot	};
462e67e8565SEmmanuel Vadot
463e67e8565SEmmanuel Vadot	lcdc0: lcdc0@13050000 {
464e67e8565SEmmanuel Vadot		compatible = "ingenic,jz4780-lcd";
465e67e8565SEmmanuel Vadot		reg = <0x13050000 0x1800>;
466e67e8565SEmmanuel Vadot
467e67e8565SEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
468e67e8565SEmmanuel Vadot		clock-names = "lcd", "lcd_pclk";
469e67e8565SEmmanuel Vadot
470e67e8565SEmmanuel Vadot		interrupt-parent = <&intc>;
471e67e8565SEmmanuel Vadot		interrupts = <31>;
472e67e8565SEmmanuel Vadot
473e67e8565SEmmanuel Vadot		status = "disabled";
474e67e8565SEmmanuel Vadot	};
475e67e8565SEmmanuel Vadot
476e67e8565SEmmanuel Vadot	lcdc1: lcdc1@130a0000 {
477e67e8565SEmmanuel Vadot		compatible = "ingenic,jz4780-lcd";
478e67e8565SEmmanuel Vadot		reg = <0x130a0000 0x1800>;
479e67e8565SEmmanuel Vadot
480e67e8565SEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD1PIXCLK>;
481e67e8565SEmmanuel Vadot		clock-names = "lcd", "lcd_pclk";
482e67e8565SEmmanuel Vadot
483e67e8565SEmmanuel Vadot		interrupt-parent = <&intc>;
484e67e8565SEmmanuel Vadot		interrupts = <23>;
485e67e8565SEmmanuel Vadot
486e67e8565SEmmanuel Vadot		status = "disabled";
487e67e8565SEmmanuel Vadot	};
488e67e8565SEmmanuel Vadot
489c66ec88fSEmmanuel Vadot	nemc: nemc@13410000 {
490c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-nemc", "simple-mfd";
491c66ec88fSEmmanuel Vadot		reg = <0x13410000 0x10000>;
492c66ec88fSEmmanuel Vadot		#address-cells = <2>;
493c66ec88fSEmmanuel Vadot		#size-cells = <1>;
494c66ec88fSEmmanuel Vadot		ranges = <0 0 0x13410000 0x10000>,
495c66ec88fSEmmanuel Vadot			 <1 0 0x1b000000 0x1000000>,
496c66ec88fSEmmanuel Vadot			 <2 0 0x1a000000 0x1000000>,
497c66ec88fSEmmanuel Vadot			 <3 0 0x19000000 0x1000000>,
498c66ec88fSEmmanuel Vadot			 <4 0 0x18000000 0x1000000>,
499c66ec88fSEmmanuel Vadot			 <5 0 0x17000000 0x1000000>,
500c66ec88fSEmmanuel Vadot			 <6 0 0x16000000 0x1000000>;
501c66ec88fSEmmanuel Vadot
502c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_NEMC>;
503c66ec88fSEmmanuel Vadot
504c66ec88fSEmmanuel Vadot		status = "disabled";
505c66ec88fSEmmanuel Vadot
506c66ec88fSEmmanuel Vadot		efuse: efuse@d0 {
507c66ec88fSEmmanuel Vadot			reg = <0 0xd0 0x30>;
508c66ec88fSEmmanuel Vadot			compatible = "ingenic,jz4780-efuse";
509c66ec88fSEmmanuel Vadot
510c66ec88fSEmmanuel Vadot			clocks = <&cgu JZ4780_CLK_AHB2>;
511c66ec88fSEmmanuel Vadot
512c66ec88fSEmmanuel Vadot			#address-cells = <1>;
513c66ec88fSEmmanuel Vadot			#size-cells = <1>;
514c66ec88fSEmmanuel Vadot
515c9ccf3a3SEmmanuel Vadot			eth0_addr: eth-mac-addr@22 {
516c66ec88fSEmmanuel Vadot				reg = <0x22 0x6>;
517c66ec88fSEmmanuel Vadot			};
518c66ec88fSEmmanuel Vadot		};
519c66ec88fSEmmanuel Vadot	};
520c66ec88fSEmmanuel Vadot
521c66ec88fSEmmanuel Vadot	dma: dma@13420000 {
522c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-dma";
523c66ec88fSEmmanuel Vadot		reg = <0x13420000 0x400>, <0x13421000 0x40>;
524c66ec88fSEmmanuel Vadot		#dma-cells = <2>;
525c66ec88fSEmmanuel Vadot
526c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
527c66ec88fSEmmanuel Vadot		interrupts = <10>;
528c66ec88fSEmmanuel Vadot
529c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_PDMA>;
530c66ec88fSEmmanuel Vadot	};
531c66ec88fSEmmanuel Vadot
532c66ec88fSEmmanuel Vadot	mmc0: mmc@13450000 {
533c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-mmc";
534c66ec88fSEmmanuel Vadot		reg = <0x13450000 0x1000>;
535c66ec88fSEmmanuel Vadot
536c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
537c66ec88fSEmmanuel Vadot		interrupts = <37>;
538c66ec88fSEmmanuel Vadot
539c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_MSC0>;
540c66ec88fSEmmanuel Vadot		clock-names = "mmc";
541c66ec88fSEmmanuel Vadot
542c66ec88fSEmmanuel Vadot		cap-sd-highspeed;
543c66ec88fSEmmanuel Vadot		cap-mmc-highspeed;
544c66ec88fSEmmanuel Vadot		cap-sdio-irq;
545c66ec88fSEmmanuel Vadot		dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>,
546c66ec88fSEmmanuel Vadot		       <&dma JZ4780_DMA_MSC0_TX 0xffffffff>;
547c66ec88fSEmmanuel Vadot		dma-names = "rx", "tx";
548c66ec88fSEmmanuel Vadot
549c66ec88fSEmmanuel Vadot		status = "disabled";
550c66ec88fSEmmanuel Vadot	};
551c66ec88fSEmmanuel Vadot
552c66ec88fSEmmanuel Vadot	mmc1: mmc@13460000 {
553c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-mmc";
554c66ec88fSEmmanuel Vadot		reg = <0x13460000 0x1000>;
555c66ec88fSEmmanuel Vadot
556c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
557c66ec88fSEmmanuel Vadot		interrupts = <36>;
558c66ec88fSEmmanuel Vadot
559c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_MSC1>;
560c66ec88fSEmmanuel Vadot		clock-names = "mmc";
561c66ec88fSEmmanuel Vadot
562c66ec88fSEmmanuel Vadot		cap-sd-highspeed;
563c66ec88fSEmmanuel Vadot		cap-mmc-highspeed;
564c66ec88fSEmmanuel Vadot		cap-sdio-irq;
565c66ec88fSEmmanuel Vadot		dmas = <&dma JZ4780_DMA_MSC1_RX 0xffffffff>,
566c66ec88fSEmmanuel Vadot		       <&dma JZ4780_DMA_MSC1_TX 0xffffffff>;
567c66ec88fSEmmanuel Vadot		dma-names = "rx", "tx";
568c66ec88fSEmmanuel Vadot
569c66ec88fSEmmanuel Vadot		status = "disabled";
570c66ec88fSEmmanuel Vadot	};
571c66ec88fSEmmanuel Vadot
572c66ec88fSEmmanuel Vadot	bch: bch@134d0000 {
573c66ec88fSEmmanuel Vadot		compatible = "ingenic,jz4780-bch";
574c66ec88fSEmmanuel Vadot		reg = <0x134d0000 0x10000>;
575c66ec88fSEmmanuel Vadot
576c66ec88fSEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_BCH>;
577c66ec88fSEmmanuel Vadot
578c66ec88fSEmmanuel Vadot		status = "disabled";
579c66ec88fSEmmanuel Vadot	};
5805def4c47SEmmanuel Vadot
5815def4c47SEmmanuel Vadot	otg: usb@13500000 {
582d5b0e70fSEmmanuel Vadot		compatible = "ingenic,jz4780-otg";
5835def4c47SEmmanuel Vadot		reg = <0x13500000 0x40000>;
5845def4c47SEmmanuel Vadot
5855def4c47SEmmanuel Vadot		interrupt-parent = <&intc>;
5865def4c47SEmmanuel Vadot		interrupts = <21>;
5875def4c47SEmmanuel Vadot
5885def4c47SEmmanuel Vadot		clocks = <&cgu JZ4780_CLK_UHC>;
5895def4c47SEmmanuel Vadot		clock-names = "otg";
5905def4c47SEmmanuel Vadot
5915def4c47SEmmanuel Vadot		phys = <&otg_phy>;
5925def4c47SEmmanuel Vadot		phy-names = "usb2-phy";
5935def4c47SEmmanuel Vadot
5945def4c47SEmmanuel Vadot		g-rx-fifo-size = <768>;
5955def4c47SEmmanuel Vadot		g-np-tx-fifo-size = <256>;
5965def4c47SEmmanuel Vadot		g-tx-fifo-size = <256 256 256 256 256 256 256 512>;
5975def4c47SEmmanuel Vadot
5985def4c47SEmmanuel Vadot		status = "disabled";
5995def4c47SEmmanuel Vadot	};
600c66ec88fSEmmanuel Vadot};
601