xref: /openbmc/linux/arch/mips/boot/dts/ingenic/jz4740.dtsi (revision fbc23c71dfc9406ee0585d058edd834b523ef0e7)
1b2441318SGreg 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
48*fbc23c71SPaul Cercueil	watchdog: watchdog@10002000 {
49*fbc23c71SPaul Cercueil		compatible = "ingenic,jz4740-watchdog";
50*fbc23c71SPaul Cercueil		reg = <0x10002000 0x10>;
51*fbc23c71SPaul Cercueil
52*fbc23c71SPaul Cercueil		clocks = <&cgu JZ4740_CLK_RTC>;
53*fbc23c71SPaul Cercueil		clock-names = "rtc";
54*fbc23c71SPaul Cercueil	};
55*fbc23c71SPaul Cercueil
56262d62cbSPaul Cercueil	rtc_dev: rtc@10003000 {
57262d62cbSPaul Cercueil		compatible = "ingenic,jz4740-rtc";
58262d62cbSPaul Cercueil		reg = <0x10003000 0x40>;
59262d62cbSPaul Cercueil
60262d62cbSPaul Cercueil		interrupt-parent = <&intc>;
61262d62cbSPaul Cercueil		interrupts = <15>;
62262d62cbSPaul Cercueil
63262d62cbSPaul Cercueil		clocks = <&cgu JZ4740_CLK_RTC>;
64262d62cbSPaul Cercueil		clock-names = "rtc";
65262d62cbSPaul Cercueil	};
66262d62cbSPaul Cercueil
673951cbb5SPaul Cercueil	pinctrl: pin-controller@10010000 {
683951cbb5SPaul Cercueil		compatible = "ingenic,jz4740-pinctrl";
693951cbb5SPaul Cercueil		reg = <0x10010000 0x400>;
703951cbb5SPaul Cercueil
713951cbb5SPaul Cercueil		#address-cells = <1>;
723951cbb5SPaul Cercueil		#size-cells = <0>;
733951cbb5SPaul Cercueil
743951cbb5SPaul Cercueil		gpa: gpio@0 {
753951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
763951cbb5SPaul Cercueil			reg = <0>;
773951cbb5SPaul Cercueil
783951cbb5SPaul Cercueil			gpio-controller;
793951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 0 32>;
803951cbb5SPaul Cercueil			#gpio-cells = <2>;
813951cbb5SPaul Cercueil
823951cbb5SPaul Cercueil			interrupt-controller;
833951cbb5SPaul Cercueil			#interrupt-cells = <2>;
843951cbb5SPaul Cercueil
853951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
863951cbb5SPaul Cercueil			interrupts = <28>;
873951cbb5SPaul Cercueil		};
883951cbb5SPaul Cercueil
893951cbb5SPaul Cercueil		gpb: gpio@1 {
903951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
913951cbb5SPaul Cercueil			reg = <1>;
923951cbb5SPaul Cercueil
933951cbb5SPaul Cercueil			gpio-controller;
943951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 32 32>;
953951cbb5SPaul Cercueil			#gpio-cells = <2>;
963951cbb5SPaul Cercueil
973951cbb5SPaul Cercueil			interrupt-controller;
983951cbb5SPaul Cercueil			#interrupt-cells = <2>;
993951cbb5SPaul Cercueil
1003951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
1013951cbb5SPaul Cercueil			interrupts = <27>;
1023951cbb5SPaul Cercueil		};
1033951cbb5SPaul Cercueil
1043951cbb5SPaul Cercueil		gpc: gpio@2 {
1053951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
1063951cbb5SPaul Cercueil			reg = <2>;
1073951cbb5SPaul Cercueil
1083951cbb5SPaul Cercueil			gpio-controller;
1093951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 64 32>;
1103951cbb5SPaul Cercueil			#gpio-cells = <2>;
1113951cbb5SPaul Cercueil
1123951cbb5SPaul Cercueil			interrupt-controller;
1133951cbb5SPaul Cercueil			#interrupt-cells = <2>;
1143951cbb5SPaul Cercueil
1153951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
1163951cbb5SPaul Cercueil			interrupts = <26>;
1173951cbb5SPaul Cercueil		};
1183951cbb5SPaul Cercueil
1193951cbb5SPaul Cercueil		gpd: gpio@3 {
1203951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
1213951cbb5SPaul Cercueil			reg = <3>;
1223951cbb5SPaul Cercueil
1233951cbb5SPaul Cercueil			gpio-controller;
1243951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 96 32>;
1253951cbb5SPaul Cercueil			#gpio-cells = <2>;
1263951cbb5SPaul Cercueil
1273951cbb5SPaul Cercueil			interrupt-controller;
1283951cbb5SPaul Cercueil			#interrupt-cells = <2>;
1293951cbb5SPaul Cercueil
1303951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
1313951cbb5SPaul Cercueil			interrupts = <25>;
1323951cbb5SPaul Cercueil		};
1333951cbb5SPaul Cercueil	};
1343951cbb5SPaul Cercueil
1358838245dSPaul Burton	uart0: serial@10030000 {
1368838245dSPaul Burton		compatible = "ingenic,jz4740-uart";
1378838245dSPaul Burton		reg = <0x10030000 0x100>;
1388838245dSPaul Burton
1398838245dSPaul Burton		interrupt-parent = <&intc>;
1408838245dSPaul Burton		interrupts = <9>;
1418838245dSPaul Burton
1428838245dSPaul Burton		clocks = <&ext>, <&cgu JZ4740_CLK_UART0>;
1438838245dSPaul Burton		clock-names = "baud", "module";
1448838245dSPaul Burton	};
1458838245dSPaul Burton
1468838245dSPaul Burton	uart1: serial@10031000 {
1478838245dSPaul Burton		compatible = "ingenic,jz4740-uart";
1488838245dSPaul Burton		reg = <0x10031000 0x100>;
1498838245dSPaul Burton
1508838245dSPaul Burton		interrupt-parent = <&intc>;
1518838245dSPaul Burton		interrupts = <8>;
1528838245dSPaul Burton
1538838245dSPaul Burton		clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
1548838245dSPaul Burton		clock-names = "baud", "module";
1558838245dSPaul Burton	};
1569d1e7875SMaarten ter Huurne
1579d1e7875SMaarten ter Huurne	uhc: uhc@13030000 {
1589d1e7875SMaarten ter Huurne		compatible = "ingenic,jz4740-ohci", "generic-ohci";
1599d1e7875SMaarten ter Huurne		reg = <0x13030000 0x1000>;
1609d1e7875SMaarten ter Huurne
1619d1e7875SMaarten ter Huurne		clocks = <&cgu JZ4740_CLK_UHC>;
1629d1e7875SMaarten ter Huurne		assigned-clocks = <&cgu JZ4740_CLK_UHC>;
1639d1e7875SMaarten ter Huurne		assigned-clock-rates = <48000000>;
1649d1e7875SMaarten ter Huurne
1659d1e7875SMaarten ter Huurne		interrupt-parent = <&intc>;
1669d1e7875SMaarten ter Huurne		interrupts = <3>;
1679d1e7875SMaarten ter Huurne
1689d1e7875SMaarten ter Huurne		status = "disabled";
1699d1e7875SMaarten ter Huurne	};
170ffb1843dSPaul Burton};
171