xref: /linux/scripts/dtc/include-prefixes/mips/ingenic/jz4770.dtsi (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
19be5f3e9SPaul Cercueil// SPDX-License-Identifier: GPL-2.0
2c4a11bf4SPaul Cercueil#include <dt-bindings/clock/ingenic,jz4770-cgu.h>
3bf40bf5eSPaul Cercueil#include <dt-bindings/clock/ingenic,tcu.h>
49be5f3e9SPaul Cercueil
59be5f3e9SPaul Cercueil/ {
69be5f3e9SPaul Cercueil	#address-cells = <1>;
79be5f3e9SPaul Cercueil	#size-cells = <1>;
89be5f3e9SPaul Cercueil	compatible = "ingenic,jz4770";
99be5f3e9SPaul Cercueil
10c1f6b45eS周琰杰 (Zhou Yanjie)	cpus {
11c1f6b45eS周琰杰 (Zhou Yanjie)		#address-cells = <1>;
12c1f6b45eS周琰杰 (Zhou Yanjie)		#size-cells = <0>;
13c1f6b45eS周琰杰 (Zhou Yanjie)
14c1f6b45eS周琰杰 (Zhou Yanjie)		cpu0: cpu@0 {
15c1f6b45eS周琰杰 (Zhou Yanjie)			device_type = "cpu";
16c1f6b45eS周琰杰 (Zhou Yanjie)			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
17c1f6b45eS周琰杰 (Zhou Yanjie)			reg = <0>;
18c1f6b45eS周琰杰 (Zhou Yanjie)
19c1f6b45eS周琰杰 (Zhou Yanjie)			clocks = <&cgu JZ4770_CLK_CCLK>;
20c1f6b45eS周琰杰 (Zhou Yanjie)			clock-names = "cpu";
21c1f6b45eS周琰杰 (Zhou Yanjie)		};
22c1f6b45eS周琰杰 (Zhou Yanjie)	};
23c1f6b45eS周琰杰 (Zhou Yanjie)
249be5f3e9SPaul Cercueil	cpuintc: interrupt-controller {
259be5f3e9SPaul Cercueil		#address-cells = <0>;
269be5f3e9SPaul Cercueil		#interrupt-cells = <1>;
279be5f3e9SPaul Cercueil		interrupt-controller;
289be5f3e9SPaul Cercueil		compatible = "mti,cpu-interrupt-controller";
299be5f3e9SPaul Cercueil	};
309be5f3e9SPaul Cercueil
319be5f3e9SPaul Cercueil	intc: interrupt-controller@10001000 {
329be5f3e9SPaul Cercueil		compatible = "ingenic,jz4770-intc";
339be5f3e9SPaul Cercueil		reg = <0x10001000 0x40>;
349be5f3e9SPaul Cercueil
359be5f3e9SPaul Cercueil		interrupt-controller;
369be5f3e9SPaul Cercueil		#interrupt-cells = <1>;
379be5f3e9SPaul Cercueil
389be5f3e9SPaul Cercueil		interrupt-parent = <&cpuintc>;
399be5f3e9SPaul Cercueil		interrupts = <2>;
409be5f3e9SPaul Cercueil	};
419be5f3e9SPaul Cercueil
429be5f3e9SPaul Cercueil	ext: ext {
439be5f3e9SPaul Cercueil		compatible = "fixed-clock";
449be5f3e9SPaul Cercueil		#clock-cells = <0>;
459be5f3e9SPaul Cercueil	};
469be5f3e9SPaul Cercueil
479be5f3e9SPaul Cercueil	osc32k: osc32k {
489be5f3e9SPaul Cercueil		compatible = "fixed-clock";
499be5f3e9SPaul Cercueil		#clock-cells = <0>;
509be5f3e9SPaul Cercueil		clock-frequency = <32768>;
519be5f3e9SPaul Cercueil	};
529be5f3e9SPaul Cercueil
539be5f3e9SPaul Cercueil	cgu: jz4770-cgu@10000000 {
54061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-cgu", "simple-mfd";
559be5f3e9SPaul Cercueil		reg = <0x10000000 0x100>;
56061e35b2SPaul Cercueil		#address-cells = <1>;
57061e35b2SPaul Cercueil		#size-cells = <1>;
58061e35b2SPaul Cercueil		ranges = <0x0 0x10000000 0x100>;
599be5f3e9SPaul Cercueil
609be5f3e9SPaul Cercueil		clocks = <&ext>, <&osc32k>;
619be5f3e9SPaul Cercueil		clock-names = "ext", "osc32k";
629be5f3e9SPaul Cercueil
639be5f3e9SPaul Cercueil		#clock-cells = <1>;
64061e35b2SPaul Cercueil
65061e35b2SPaul Cercueil		otg_phy: usb-phy@3c {
66061e35b2SPaul Cercueil			compatible = "ingenic,jz4770-phy";
67061e35b2SPaul Cercueil			reg = <0x3c 0x10>;
68061e35b2SPaul Cercueil
69061e35b2SPaul Cercueil			clocks = <&cgu JZ4770_CLK_OTG_PHY>;
70061e35b2SPaul Cercueil
71061e35b2SPaul Cercueil			#phy-cells = <0>;
72061e35b2SPaul Cercueil		};
739be5f3e9SPaul Cercueil	};
749be5f3e9SPaul Cercueil
7536aafdbdSPaul Cercueil	tcu: timer@10002000 {
7636aafdbdSPaul Cercueil		compatible = "ingenic,jz4770-tcu", "simple-mfd";
7736aafdbdSPaul Cercueil		reg = <0x10002000 0x1000>;
7836aafdbdSPaul Cercueil		#address-cells = <1>;
7936aafdbdSPaul Cercueil		#size-cells = <1>;
8036aafdbdSPaul Cercueil		ranges = <0x0 0x10002000 0x1000>;
8136aafdbdSPaul Cercueil
8236aafdbdSPaul Cercueil		#clock-cells = <1>;
8336aafdbdSPaul Cercueil
84cf2e6b8eSPaul Cercueil		clocks = <&cgu JZ4770_CLK_RTC>,
85cf2e6b8eSPaul Cercueil			 <&cgu JZ4770_CLK_EXT>,
86cf2e6b8eSPaul Cercueil			 <&cgu JZ4770_CLK_PCLK>;
8736aafdbdSPaul Cercueil		clock-names = "rtc", "ext", "pclk";
8836aafdbdSPaul Cercueil
8936aafdbdSPaul Cercueil		interrupt-controller;
9036aafdbdSPaul Cercueil		#interrupt-cells = <1>;
9136aafdbdSPaul Cercueil
9236aafdbdSPaul Cercueil		interrupt-parent = <&intc>;
9336aafdbdSPaul Cercueil		interrupts = <27 26 25>;
94bf40bf5eSPaul Cercueil
95bf40bf5eSPaul Cercueil		watchdog: watchdog@0 {
96bf40bf5eSPaul Cercueil			compatible = "ingenic,jz4770-watchdog",
97bf40bf5eSPaul Cercueil				     "ingenic,jz4740-watchdog";
98bf40bf5eSPaul Cercueil			reg = <0x0 0xc>;
99bf40bf5eSPaul Cercueil
100bf40bf5eSPaul Cercueil			clocks = <&tcu TCU_CLK_WDT>;
101bf40bf5eSPaul Cercueil			clock-names = "wdt";
102bf40bf5eSPaul Cercueil		};
103bf40bf5eSPaul Cercueil
104bf40bf5eSPaul Cercueil		pwm: pwm@40 {
105bf40bf5eSPaul Cercueil			compatible = "ingenic,jz4770-pwm", "ingenic,jz4740-pwm";
106bf40bf5eSPaul Cercueil			reg = <0x40 0x80>;
107bf40bf5eSPaul Cercueil
108bf40bf5eSPaul Cercueil			#pwm-cells = <3>;
109bf40bf5eSPaul Cercueil
110bf40bf5eSPaul Cercueil			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
111bf40bf5eSPaul Cercueil				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
112bf40bf5eSPaul Cercueil				 <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>,
113bf40bf5eSPaul Cercueil				 <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>;
114bf40bf5eSPaul Cercueil			clock-names = "timer0", "timer1", "timer2", "timer3",
115bf40bf5eSPaul Cercueil				      "timer4", "timer5", "timer6", "timer7";
116bf40bf5eSPaul Cercueil		};
117bf40bf5eSPaul Cercueil
118bf40bf5eSPaul Cercueil		ost: timer@e0 {
119bf40bf5eSPaul Cercueil			compatible = "ingenic,jz4770-ost";
120bf40bf5eSPaul Cercueil			reg = <0xe0 0x20>;
121bf40bf5eSPaul Cercueil
122bf40bf5eSPaul Cercueil			clocks = <&tcu TCU_CLK_OST>;
123bf40bf5eSPaul Cercueil			clock-names = "ost";
124bf40bf5eSPaul Cercueil
125bf40bf5eSPaul Cercueil			interrupts = <15>;
126bf40bf5eSPaul Cercueil		};
12736aafdbdSPaul Cercueil	};
12836aafdbdSPaul Cercueil
129061e35b2SPaul Cercueil	rtc: rtc@10003000 {
130061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-rtc", "ingenic,jz4760-rtc";
131061e35b2SPaul Cercueil		reg = <0x10003000 0x40>;
132061e35b2SPaul Cercueil
133061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
134061e35b2SPaul Cercueil		interrupts = <32>;
135061e35b2SPaul Cercueil	};
136061e35b2SPaul Cercueil
1379be5f3e9SPaul Cercueil	pinctrl: pin-controller@10010000 {
1389be5f3e9SPaul Cercueil		compatible = "ingenic,jz4770-pinctrl";
1399be5f3e9SPaul Cercueil		reg = <0x10010000 0x600>;
1409be5f3e9SPaul Cercueil
1419be5f3e9SPaul Cercueil		#address-cells = <1>;
1429be5f3e9SPaul Cercueil		#size-cells = <0>;
1439be5f3e9SPaul Cercueil
1449be5f3e9SPaul Cercueil		gpa: gpio@0 {
1459be5f3e9SPaul Cercueil			compatible = "ingenic,jz4770-gpio";
1469be5f3e9SPaul Cercueil			reg = <0>;
1479be5f3e9SPaul Cercueil
1489be5f3e9SPaul Cercueil			gpio-controller;
1499be5f3e9SPaul Cercueil			gpio-ranges = <&pinctrl 0 0 32>;
1509be5f3e9SPaul Cercueil			#gpio-cells = <2>;
1519be5f3e9SPaul Cercueil
1529be5f3e9SPaul Cercueil			interrupt-controller;
1539be5f3e9SPaul Cercueil			#interrupt-cells = <2>;
1549be5f3e9SPaul Cercueil
1559be5f3e9SPaul Cercueil			interrupt-parent = <&intc>;
1569be5f3e9SPaul Cercueil			interrupts = <17>;
1579be5f3e9SPaul Cercueil		};
1589be5f3e9SPaul Cercueil
1599be5f3e9SPaul Cercueil		gpb: gpio@1 {
1609be5f3e9SPaul Cercueil			compatible = "ingenic,jz4770-gpio";
1619be5f3e9SPaul Cercueil			reg = <1>;
1629be5f3e9SPaul Cercueil
1639be5f3e9SPaul Cercueil			gpio-controller;
1649be5f3e9SPaul Cercueil			gpio-ranges = <&pinctrl 0 32 32>;
1659be5f3e9SPaul Cercueil			#gpio-cells = <2>;
1669be5f3e9SPaul Cercueil
1679be5f3e9SPaul Cercueil			interrupt-controller;
1689be5f3e9SPaul Cercueil			#interrupt-cells = <2>;
1699be5f3e9SPaul Cercueil
1709be5f3e9SPaul Cercueil			interrupt-parent = <&intc>;
1719be5f3e9SPaul Cercueil			interrupts = <16>;
1729be5f3e9SPaul Cercueil		};
1739be5f3e9SPaul Cercueil
1749be5f3e9SPaul Cercueil		gpc: gpio@2 {
1759be5f3e9SPaul Cercueil			compatible = "ingenic,jz4770-gpio";
1769be5f3e9SPaul Cercueil			reg = <2>;
1779be5f3e9SPaul Cercueil
1789be5f3e9SPaul Cercueil			gpio-controller;
1799be5f3e9SPaul Cercueil			gpio-ranges = <&pinctrl 0 64 32>;
1809be5f3e9SPaul Cercueil			#gpio-cells = <2>;
1819be5f3e9SPaul Cercueil
1829be5f3e9SPaul Cercueil			interrupt-controller;
1839be5f3e9SPaul Cercueil			#interrupt-cells = <2>;
1849be5f3e9SPaul Cercueil
1859be5f3e9SPaul Cercueil			interrupt-parent = <&intc>;
1869be5f3e9SPaul Cercueil			interrupts = <15>;
1879be5f3e9SPaul Cercueil		};
1889be5f3e9SPaul Cercueil
1899be5f3e9SPaul Cercueil		gpd: gpio@3 {
1909be5f3e9SPaul Cercueil			compatible = "ingenic,jz4770-gpio";
1919be5f3e9SPaul Cercueil			reg = <3>;
1929be5f3e9SPaul Cercueil
1939be5f3e9SPaul Cercueil			gpio-controller;
1949be5f3e9SPaul Cercueil			gpio-ranges = <&pinctrl 0 96 32>;
1959be5f3e9SPaul Cercueil			#gpio-cells = <2>;
1969be5f3e9SPaul Cercueil
1979be5f3e9SPaul Cercueil			interrupt-controller;
1989be5f3e9SPaul Cercueil			#interrupt-cells = <2>;
1999be5f3e9SPaul Cercueil
2009be5f3e9SPaul Cercueil			interrupt-parent = <&intc>;
2019be5f3e9SPaul Cercueil			interrupts = <14>;
2029be5f3e9SPaul Cercueil		};
2039be5f3e9SPaul Cercueil
2049be5f3e9SPaul Cercueil		gpe: gpio@4 {
2059be5f3e9SPaul Cercueil			compatible = "ingenic,jz4770-gpio";
2069be5f3e9SPaul Cercueil			reg = <4>;
2079be5f3e9SPaul Cercueil
2089be5f3e9SPaul Cercueil			gpio-controller;
2099be5f3e9SPaul Cercueil			gpio-ranges = <&pinctrl 0 128 32>;
2109be5f3e9SPaul Cercueil			#gpio-cells = <2>;
2119be5f3e9SPaul Cercueil
2129be5f3e9SPaul Cercueil			interrupt-controller;
2139be5f3e9SPaul Cercueil			#interrupt-cells = <2>;
2149be5f3e9SPaul Cercueil
2159be5f3e9SPaul Cercueil			interrupt-parent = <&intc>;
2169be5f3e9SPaul Cercueil			interrupts = <13>;
2179be5f3e9SPaul Cercueil		};
2189be5f3e9SPaul Cercueil
2199be5f3e9SPaul Cercueil		gpf: gpio@5 {
2209be5f3e9SPaul Cercueil			compatible = "ingenic,jz4770-gpio";
2219be5f3e9SPaul Cercueil			reg = <5>;
2229be5f3e9SPaul Cercueil
2239be5f3e9SPaul Cercueil			gpio-controller;
2249be5f3e9SPaul Cercueil			gpio-ranges = <&pinctrl 0 160 32>;
2259be5f3e9SPaul Cercueil			#gpio-cells = <2>;
2269be5f3e9SPaul Cercueil
2279be5f3e9SPaul Cercueil			interrupt-controller;
2289be5f3e9SPaul Cercueil			#interrupt-cells = <2>;
2299be5f3e9SPaul Cercueil
2309be5f3e9SPaul Cercueil			interrupt-parent = <&intc>;
2319be5f3e9SPaul Cercueil			interrupts = <12>;
2329be5f3e9SPaul Cercueil		};
2339be5f3e9SPaul Cercueil	};
2349be5f3e9SPaul Cercueil
235061e35b2SPaul Cercueil	aic: audio-controller@10020000 {
236061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-i2s";
237061e35b2SPaul Cercueil		reg = <0x10020000 0x94>;
238061e35b2SPaul Cercueil
239061e35b2SPaul Cercueil		#sound-dai-cells = <0>;
240061e35b2SPaul Cercueil
241*745b7908SAidan MacDonald		clocks = <&cgu JZ4770_CLK_AIC>, <&cgu JZ4770_CLK_I2S>;
242*745b7908SAidan MacDonald		clock-names = "aic", "i2s";
243061e35b2SPaul Cercueil
244061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
245061e35b2SPaul Cercueil		interrupts = <34>;
246061e35b2SPaul Cercueil
247061e35b2SPaul Cercueil		dmas = <&dmac0 25 0xffffffff>, <&dmac0 24 0xffffffff>;
248061e35b2SPaul Cercueil		dma-names = "rx", "tx";
249061e35b2SPaul Cercueil	};
250061e35b2SPaul Cercueil
251061e35b2SPaul Cercueil	codec: audio-codec@100200a0 {
252061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-codec";
253061e35b2SPaul Cercueil		reg = <0x100200a4 0x8>;
254061e35b2SPaul Cercueil
255061e35b2SPaul Cercueil		#sound-dai-cells = <0>;
256061e35b2SPaul Cercueil
257061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_AIC>;
258061e35b2SPaul Cercueil		clock-names = "aic";
259061e35b2SPaul Cercueil	};
260061e35b2SPaul Cercueil
261061e35b2SPaul Cercueil	mmc0: mmc@10021000 {
262061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
263061e35b2SPaul Cercueil		reg = <0x10021000 0x1000>;
264061e35b2SPaul Cercueil
265061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_MMC0>;
266061e35b2SPaul Cercueil		clock-names = "mmc";
267061e35b2SPaul Cercueil
268061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
269061e35b2SPaul Cercueil		interrupts = <37>;
270061e35b2SPaul Cercueil
271061e35b2SPaul Cercueil		dmas = <&dmac1 27 0xffffffff>, <&dmac1 26 0xffffffff>;
272061e35b2SPaul Cercueil		dma-names = "rx", "tx";
273061e35b2SPaul Cercueil
274061e35b2SPaul Cercueil		cap-sd-highspeed;
275061e35b2SPaul Cercueil		cap-mmc-highspeed;
276061e35b2SPaul Cercueil		cap-sdio-irq;
277061e35b2SPaul Cercueil
278061e35b2SPaul Cercueil		status = "disabled";
279061e35b2SPaul Cercueil	};
280061e35b2SPaul Cercueil
281061e35b2SPaul Cercueil	mmc1: mmc@10022000 {
282061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
283061e35b2SPaul Cercueil		reg = <0x10022000 0x1000>;
284061e35b2SPaul Cercueil
285061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_MMC1>;
286061e35b2SPaul Cercueil		clock-names = "mmc";
287061e35b2SPaul Cercueil
288061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
289061e35b2SPaul Cercueil		interrupts = <36>;
290061e35b2SPaul Cercueil
291061e35b2SPaul Cercueil		dmas = <&dmac1 31 0xffffffff>, <&dmac1 30 0xffffffff>;
292061e35b2SPaul Cercueil		dma-names = "rx", "tx";
293061e35b2SPaul Cercueil
294061e35b2SPaul Cercueil		cap-sd-highspeed;
295061e35b2SPaul Cercueil		cap-mmc-highspeed;
296061e35b2SPaul Cercueil		cap-sdio-irq;
297061e35b2SPaul Cercueil
298061e35b2SPaul Cercueil		status = "disabled";
299061e35b2SPaul Cercueil	};
300061e35b2SPaul Cercueil
301061e35b2SPaul Cercueil	mmc2: mmc@10023000 {
302061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
303061e35b2SPaul Cercueil		reg = <0x10023000 0x1000>;
304061e35b2SPaul Cercueil
305061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_MMC2>;
306061e35b2SPaul Cercueil		clock-names = "mmc";
307061e35b2SPaul Cercueil
308061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
309061e35b2SPaul Cercueil		interrupts = <35>;
310061e35b2SPaul Cercueil
311061e35b2SPaul Cercueil		dmas = <&dmac1 37 0xffffffff>, <&dmac1 36 0xffffffff>;
312061e35b2SPaul Cercueil		dma-names = "rx", "tx";
313061e35b2SPaul Cercueil
314061e35b2SPaul Cercueil		cap-sd-highspeed;
315061e35b2SPaul Cercueil		cap-mmc-highspeed;
316061e35b2SPaul Cercueil		cap-sdio-irq;
317061e35b2SPaul Cercueil
318061e35b2SPaul Cercueil		status = "disabled";
319061e35b2SPaul Cercueil	};
320061e35b2SPaul Cercueil
3219be5f3e9SPaul Cercueil	uart0: serial@10030000 {
3229be5f3e9SPaul Cercueil		compatible = "ingenic,jz4770-uart";
3239be5f3e9SPaul Cercueil		reg = <0x10030000 0x100>;
3249be5f3e9SPaul Cercueil
3259be5f3e9SPaul Cercueil		clocks = <&ext>, <&cgu JZ4770_CLK_UART0>;
3269be5f3e9SPaul Cercueil		clock-names = "baud", "module";
3279be5f3e9SPaul Cercueil
3289be5f3e9SPaul Cercueil		interrupt-parent = <&intc>;
3299be5f3e9SPaul Cercueil		interrupts = <5>;
3309be5f3e9SPaul Cercueil
3319be5f3e9SPaul Cercueil		status = "disabled";
3329be5f3e9SPaul Cercueil	};
3339be5f3e9SPaul Cercueil
3349be5f3e9SPaul Cercueil	uart1: serial@10031000 {
3359be5f3e9SPaul Cercueil		compatible = "ingenic,jz4770-uart";
3369be5f3e9SPaul Cercueil		reg = <0x10031000 0x100>;
3379be5f3e9SPaul Cercueil
3389be5f3e9SPaul Cercueil		clocks = <&ext>, <&cgu JZ4770_CLK_UART1>;
3399be5f3e9SPaul Cercueil		clock-names = "baud", "module";
3409be5f3e9SPaul Cercueil
3419be5f3e9SPaul Cercueil		interrupt-parent = <&intc>;
3429be5f3e9SPaul Cercueil		interrupts = <4>;
3439be5f3e9SPaul Cercueil
3449be5f3e9SPaul Cercueil		status = "disabled";
3459be5f3e9SPaul Cercueil	};
3469be5f3e9SPaul Cercueil
3479be5f3e9SPaul Cercueil	uart2: serial@10032000 {
3489be5f3e9SPaul Cercueil		compatible = "ingenic,jz4770-uart";
3499be5f3e9SPaul Cercueil		reg = <0x10032000 0x100>;
3509be5f3e9SPaul Cercueil
3519be5f3e9SPaul Cercueil		clocks = <&ext>, <&cgu JZ4770_CLK_UART2>;
3529be5f3e9SPaul Cercueil		clock-names = "baud", "module";
3539be5f3e9SPaul Cercueil
3549be5f3e9SPaul Cercueil		interrupt-parent = <&intc>;
3559be5f3e9SPaul Cercueil		interrupts = <3>;
3569be5f3e9SPaul Cercueil
3579be5f3e9SPaul Cercueil		status = "disabled";
3589be5f3e9SPaul Cercueil	};
3599be5f3e9SPaul Cercueil
3609be5f3e9SPaul Cercueil	uart3: serial@10033000 {
3619be5f3e9SPaul Cercueil		compatible = "ingenic,jz4770-uart";
3629be5f3e9SPaul Cercueil		reg = <0x10033000 0x100>;
3639be5f3e9SPaul Cercueil
3649be5f3e9SPaul Cercueil		clocks = <&ext>, <&cgu JZ4770_CLK_UART3>;
3659be5f3e9SPaul Cercueil		clock-names = "baud", "module";
3669be5f3e9SPaul Cercueil
3679be5f3e9SPaul Cercueil		interrupt-parent = <&intc>;
3689be5f3e9SPaul Cercueil		interrupts = <2>;
3699be5f3e9SPaul Cercueil
3709be5f3e9SPaul Cercueil		status = "disabled";
3719be5f3e9SPaul Cercueil	};
3729be5f3e9SPaul Cercueil
373061e35b2SPaul Cercueil	adc: adc@10070000 {
374061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-adc";
375061e35b2SPaul Cercueil		reg = <0x10070000 0x30>;
376061e35b2SPaul Cercueil
377061e35b2SPaul Cercueil		#io-channel-cells = <1>;
378061e35b2SPaul Cercueil
379061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_ADC>;
380061e35b2SPaul Cercueil		clock-names = "adc";
381061e35b2SPaul Cercueil
382061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
383061e35b2SPaul Cercueil		interrupts = <18>;
384061e35b2SPaul Cercueil	};
385061e35b2SPaul Cercueil
386061e35b2SPaul Cercueil	gpu: gpu@13040000 {
387061e35b2SPaul Cercueil		compatible = "vivante,gc";
388061e35b2SPaul Cercueil		reg = <0x13040000 0x10000>;
389061e35b2SPaul Cercueil
390061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_GPU>,
391061e35b2SPaul Cercueil			 <&cgu JZ4770_CLK_GPU>,
392061e35b2SPaul Cercueil			 <&cgu JZ4770_CLK_GPU>;
393061e35b2SPaul Cercueil		clock-names = "bus", "core", "shader";
394061e35b2SPaul Cercueil
395061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
396061e35b2SPaul Cercueil		interrupts = <6>;
397061e35b2SPaul Cercueil	};
398061e35b2SPaul Cercueil
399061e35b2SPaul Cercueil	lcd: lcd-controller@13050000 {
400061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-lcd";
4012bcb9c25SH. Nikolaus Schaller		reg = <0x13050000 0x130>; /* tbc */
402061e35b2SPaul Cercueil
403061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
404061e35b2SPaul Cercueil		interrupts = <31>;
405061e35b2SPaul Cercueil
406061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_LPCLK_MUX>;
407061e35b2SPaul Cercueil		clock-names = "lcd_pclk";
408061e35b2SPaul Cercueil	};
409061e35b2SPaul Cercueil
4106b5b368bSPaul Cercueil	dmac0: dma-controller@13420000 {
4116b5b368bSPaul Cercueil		compatible = "ingenic,jz4770-dma";
412cf2e6b8eSPaul Cercueil		reg = <0x13420000 0xC0>, <0x13420300 0x20>;
4136b5b368bSPaul Cercueil
41459bd128aSPaul Cercueil		#dma-cells = <2>;
4156b5b368bSPaul Cercueil
4166b5b368bSPaul Cercueil		clocks = <&cgu JZ4770_CLK_DMA>;
4176b5b368bSPaul Cercueil		interrupt-parent = <&intc>;
4186b5b368bSPaul Cercueil		interrupts = <24>;
4196b5b368bSPaul Cercueil	};
4206b5b368bSPaul Cercueil
4216b5b368bSPaul Cercueil	dmac1: dma-controller@13420100 {
4226b5b368bSPaul Cercueil		compatible = "ingenic,jz4770-dma";
423cf2e6b8eSPaul Cercueil		reg = <0x13420100 0xC0>, <0x13420400 0x20>;
4246b5b368bSPaul Cercueil
42559bd128aSPaul Cercueil		#dma-cells = <2>;
4266b5b368bSPaul Cercueil
4276b5b368bSPaul Cercueil		clocks = <&cgu JZ4770_CLK_DMA>;
4286b5b368bSPaul Cercueil		interrupt-parent = <&intc>;
4296b5b368bSPaul Cercueil		interrupts = <23>;
4306b5b368bSPaul Cercueil	};
4316b5b368bSPaul Cercueil
432877f2382SSerge Semin	uhc: usb@13430000 {
4339be5f3e9SPaul Cercueil		compatible = "generic-ohci";
4349be5f3e9SPaul Cercueil		reg = <0x13430000 0x1000>;
4359be5f3e9SPaul Cercueil
4369be5f3e9SPaul Cercueil		clocks = <&cgu JZ4770_CLK_UHC>, <&cgu JZ4770_CLK_UHC_PHY>;
4379be5f3e9SPaul Cercueil		assigned-clocks = <&cgu JZ4770_CLK_UHC>;
4389be5f3e9SPaul Cercueil		assigned-clock-rates = <48000000>;
4399be5f3e9SPaul Cercueil
4409be5f3e9SPaul Cercueil		interrupt-parent = <&intc>;
4419be5f3e9SPaul Cercueil		interrupts = <20>;
4429be5f3e9SPaul Cercueil
4439be5f3e9SPaul Cercueil		status = "disabled";
4449be5f3e9SPaul Cercueil	};
445061e35b2SPaul Cercueil
446061e35b2SPaul Cercueil	usb_otg: usb@13440000 {
447061e35b2SPaul Cercueil		compatible = "ingenic,jz4770-musb";
448061e35b2SPaul Cercueil		reg = <0x13440000 0x10000>;
449061e35b2SPaul Cercueil
450061e35b2SPaul Cercueil		clocks = <&cgu JZ4770_CLK_OTG>;
451061e35b2SPaul Cercueil		clock-names = "udc";
452061e35b2SPaul Cercueil
453061e35b2SPaul Cercueil		interrupt-parent = <&intc>;
454061e35b2SPaul Cercueil		interrupts = <21>;
455061e35b2SPaul Cercueil		interrupt-names = "mc";
456061e35b2SPaul Cercueil
457061e35b2SPaul Cercueil		phys = <&otg_phy>;
458061e35b2SPaul Cercueil
459061e35b2SPaul Cercueil		usb-role-switch;
460061e35b2SPaul Cercueil	};
461061e35b2SPaul Cercueil
462061e35b2SPaul Cercueil	rom: memory@1fc00000 {
463061e35b2SPaul Cercueil		compatible = "mtd-rom";
464061e35b2SPaul Cercueil		reg = <0x1fc00000 0x2000>;
465061e35b2SPaul Cercueil
466061e35b2SPaul Cercueil		bank-width = <4>;
467061e35b2SPaul Cercueil		device-width = <1>;
468061e35b2SPaul Cercueil	};
4699be5f3e9SPaul Cercueil};
470