xref: /openbmc/linux/arch/mips/boot/dts/ingenic/jz4740.dtsi (revision 3951cbb548b2d2fdb1178ad5158fb1d65a8a15df)
1ff1930c6SPaul Burton#include <dt-bindings/clock/jz4740-cgu.h>
2ff1930c6SPaul Burton
3ffb1843dSPaul Burton/ {
4ffb1843dSPaul Burton	#address-cells = <1>;
5ffb1843dSPaul Burton	#size-cells = <1>;
6ffb1843dSPaul Burton	compatible = "ingenic,jz4740";
78e8261ebSPaul Burton
85214cae7SAntony Pavlov	cpuintc: interrupt-controller {
98e8261ebSPaul Burton		#address-cells = <0>;
108e8261ebSPaul Burton		#interrupt-cells = <1>;
118e8261ebSPaul Burton		interrupt-controller;
128e8261ebSPaul Burton		compatible = "mti,cpu-interrupt-controller";
138e8261ebSPaul Burton	};
14adbdce77SPaul Burton
15adbdce77SPaul Burton	intc: interrupt-controller@10001000 {
16adbdce77SPaul Burton		compatible = "ingenic,jz4740-intc";
17adbdce77SPaul Burton		reg = <0x10001000 0x14>;
18adbdce77SPaul Burton
19adbdce77SPaul Burton		interrupt-controller;
20adbdce77SPaul Burton		#interrupt-cells = <1>;
21adbdce77SPaul Burton
22adbdce77SPaul Burton		interrupt-parent = <&cpuintc>;
23adbdce77SPaul Burton		interrupts = <2>;
24adbdce77SPaul Burton	};
25ff1930c6SPaul Burton
26ff1930c6SPaul Burton	ext: ext {
27ff1930c6SPaul Burton		compatible = "fixed-clock";
28ff1930c6SPaul Burton		#clock-cells = <0>;
29ff1930c6SPaul Burton	};
30ff1930c6SPaul Burton
31ff1930c6SPaul Burton	rtc: rtc {
32ff1930c6SPaul Burton		compatible = "fixed-clock";
33ff1930c6SPaul Burton		#clock-cells = <0>;
34ff1930c6SPaul Burton		clock-frequency = <32768>;
35ff1930c6SPaul Burton	};
36ff1930c6SPaul Burton
37ff1930c6SPaul Burton	cgu: jz4740-cgu@10000000 {
38ff1930c6SPaul Burton		compatible = "ingenic,jz4740-cgu";
39ff1930c6SPaul Burton		reg = <0x10000000 0x100>;
40ff1930c6SPaul Burton
41ff1930c6SPaul Burton		clocks = <&ext>, <&rtc>;
42ff1930c6SPaul Burton		clock-names = "ext", "rtc";
43ff1930c6SPaul Burton
44ff1930c6SPaul Burton		#clock-cells = <1>;
45ff1930c6SPaul Burton	};
468838245dSPaul Burton
47262d62cbSPaul Cercueil	rtc_dev: rtc@10003000 {
48262d62cbSPaul Cercueil		compatible = "ingenic,jz4740-rtc";
49262d62cbSPaul Cercueil		reg = <0x10003000 0x40>;
50262d62cbSPaul Cercueil
51262d62cbSPaul Cercueil		interrupt-parent = <&intc>;
52262d62cbSPaul Cercueil		interrupts = <15>;
53262d62cbSPaul Cercueil
54262d62cbSPaul Cercueil		clocks = <&cgu JZ4740_CLK_RTC>;
55262d62cbSPaul Cercueil		clock-names = "rtc";
56262d62cbSPaul Cercueil	};
57262d62cbSPaul Cercueil
58*3951cbb5SPaul Cercueil	pinctrl: pin-controller@10010000 {
59*3951cbb5SPaul Cercueil		compatible = "ingenic,jz4740-pinctrl";
60*3951cbb5SPaul Cercueil		reg = <0x10010000 0x400>;
61*3951cbb5SPaul Cercueil
62*3951cbb5SPaul Cercueil		#address-cells = <1>;
63*3951cbb5SPaul Cercueil		#size-cells = <0>;
64*3951cbb5SPaul Cercueil
65*3951cbb5SPaul Cercueil		gpa: gpio@0 {
66*3951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
67*3951cbb5SPaul Cercueil			reg = <0>;
68*3951cbb5SPaul Cercueil
69*3951cbb5SPaul Cercueil			gpio-controller;
70*3951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 0 32>;
71*3951cbb5SPaul Cercueil			#gpio-cells = <2>;
72*3951cbb5SPaul Cercueil
73*3951cbb5SPaul Cercueil			interrupt-controller;
74*3951cbb5SPaul Cercueil			#interrupt-cells = <2>;
75*3951cbb5SPaul Cercueil
76*3951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
77*3951cbb5SPaul Cercueil			interrupts = <28>;
78*3951cbb5SPaul Cercueil		};
79*3951cbb5SPaul Cercueil
80*3951cbb5SPaul Cercueil		gpb: gpio@1 {
81*3951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
82*3951cbb5SPaul Cercueil			reg = <1>;
83*3951cbb5SPaul Cercueil
84*3951cbb5SPaul Cercueil			gpio-controller;
85*3951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 32 32>;
86*3951cbb5SPaul Cercueil			#gpio-cells = <2>;
87*3951cbb5SPaul Cercueil
88*3951cbb5SPaul Cercueil			interrupt-controller;
89*3951cbb5SPaul Cercueil			#interrupt-cells = <2>;
90*3951cbb5SPaul Cercueil
91*3951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
92*3951cbb5SPaul Cercueil			interrupts = <27>;
93*3951cbb5SPaul Cercueil		};
94*3951cbb5SPaul Cercueil
95*3951cbb5SPaul Cercueil		gpc: gpio@2 {
96*3951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
97*3951cbb5SPaul Cercueil			reg = <2>;
98*3951cbb5SPaul Cercueil
99*3951cbb5SPaul Cercueil			gpio-controller;
100*3951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 64 32>;
101*3951cbb5SPaul Cercueil			#gpio-cells = <2>;
102*3951cbb5SPaul Cercueil
103*3951cbb5SPaul Cercueil			interrupt-controller;
104*3951cbb5SPaul Cercueil			#interrupt-cells = <2>;
105*3951cbb5SPaul Cercueil
106*3951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
107*3951cbb5SPaul Cercueil			interrupts = <26>;
108*3951cbb5SPaul Cercueil		};
109*3951cbb5SPaul Cercueil
110*3951cbb5SPaul Cercueil		gpd: gpio@3 {
111*3951cbb5SPaul Cercueil			compatible = "ingenic,jz4740-gpio";
112*3951cbb5SPaul Cercueil			reg = <3>;
113*3951cbb5SPaul Cercueil
114*3951cbb5SPaul Cercueil			gpio-controller;
115*3951cbb5SPaul Cercueil			gpio-ranges = <&pinctrl 0 96 32>;
116*3951cbb5SPaul Cercueil			#gpio-cells = <2>;
117*3951cbb5SPaul Cercueil
118*3951cbb5SPaul Cercueil			interrupt-controller;
119*3951cbb5SPaul Cercueil			#interrupt-cells = <2>;
120*3951cbb5SPaul Cercueil
121*3951cbb5SPaul Cercueil			interrupt-parent = <&intc>;
122*3951cbb5SPaul Cercueil			interrupts = <25>;
123*3951cbb5SPaul Cercueil		};
124*3951cbb5SPaul Cercueil	};
125*3951cbb5SPaul Cercueil
1268838245dSPaul Burton	uart0: serial@10030000 {
1278838245dSPaul Burton		compatible = "ingenic,jz4740-uart";
1288838245dSPaul Burton		reg = <0x10030000 0x100>;
1298838245dSPaul Burton
1308838245dSPaul Burton		interrupt-parent = <&intc>;
1318838245dSPaul Burton		interrupts = <9>;
1328838245dSPaul Burton
1338838245dSPaul Burton		clocks = <&ext>, <&cgu JZ4740_CLK_UART0>;
1348838245dSPaul Burton		clock-names = "baud", "module";
1358838245dSPaul Burton	};
1368838245dSPaul Burton
1378838245dSPaul Burton	uart1: serial@10031000 {
1388838245dSPaul Burton		compatible = "ingenic,jz4740-uart";
1398838245dSPaul Burton		reg = <0x10031000 0x100>;
1408838245dSPaul Burton
1418838245dSPaul Burton		interrupt-parent = <&intc>;
1428838245dSPaul Burton		interrupts = <8>;
1438838245dSPaul Burton
1448838245dSPaul Burton		clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
1458838245dSPaul Burton		clock-names = "baud", "module";
1468838245dSPaul Burton	};
1479d1e7875SMaarten ter Huurne
1489d1e7875SMaarten ter Huurne	uhc: uhc@13030000 {
1499d1e7875SMaarten ter Huurne		compatible = "ingenic,jz4740-ohci", "generic-ohci";
1509d1e7875SMaarten ter Huurne		reg = <0x13030000 0x1000>;
1519d1e7875SMaarten ter Huurne
1529d1e7875SMaarten ter Huurne		clocks = <&cgu JZ4740_CLK_UHC>;
1539d1e7875SMaarten ter Huurne		assigned-clocks = <&cgu JZ4740_CLK_UHC>;
1549d1e7875SMaarten ter Huurne		assigned-clock-rates = <48000000>;
1559d1e7875SMaarten ter Huurne
1569d1e7875SMaarten ter Huurne		interrupt-parent = <&intc>;
1579d1e7875SMaarten ter Huurne		interrupts = <3>;
1589d1e7875SMaarten ter Huurne
1599d1e7875SMaarten ter Huurne		status = "disabled";
1609d1e7875SMaarten ter Huurne	};
161ffb1843dSPaul Burton};
162