18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#include <dt-bindings/clock/jz4770-cgu.h>
38c2ecf20Sopenharmony_ci#include <dt-bindings/clock/ingenic,tcu.h>
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci/ {
68c2ecf20Sopenharmony_ci	#address-cells = <1>;
78c2ecf20Sopenharmony_ci	#size-cells = <1>;
88c2ecf20Sopenharmony_ci	compatible = "ingenic,jz4770";
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci	cpus {
118c2ecf20Sopenharmony_ci		#address-cells = <1>;
128c2ecf20Sopenharmony_ci		#size-cells = <0>;
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci		cpu0: cpu@0 {
158c2ecf20Sopenharmony_ci			device_type = "cpu";
168c2ecf20Sopenharmony_ci			compatible = "ingenic,xburst-fpu1.0-mxu1.1";
178c2ecf20Sopenharmony_ci			reg = <0>;
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci			clocks = <&cgu JZ4770_CLK_CCLK>;
208c2ecf20Sopenharmony_ci			clock-names = "cpu";
218c2ecf20Sopenharmony_ci		};
228c2ecf20Sopenharmony_ci	};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	cpuintc: interrupt-controller {
258c2ecf20Sopenharmony_ci		#address-cells = <0>;
268c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
278c2ecf20Sopenharmony_ci		interrupt-controller;
288c2ecf20Sopenharmony_ci		compatible = "mti,cpu-interrupt-controller";
298c2ecf20Sopenharmony_ci	};
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	intc: interrupt-controller@10001000 {
328c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-intc";
338c2ecf20Sopenharmony_ci		reg = <0x10001000 0x40>;
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci		interrupt-controller;
368c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci		interrupt-parent = <&cpuintc>;
398c2ecf20Sopenharmony_ci		interrupts = <2>;
408c2ecf20Sopenharmony_ci	};
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	ext: ext {
438c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
448c2ecf20Sopenharmony_ci		#clock-cells = <0>;
458c2ecf20Sopenharmony_ci	};
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	osc32k: osc32k {
488c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
498c2ecf20Sopenharmony_ci		#clock-cells = <0>;
508c2ecf20Sopenharmony_ci		clock-frequency = <32768>;
518c2ecf20Sopenharmony_ci	};
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	cgu: jz4770-cgu@10000000 {
548c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-cgu", "simple-mfd";
558c2ecf20Sopenharmony_ci		reg = <0x10000000 0x100>;
568c2ecf20Sopenharmony_ci		#address-cells = <1>;
578c2ecf20Sopenharmony_ci		#size-cells = <1>;
588c2ecf20Sopenharmony_ci		ranges = <0x0 0x10000000 0x100>;
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci		clocks = <&ext>, <&osc32k>;
618c2ecf20Sopenharmony_ci		clock-names = "ext", "osc32k";
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci		#clock-cells = <1>;
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci		otg_phy: usb-phy@3c {
668c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-phy";
678c2ecf20Sopenharmony_ci			reg = <0x3c 0x10>;
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci			clocks = <&cgu JZ4770_CLK_OTG_PHY>;
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci			#phy-cells = <0>;
728c2ecf20Sopenharmony_ci		};
738c2ecf20Sopenharmony_ci	};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci	tcu: timer@10002000 {
768c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-tcu", "simple-mfd";
778c2ecf20Sopenharmony_ci		reg = <0x10002000 0x1000>;
788c2ecf20Sopenharmony_ci		#address-cells = <1>;
798c2ecf20Sopenharmony_ci		#size-cells = <1>;
808c2ecf20Sopenharmony_ci		ranges = <0x0 0x10002000 0x1000>;
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci		#clock-cells = <1>;
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_RTC>,
858c2ecf20Sopenharmony_ci			 <&cgu JZ4770_CLK_EXT>,
868c2ecf20Sopenharmony_ci			 <&cgu JZ4770_CLK_PCLK>;
878c2ecf20Sopenharmony_ci		clock-names = "rtc", "ext", "pclk";
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci		interrupt-controller;
908c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
938c2ecf20Sopenharmony_ci		interrupts = <27 26 25>;
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci		watchdog: watchdog@0 {
968c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-watchdog",
978c2ecf20Sopenharmony_ci				     "ingenic,jz4740-watchdog";
988c2ecf20Sopenharmony_ci			reg = <0x0 0xc>;
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci			clocks = <&tcu TCU_CLK_WDT>;
1018c2ecf20Sopenharmony_ci			clock-names = "wdt";
1028c2ecf20Sopenharmony_ci		};
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci		pwm: pwm@40 {
1058c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-pwm", "ingenic,jz4740-pwm";
1068c2ecf20Sopenharmony_ci			reg = <0x40 0x80>;
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci			#pwm-cells = <3>;
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
1118c2ecf20Sopenharmony_ci				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
1128c2ecf20Sopenharmony_ci				 <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>,
1138c2ecf20Sopenharmony_ci				 <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>;
1148c2ecf20Sopenharmony_ci			clock-names = "timer0", "timer1", "timer2", "timer3",
1158c2ecf20Sopenharmony_ci				      "timer4", "timer5", "timer6", "timer7";
1168c2ecf20Sopenharmony_ci		};
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci		ost: timer@e0 {
1198c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-ost";
1208c2ecf20Sopenharmony_ci			reg = <0xe0 0x20>;
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci			clocks = <&tcu TCU_CLK_OST>;
1238c2ecf20Sopenharmony_ci			clock-names = "ost";
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci			interrupts = <15>;
1268c2ecf20Sopenharmony_ci		};
1278c2ecf20Sopenharmony_ci	};
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci	rtc: rtc@10003000 {
1308c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-rtc", "ingenic,jz4760-rtc";
1318c2ecf20Sopenharmony_ci		reg = <0x10003000 0x40>;
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
1348c2ecf20Sopenharmony_ci		interrupts = <32>;
1358c2ecf20Sopenharmony_ci	};
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci	pinctrl: pin-controller@10010000 {
1388c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-pinctrl";
1398c2ecf20Sopenharmony_ci		reg = <0x10010000 0x600>;
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci		#address-cells = <1>;
1428c2ecf20Sopenharmony_ci		#size-cells = <0>;
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci		gpa: gpio@0 {
1458c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-gpio";
1468c2ecf20Sopenharmony_ci			reg = <0>;
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci			gpio-controller;
1498c2ecf20Sopenharmony_ci			gpio-ranges = <&pinctrl 0 0 32>;
1508c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci			interrupt-controller;
1538c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci			interrupt-parent = <&intc>;
1568c2ecf20Sopenharmony_ci			interrupts = <17>;
1578c2ecf20Sopenharmony_ci		};
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci		gpb: gpio@1 {
1608c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-gpio";
1618c2ecf20Sopenharmony_ci			reg = <1>;
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci			gpio-controller;
1648c2ecf20Sopenharmony_ci			gpio-ranges = <&pinctrl 0 32 32>;
1658c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci			interrupt-controller;
1688c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci			interrupt-parent = <&intc>;
1718c2ecf20Sopenharmony_ci			interrupts = <16>;
1728c2ecf20Sopenharmony_ci		};
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci		gpc: gpio@2 {
1758c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-gpio";
1768c2ecf20Sopenharmony_ci			reg = <2>;
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci			gpio-controller;
1798c2ecf20Sopenharmony_ci			gpio-ranges = <&pinctrl 0 64 32>;
1808c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci			interrupt-controller;
1838c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci			interrupt-parent = <&intc>;
1868c2ecf20Sopenharmony_ci			interrupts = <15>;
1878c2ecf20Sopenharmony_ci		};
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci		gpd: gpio@3 {
1908c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-gpio";
1918c2ecf20Sopenharmony_ci			reg = <3>;
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci			gpio-controller;
1948c2ecf20Sopenharmony_ci			gpio-ranges = <&pinctrl 0 96 32>;
1958c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ci			interrupt-controller;
1988c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci			interrupt-parent = <&intc>;
2018c2ecf20Sopenharmony_ci			interrupts = <14>;
2028c2ecf20Sopenharmony_ci		};
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci		gpe: gpio@4 {
2058c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-gpio";
2068c2ecf20Sopenharmony_ci			reg = <4>;
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci			gpio-controller;
2098c2ecf20Sopenharmony_ci			gpio-ranges = <&pinctrl 0 128 32>;
2108c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci			interrupt-controller;
2138c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci			interrupt-parent = <&intc>;
2168c2ecf20Sopenharmony_ci			interrupts = <13>;
2178c2ecf20Sopenharmony_ci		};
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci		gpf: gpio@5 {
2208c2ecf20Sopenharmony_ci			compatible = "ingenic,jz4770-gpio";
2218c2ecf20Sopenharmony_ci			reg = <5>;
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_ci			gpio-controller;
2248c2ecf20Sopenharmony_ci			gpio-ranges = <&pinctrl 0 160 32>;
2258c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ci			interrupt-controller;
2288c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci			interrupt-parent = <&intc>;
2318c2ecf20Sopenharmony_ci			interrupts = <12>;
2328c2ecf20Sopenharmony_ci		};
2338c2ecf20Sopenharmony_ci	};
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci	aic: audio-controller@10020000 {
2368c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-i2s";
2378c2ecf20Sopenharmony_ci		reg = <0x10020000 0x94>;
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci		#sound-dai-cells = <0>;
2408c2ecf20Sopenharmony_ci
2418c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_AIC>, <&cgu JZ4770_CLK_I2S>,
2428c2ecf20Sopenharmony_ci			 <&cgu JZ4770_CLK_EXT>, <&cgu JZ4770_CLK_PLL0>;
2438c2ecf20Sopenharmony_ci		clock-names = "aic", "i2s", "ext", "pll half";
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
2468c2ecf20Sopenharmony_ci		interrupts = <34>;
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ci		dmas = <&dmac0 25 0xffffffff>, <&dmac0 24 0xffffffff>;
2498c2ecf20Sopenharmony_ci		dma-names = "rx", "tx";
2508c2ecf20Sopenharmony_ci	};
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci	codec: audio-codec@100200a0 {
2538c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-codec";
2548c2ecf20Sopenharmony_ci		reg = <0x100200a4 0x8>;
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ci		#sound-dai-cells = <0>;
2578c2ecf20Sopenharmony_ci
2588c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_AIC>;
2598c2ecf20Sopenharmony_ci		clock-names = "aic";
2608c2ecf20Sopenharmony_ci	};
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ci	mmc0: mmc@10021000 {
2638c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
2648c2ecf20Sopenharmony_ci		reg = <0x10021000 0x1000>;
2658c2ecf20Sopenharmony_ci
2668c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_MMC0>;
2678c2ecf20Sopenharmony_ci		clock-names = "mmc";
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
2708c2ecf20Sopenharmony_ci		interrupts = <37>;
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ci		dmas = <&dmac1 27 0xffffffff>, <&dmac1 26 0xffffffff>;
2738c2ecf20Sopenharmony_ci		dma-names = "rx", "tx";
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci		cap-sd-highspeed;
2768c2ecf20Sopenharmony_ci		cap-mmc-highspeed;
2778c2ecf20Sopenharmony_ci		cap-sdio-irq;
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci		status = "disabled";
2808c2ecf20Sopenharmony_ci	};
2818c2ecf20Sopenharmony_ci
2828c2ecf20Sopenharmony_ci	mmc1: mmc@10022000 {
2838c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
2848c2ecf20Sopenharmony_ci		reg = <0x10022000 0x1000>;
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_MMC1>;
2878c2ecf20Sopenharmony_ci		clock-names = "mmc";
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
2908c2ecf20Sopenharmony_ci		interrupts = <36>;
2918c2ecf20Sopenharmony_ci
2928c2ecf20Sopenharmony_ci		dmas = <&dmac1 31 0xffffffff>, <&dmac1 30 0xffffffff>;
2938c2ecf20Sopenharmony_ci		dma-names = "rx", "tx";
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci		cap-sd-highspeed;
2968c2ecf20Sopenharmony_ci		cap-mmc-highspeed;
2978c2ecf20Sopenharmony_ci		cap-sdio-irq;
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ci		status = "disabled";
3008c2ecf20Sopenharmony_ci	};
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci	mmc2: mmc@10023000 {
3038c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc";
3048c2ecf20Sopenharmony_ci		reg = <0x10023000 0x1000>;
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_MMC2>;
3078c2ecf20Sopenharmony_ci		clock-names = "mmc";
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3108c2ecf20Sopenharmony_ci		interrupts = <35>;
3118c2ecf20Sopenharmony_ci
3128c2ecf20Sopenharmony_ci		dmas = <&dmac1 37 0xffffffff>, <&dmac1 36 0xffffffff>;
3138c2ecf20Sopenharmony_ci		dma-names = "rx", "tx";
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci		cap-sd-highspeed;
3168c2ecf20Sopenharmony_ci		cap-mmc-highspeed;
3178c2ecf20Sopenharmony_ci		cap-sdio-irq;
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci		status = "disabled";
3208c2ecf20Sopenharmony_ci	};
3218c2ecf20Sopenharmony_ci
3228c2ecf20Sopenharmony_ci	uart0: serial@10030000 {
3238c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-uart";
3248c2ecf20Sopenharmony_ci		reg = <0x10030000 0x100>;
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ci		clocks = <&ext>, <&cgu JZ4770_CLK_UART0>;
3278c2ecf20Sopenharmony_ci		clock-names = "baud", "module";
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3308c2ecf20Sopenharmony_ci		interrupts = <5>;
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ci		status = "disabled";
3338c2ecf20Sopenharmony_ci	};
3348c2ecf20Sopenharmony_ci
3358c2ecf20Sopenharmony_ci	uart1: serial@10031000 {
3368c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-uart";
3378c2ecf20Sopenharmony_ci		reg = <0x10031000 0x100>;
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ci		clocks = <&ext>, <&cgu JZ4770_CLK_UART1>;
3408c2ecf20Sopenharmony_ci		clock-names = "baud", "module";
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3438c2ecf20Sopenharmony_ci		interrupts = <4>;
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_ci		status = "disabled";
3468c2ecf20Sopenharmony_ci	};
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_ci	uart2: serial@10032000 {
3498c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-uart";
3508c2ecf20Sopenharmony_ci		reg = <0x10032000 0x100>;
3518c2ecf20Sopenharmony_ci
3528c2ecf20Sopenharmony_ci		clocks = <&ext>, <&cgu JZ4770_CLK_UART2>;
3538c2ecf20Sopenharmony_ci		clock-names = "baud", "module";
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3568c2ecf20Sopenharmony_ci		interrupts = <3>;
3578c2ecf20Sopenharmony_ci
3588c2ecf20Sopenharmony_ci		status = "disabled";
3598c2ecf20Sopenharmony_ci	};
3608c2ecf20Sopenharmony_ci
3618c2ecf20Sopenharmony_ci	uart3: serial@10033000 {
3628c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-uart";
3638c2ecf20Sopenharmony_ci		reg = <0x10033000 0x100>;
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_ci		clocks = <&ext>, <&cgu JZ4770_CLK_UART3>;
3668c2ecf20Sopenharmony_ci		clock-names = "baud", "module";
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3698c2ecf20Sopenharmony_ci		interrupts = <2>;
3708c2ecf20Sopenharmony_ci
3718c2ecf20Sopenharmony_ci		status = "disabled";
3728c2ecf20Sopenharmony_ci	};
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ci	adc: adc@10070000 {
3758c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-adc";
3768c2ecf20Sopenharmony_ci		reg = <0x10070000 0x30>;
3778c2ecf20Sopenharmony_ci
3788c2ecf20Sopenharmony_ci		#io-channel-cells = <1>;
3798c2ecf20Sopenharmony_ci
3808c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_ADC>;
3818c2ecf20Sopenharmony_ci		clock-names = "adc";
3828c2ecf20Sopenharmony_ci
3838c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3848c2ecf20Sopenharmony_ci		interrupts = <18>;
3858c2ecf20Sopenharmony_ci	};
3868c2ecf20Sopenharmony_ci
3878c2ecf20Sopenharmony_ci	gpu: gpu@13040000 {
3888c2ecf20Sopenharmony_ci		compatible = "vivante,gc";
3898c2ecf20Sopenharmony_ci		reg = <0x13040000 0x10000>;
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_GPU>,
3928c2ecf20Sopenharmony_ci			 <&cgu JZ4770_CLK_GPU>,
3938c2ecf20Sopenharmony_ci			 <&cgu JZ4770_CLK_GPU>;
3948c2ecf20Sopenharmony_ci		clock-names = "bus", "core", "shader";
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
3978c2ecf20Sopenharmony_ci		interrupts = <6>;
3988c2ecf20Sopenharmony_ci	};
3998c2ecf20Sopenharmony_ci
4008c2ecf20Sopenharmony_ci	lcd: lcd-controller@13050000 {
4018c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-lcd";
4028c2ecf20Sopenharmony_ci		reg = <0x13050000 0x300>;
4038c2ecf20Sopenharmony_ci
4048c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
4058c2ecf20Sopenharmony_ci		interrupts = <31>;
4068c2ecf20Sopenharmony_ci
4078c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_LPCLK_MUX>;
4088c2ecf20Sopenharmony_ci		clock-names = "lcd_pclk";
4098c2ecf20Sopenharmony_ci	};
4108c2ecf20Sopenharmony_ci
4118c2ecf20Sopenharmony_ci	dmac0: dma-controller@13420000 {
4128c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-dma";
4138c2ecf20Sopenharmony_ci		reg = <0x13420000 0xC0>, <0x13420300 0x20>;
4148c2ecf20Sopenharmony_ci
4158c2ecf20Sopenharmony_ci		#dma-cells = <2>;
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_DMA>;
4188c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
4198c2ecf20Sopenharmony_ci		interrupts = <24>;
4208c2ecf20Sopenharmony_ci	};
4218c2ecf20Sopenharmony_ci
4228c2ecf20Sopenharmony_ci	dmac1: dma-controller@13420100 {
4238c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-dma";
4248c2ecf20Sopenharmony_ci		reg = <0x13420100 0xC0>, <0x13420400 0x20>;
4258c2ecf20Sopenharmony_ci
4268c2ecf20Sopenharmony_ci		#dma-cells = <2>;
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_DMA>;
4298c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
4308c2ecf20Sopenharmony_ci		interrupts = <23>;
4318c2ecf20Sopenharmony_ci	};
4328c2ecf20Sopenharmony_ci
4338c2ecf20Sopenharmony_ci	uhc: uhc@13430000 {
4348c2ecf20Sopenharmony_ci		compatible = "generic-ohci";
4358c2ecf20Sopenharmony_ci		reg = <0x13430000 0x1000>;
4368c2ecf20Sopenharmony_ci
4378c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_UHC>, <&cgu JZ4770_CLK_UHC_PHY>;
4388c2ecf20Sopenharmony_ci		assigned-clocks = <&cgu JZ4770_CLK_UHC>;
4398c2ecf20Sopenharmony_ci		assigned-clock-rates = <48000000>;
4408c2ecf20Sopenharmony_ci
4418c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
4428c2ecf20Sopenharmony_ci		interrupts = <20>;
4438c2ecf20Sopenharmony_ci
4448c2ecf20Sopenharmony_ci		status = "disabled";
4458c2ecf20Sopenharmony_ci	};
4468c2ecf20Sopenharmony_ci
4478c2ecf20Sopenharmony_ci	usb_otg: usb@13440000 {
4488c2ecf20Sopenharmony_ci		compatible = "ingenic,jz4770-musb";
4498c2ecf20Sopenharmony_ci		reg = <0x13440000 0x10000>;
4508c2ecf20Sopenharmony_ci
4518c2ecf20Sopenharmony_ci		clocks = <&cgu JZ4770_CLK_OTG>;
4528c2ecf20Sopenharmony_ci		clock-names = "udc";
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
4558c2ecf20Sopenharmony_ci		interrupts = <21>;
4568c2ecf20Sopenharmony_ci		interrupt-names = "mc";
4578c2ecf20Sopenharmony_ci
4588c2ecf20Sopenharmony_ci		phys = <&otg_phy>;
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci		usb-role-switch;
4618c2ecf20Sopenharmony_ci	};
4628c2ecf20Sopenharmony_ci
4638c2ecf20Sopenharmony_ci	rom: memory@1fc00000 {
4648c2ecf20Sopenharmony_ci		compatible = "mtd-rom";
4658c2ecf20Sopenharmony_ci		probe-type = "map_rom";
4668c2ecf20Sopenharmony_ci		reg = <0x1fc00000 0x2000>;
4678c2ecf20Sopenharmony_ci
4688c2ecf20Sopenharmony_ci		bank-width = <4>;
4698c2ecf20Sopenharmony_ci		device-width = <1>;
4708c2ecf20Sopenharmony_ci	};
4718c2ecf20Sopenharmony_ci};
472