xref: /openbmc/linux/arch/mips/boot/dts/ingenic/jz4740.dtsi (revision b24413180f5600bcb3bb70fbed5cf186b60864bd)
1*b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
2ff1930c6SPaul Burton#include <dt-bindings/clock/jz4740-cgu.h>
3ff1930c6SPaul Burton
4ffb1843dSPaul Burton/ {
5ffb1843dSPaul Burton	#address-cells = <1>;
6ffb1843dSPaul Burton	#size-cells = <1>;
7ffb1843dSPaul Burton	compatible = "ingenic,jz4740";
88e8261ebSPaul Burton
95214cae7SAntony Pavlov	cpuintc: interrupt-controller {
108e8261ebSPaul Burton		#address-cells = <0>;
118e8261ebSPaul Burton		#interrupt-cells = <1>;
128e8261ebSPaul Burton		interrupt-controller;
138e8261ebSPaul Burton		compatible = "mti,cpu-interrupt-controller";
148e8261ebSPaul Burton	};
15adbdce77SPaul Burton
16adbdce77SPaul Burton	intc: interrupt-controller@10001000 {
17adbdce77SPaul Burton		compatible = "ingenic,jz4740-intc";
18adbdce77SPaul Burton		reg = <0x10001000 0x14>;
19adbdce77SPaul Burton
20adbdce77SPaul Burton		interrupt-controller;
21adbdce77SPaul Burton		#interrupt-cells = <1>;
22adbdce77SPaul Burton
23adbdce77SPaul Burton		interrupt-parent = <&cpuintc>;
24adbdce77SPaul Burton		interrupts = <2>;
25adbdce77SPaul Burton	};
26ff1930c6SPaul Burton
27ff1930c6SPaul Burton	ext: ext {
28ff1930c6SPaul Burton		compatible = "fixed-clock";
29ff1930c6SPaul Burton		#clock-cells = <0>;
30ff1930c6SPaul Burton	};
31ff1930c6SPaul Burton
32ff1930c6SPaul Burton	rtc: rtc {
33ff1930c6SPaul Burton		compatible = "fixed-clock";
34ff1930c6SPaul Burton		#clock-cells = <0>;
35ff1930c6SPaul Burton		clock-frequency = <32768>;
36ff1930c6SPaul Burton	};
37ff1930c6SPaul Burton
38ff1930c6SPaul Burton	cgu: jz4740-cgu@10000000 {
39ff1930c6SPaul Burton		compatible = "ingenic,jz4740-cgu";
40ff1930c6SPaul Burton		reg = <0x10000000 0x100>;
41ff1930c6SPaul Burton
42ff1930c6SPaul Burton		clocks = <&ext>, <&rtc>;
43ff1930c6SPaul Burton		clock-names = "ext", "rtc";
44ff1930c6SPaul Burton
45ff1930c6SPaul Burton		#clock-cells = <1>;
46ff1930c6SPaul Burton	};
478838245dSPaul Burton
48262d62cbSPaul Cercueil	rtc_dev: rtc@10003000 {
49262d62cbSPaul Cercueil		compatible = "ingenic,jz4740-rtc";
50262d62cbSPaul Cercueil		reg = <0x10003000 0x40>;
51262d62cbSPaul Cercueil
52262d62cbSPaul Cercueil		interrupt-parent = <&intc>;
53262d62cbSPaul Cercueil		interrupts = <15>;
54262d62cbSPaul Cercueil
55262d62cbSPaul Cercueil		clocks = <&cgu JZ4740_CLK_RTC>;
56262d62cbSPaul Cercueil		clock-names = "rtc";
57262d62cbSPaul Cercueil	};
58262d62cbSPaul Cercueil
593951cbb5SPaul Cercueil	pinctrl: pin-controller@10010000 {
603951cbb5SPaul Cercueil		compatible = "ingenic,jz4740-pinctrl";
613951cbb5SPaul Cercueil		reg = <0x10010000 0x400>;
623951cbb5SPaul Cercueil
633951cbb5SPaul Cercueil		#address-cells = <1>;
643951cbb5SPaul Cercueil		#size-cells = <0>;
653951cbb5SPaul Cercueil
663951cbb5SPaul Cercueil		gpa: gpio@0 {
673951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
683951cbb5SPaul Cercueil			reg = <0>;
693951cbb5SPaul Cercueil
703951cbb5SPaul Cercueil			gpio-controller;
713951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 0 32>;
723951cbb5SPaul Cercueil			#gpio-cells = <2>;
733951cbb5SPaul Cercueil
743951cbb5SPaul Cercueil			interrupt-controller;
753951cbb5SPaul Cercueil			#interrupt-cells = <2>;
763951cbb5SPaul Cercueil
773951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
783951cbb5SPaul Cercueil			interrupts = <28>;
793951cbb5SPaul Cercueil		};
803951cbb5SPaul Cercueil
813951cbb5SPaul Cercueil		gpb: gpio@1 {
823951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
833951cbb5SPaul Cercueil			reg = <1>;
843951cbb5SPaul Cercueil
853951cbb5SPaul Cercueil			gpio-controller;
863951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 32 32>;
873951cbb5SPaul Cercueil			#gpio-cells = <2>;
883951cbb5SPaul Cercueil
893951cbb5SPaul Cercueil			interrupt-controller;
903951cbb5SPaul Cercueil			#interrupt-cells = <2>;
913951cbb5SPaul Cercueil
923951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
933951cbb5SPaul Cercueil			interrupts = <27>;
943951cbb5SPaul Cercueil		};
953951cbb5SPaul Cercueil
963951cbb5SPaul Cercueil		gpc: gpio@2 {
973951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
983951cbb5SPaul Cercueil			reg = <2>;
993951cbb5SPaul Cercueil
1003951cbb5SPaul Cercueil			gpio-controller;
1013951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 64 32>;
1023951cbb5SPaul Cercueil			#gpio-cells = <2>;
1033951cbb5SPaul Cercueil
1043951cbb5SPaul Cercueil			interrupt-controller;
1053951cbb5SPaul Cercueil			#interrupt-cells = <2>;
1063951cbb5SPaul Cercueil
1073951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
1083951cbb5SPaul Cercueil			interrupts = <26>;
1093951cbb5SPaul Cercueil		};
1103951cbb5SPaul Cercueil
1113951cbb5SPaul Cercueil		gpd: gpio@3 {
1123951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
1133951cbb5SPaul Cercueil			reg = <3>;
1143951cbb5SPaul Cercueil
1153951cbb5SPaul Cercueil			gpio-controller;
1163951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 96 32>;
1173951cbb5SPaul Cercueil			#gpio-cells = <2>;
1183951cbb5SPaul Cercueil
1193951cbb5SPaul Cercueil			interrupt-controller;
1203951cbb5SPaul Cercueil			#interrupt-cells = <2>;
1213951cbb5SPaul Cercueil
1223951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
1233951cbb5SPaul Cercueil			interrupts = <25>;
1243951cbb5SPaul Cercueil		};
1253951cbb5SPaul Cercueil	};
1263951cbb5SPaul Cercueil
1278838245dSPaul Burton	uart0: serial@10030000 {
1288838245dSPaul Burton		compatible = "ingenic,jz4740-uart";
1298838245dSPaul Burton		reg = <0x10030000 0x100>;
1308838245dSPaul Burton
1318838245dSPaul Burton		interrupt-parent = <&intc>;
1328838245dSPaul Burton		interrupts = <9>;
1338838245dSPaul Burton
1348838245dSPaul Burton		clocks = <&ext>, <&cgu JZ4740_CLK_UART0>;
1358838245dSPaul Burton		clock-names = "baud", "module";
1368838245dSPaul Burton	};
1378838245dSPaul Burton
1388838245dSPaul Burton	uart1: serial@10031000 {
1398838245dSPaul Burton		compatible = "ingenic,jz4740-uart";
1408838245dSPaul Burton		reg = <0x10031000 0x100>;
1418838245dSPaul Burton
1428838245dSPaul Burton		interrupt-parent = <&intc>;
1438838245dSPaul Burton		interrupts = <8>;
1448838245dSPaul Burton
1458838245dSPaul Burton		clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
1468838245dSPaul Burton		clock-names = "baud", "module";
1478838245dSPaul Burton	};
1489d1e7875SMaarten ter Huurne
1499d1e7875SMaarten ter Huurne	uhc: uhc@13030000 {
1509d1e7875SMaarten ter Huurne		compatible = "ingenic,jz4740-ohci", "generic-ohci";
1519d1e7875SMaarten ter Huurne		reg = <0x13030000 0x1000>;
1529d1e7875SMaarten ter Huurne
1539d1e7875SMaarten ter Huurne		clocks = <&cgu JZ4740_CLK_UHC>;
1549d1e7875SMaarten ter Huurne		assigned-clocks = <&cgu JZ4740_CLK_UHC>;
1559d1e7875SMaarten ter Huurne		assigned-clock-rates = <48000000>;
1569d1e7875SMaarten ter Huurne
1579d1e7875SMaarten ter Huurne		interrupt-parent = <&intc>;
1589d1e7875SMaarten ter Huurne		interrupts = <3>;
1599d1e7875SMaarten ter Huurne
1609d1e7875SMaarten ter Huurne		status = "disabled";
1619d1e7875SMaarten ter Huurne	};
162ffb1843dSPaul Burton};
163