xref: /openbmc/linux/arch/mips/boot/dts/ingenic/jz4780.dtsi (revision ed3266169972daaad9989144d96eb46a4bf42eac)
15b9cdd24SPaul Burton#include <dt-bindings/clock/jz4780-cgu.h>
25b9cdd24SPaul Burton
35b9cdd24SPaul Burton/ {
45b9cdd24SPaul Burton	#address-cells = <1>;
55b9cdd24SPaul Burton	#size-cells = <1>;
65b9cdd24SPaul Burton	compatible = "ingenic,jz4780";
75b9cdd24SPaul Burton
85b9cdd24SPaul Burton	cpuintc: interrupt-controller {
95b9cdd24SPaul Burton		#address-cells = <0>;
105b9cdd24SPaul Burton		#interrupt-cells = <1>;
115b9cdd24SPaul Burton		interrupt-controller;
125b9cdd24SPaul Burton		compatible = "mti,cpu-interrupt-controller";
135b9cdd24SPaul Burton	};
145b9cdd24SPaul Burton
155b9cdd24SPaul Burton	intc: interrupt-controller@10001000 {
165b9cdd24SPaul Burton		compatible = "ingenic,jz4780-intc";
175b9cdd24SPaul Burton		reg = <0x10001000 0x50>;
185b9cdd24SPaul Burton
195b9cdd24SPaul Burton		interrupt-controller;
205b9cdd24SPaul Burton		#interrupt-cells = <1>;
215b9cdd24SPaul Burton
225b9cdd24SPaul Burton		interrupt-parent = <&cpuintc>;
235b9cdd24SPaul Burton		interrupts = <2>;
245b9cdd24SPaul Burton	};
255b9cdd24SPaul Burton
265b9cdd24SPaul Burton	ext: ext {
275b9cdd24SPaul Burton		compatible = "fixed-clock";
285b9cdd24SPaul Burton		#clock-cells = <0>;
295b9cdd24SPaul Burton	};
305b9cdd24SPaul Burton
315b9cdd24SPaul Burton	rtc: rtc {
325b9cdd24SPaul Burton		compatible = "fixed-clock";
335b9cdd24SPaul Burton		#clock-cells = <0>;
345b9cdd24SPaul Burton		clock-frequency = <32768>;
355b9cdd24SPaul Burton	};
365b9cdd24SPaul Burton
375b9cdd24SPaul Burton	cgu: jz4780-cgu@10000000 {
385b9cdd24SPaul Burton		compatible = "ingenic,jz4780-cgu";
395b9cdd24SPaul Burton		reg = <0x10000000 0x100>;
405b9cdd24SPaul Burton
415b9cdd24SPaul Burton		clocks = <&ext>, <&rtc>;
425b9cdd24SPaul Burton		clock-names = "ext", "rtc";
435b9cdd24SPaul Burton
445b9cdd24SPaul Burton		#clock-cells = <1>;
455b9cdd24SPaul Burton	};
465b9cdd24SPaul Burton
47*ed326616SMathieu Malaterre	rtc_dev: rtc@10003000 {
48*ed326616SMathieu Malaterre		compatible = "ingenic,jz4780-rtc";
49*ed326616SMathieu Malaterre		reg = <0x10003000 0x4c>;
50*ed326616SMathieu Malaterre
51*ed326616SMathieu Malaterre		interrupt-parent = <&intc>;
52*ed326616SMathieu Malaterre		interrupts = <32>;
53*ed326616SMathieu Malaterre
54*ed326616SMathieu Malaterre		clocks = <&cgu JZ4780_CLK_RTCLK>;
55*ed326616SMathieu Malaterre		clock-names = "rtc";
56*ed326616SMathieu Malaterre	};
57*ed326616SMathieu Malaterre
58d32613c3SPaul Cercueil	pinctrl: pin-controller@10010000 {
59d32613c3SPaul Cercueil		compatible = "ingenic,jz4780-pinctrl";
60d32613c3SPaul Cercueil		reg = <0x10010000 0x600>;
61d32613c3SPaul Cercueil
62d32613c3SPaul Cercueil		#address-cells = <1>;
63d32613c3SPaul Cercueil		#size-cells = <0>;
64d32613c3SPaul Cercueil
65d32613c3SPaul Cercueil		gpa: gpio@0 {
66d32613c3SPaul Cercueil			compatible = "ingenic,jz4780-gpio";
67d32613c3SPaul Cercueil			reg = <0>;
68d32613c3SPaul Cercueil
69d32613c3SPaul Cercueil			gpio-controller;
70d32613c3SPaul Cercueil			gpio-ranges = <&pinctrl 0 0 32>;
71d32613c3SPaul Cercueil			#gpio-cells = <2>;
72d32613c3SPaul Cercueil
73d32613c3SPaul Cercueil			interrupt-controller;
74d32613c3SPaul Cercueil			#interrupt-cells = <2>;
75d32613c3SPaul Cercueil
76d32613c3SPaul Cercueil			interrupt-parent = <&intc>;
77d32613c3SPaul Cercueil			interrupts = <17>;
78d32613c3SPaul Cercueil		};
79d32613c3SPaul Cercueil
80d32613c3SPaul Cercueil		gpb: gpio@1 {
81d32613c3SPaul Cercueil			compatible = "ingenic,jz4780-gpio";
82d32613c3SPaul Cercueil			reg = <1>;
83d32613c3SPaul Cercueil
84d32613c3SPaul Cercueil			gpio-controller;
85d32613c3SPaul Cercueil			gpio-ranges = <&pinctrl 0 32 32>;
86d32613c3SPaul Cercueil			#gpio-cells = <2>;
87d32613c3SPaul Cercueil
88d32613c3SPaul Cercueil			interrupt-controller;
89d32613c3SPaul Cercueil			#interrupt-cells = <2>;
90d32613c3SPaul Cercueil
91d32613c3SPaul Cercueil			interrupt-parent = <&intc>;
92d32613c3SPaul Cercueil			interrupts = <16>;
93d32613c3SPaul Cercueil		};
94d32613c3SPaul Cercueil
95d32613c3SPaul Cercueil		gpc: gpio@2 {
96d32613c3SPaul Cercueil			compatible = "ingenic,jz4780-gpio";
97d32613c3SPaul Cercueil			reg = <2>;
98d32613c3SPaul Cercueil
99d32613c3SPaul Cercueil			gpio-controller;
100d32613c3SPaul Cercueil			gpio-ranges = <&pinctrl 0 64 32>;
101d32613c3SPaul Cercueil			#gpio-cells = <2>;
102d32613c3SPaul Cercueil
103d32613c3SPaul Cercueil			interrupt-controller;
104d32613c3SPaul Cercueil			#interrupt-cells = <2>;
105d32613c3SPaul Cercueil
106d32613c3SPaul Cercueil			interrupt-parent = <&intc>;
107d32613c3SPaul Cercueil			interrupts = <15>;
108d32613c3SPaul Cercueil		};
109d32613c3SPaul Cercueil
110d32613c3SPaul Cercueil		gpd: gpio@3 {
111d32613c3SPaul Cercueil			compatible = "ingenic,jz4780-gpio";
112d32613c3SPaul Cercueil			reg = <3>;
113d32613c3SPaul Cercueil
114d32613c3SPaul Cercueil			gpio-controller;
115d32613c3SPaul Cercueil			gpio-ranges = <&pinctrl 0 96 32>;
116d32613c3SPaul Cercueil			#gpio-cells = <2>;
117d32613c3SPaul Cercueil
118d32613c3SPaul Cercueil			interrupt-controller;
119d32613c3SPaul Cercueil			#interrupt-cells = <2>;
120d32613c3SPaul Cercueil
121d32613c3SPaul Cercueil			interrupt-parent = <&intc>;
122d32613c3SPaul Cercueil			interrupts = <14>;
123d32613c3SPaul Cercueil		};
124d32613c3SPaul Cercueil
125d32613c3SPaul Cercueil		gpe: gpio@4 {
126d32613c3SPaul Cercueil			compatible = "ingenic,jz4780-gpio";
127d32613c3SPaul Cercueil			reg = <4>;
128d32613c3SPaul Cercueil
129d32613c3SPaul Cercueil			gpio-controller;
130d32613c3SPaul Cercueil			gpio-ranges = <&pinctrl 0 128 32>;
131d32613c3SPaul Cercueil			#gpio-cells = <2>;
132d32613c3SPaul Cercueil
133d32613c3SPaul Cercueil			interrupt-controller;
134d32613c3SPaul Cercueil			#interrupt-cells = <2>;
135d32613c3SPaul Cercueil
136d32613c3SPaul Cercueil			interrupt-parent = <&intc>;
137d32613c3SPaul Cercueil			interrupts = <13>;
138d32613c3SPaul Cercueil		};
139d32613c3SPaul Cercueil
140d32613c3SPaul Cercueil		gpf: gpio@5 {
141d32613c3SPaul Cercueil			compatible = "ingenic,jz4780-gpio";
142d32613c3SPaul Cercueil			reg = <5>;
143d32613c3SPaul Cercueil
144d32613c3SPaul Cercueil			gpio-controller;
145d32613c3SPaul Cercueil			gpio-ranges = <&pinctrl 0 160 32>;
146d32613c3SPaul Cercueil			#gpio-cells = <2>;
147d32613c3SPaul Cercueil
148d32613c3SPaul Cercueil			interrupt-controller;
149d32613c3SPaul Cercueil			#interrupt-cells = <2>;
150d32613c3SPaul Cercueil
151d32613c3SPaul Cercueil			interrupt-parent = <&intc>;
152d32613c3SPaul Cercueil			interrupts = <12>;
153d32613c3SPaul Cercueil		};
154d32613c3SPaul Cercueil	};
155d32613c3SPaul Cercueil
1565b9cdd24SPaul Burton	uart0: serial@10030000 {
1575b9cdd24SPaul Burton		compatible = "ingenic,jz4780-uart";
1585b9cdd24SPaul Burton		reg = <0x10030000 0x100>;
1595b9cdd24SPaul Burton
1605b9cdd24SPaul Burton		interrupt-parent = <&intc>;
1615b9cdd24SPaul Burton		interrupts = <51>;
1625b9cdd24SPaul Burton
1635b9cdd24SPaul Burton		clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
1645b9cdd24SPaul Burton		clock-names = "baud", "module";
1655b9cdd24SPaul Burton
1665b9cdd24SPaul Burton		status = "disabled";
1675b9cdd24SPaul Burton	};
1685b9cdd24SPaul Burton
1695b9cdd24SPaul Burton	uart1: serial@10031000 {
1705b9cdd24SPaul Burton		compatible = "ingenic,jz4780-uart";
1715b9cdd24SPaul Burton		reg = <0x10031000 0x100>;
1725b9cdd24SPaul Burton
1735b9cdd24SPaul Burton		interrupt-parent = <&intc>;
1745b9cdd24SPaul Burton		interrupts = <50>;
1755b9cdd24SPaul Burton
1765b9cdd24SPaul Burton		clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
1775b9cdd24SPaul Burton		clock-names = "baud", "module";
1785b9cdd24SPaul Burton
1795b9cdd24SPaul Burton		status = "disabled";
1805b9cdd24SPaul Burton	};
1815b9cdd24SPaul Burton
1825b9cdd24SPaul Burton	uart2: serial@10032000 {
1835b9cdd24SPaul Burton		compatible = "ingenic,jz4780-uart";
1845b9cdd24SPaul Burton		reg = <0x10032000 0x100>;
1855b9cdd24SPaul Burton
1865b9cdd24SPaul Burton		interrupt-parent = <&intc>;
1875b9cdd24SPaul Burton		interrupts = <49>;
1885b9cdd24SPaul Burton
1895b9cdd24SPaul Burton		clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
1905b9cdd24SPaul Burton		clock-names = "baud", "module";
1915b9cdd24SPaul Burton
1925b9cdd24SPaul Burton		status = "disabled";
1935b9cdd24SPaul Burton	};
1945b9cdd24SPaul Burton
1955b9cdd24SPaul Burton	uart3: serial@10033000 {
1965b9cdd24SPaul Burton		compatible = "ingenic,jz4780-uart";
1975b9cdd24SPaul Burton		reg = <0x10033000 0x100>;
1985b9cdd24SPaul Burton
1995b9cdd24SPaul Burton		interrupt-parent = <&intc>;
2005b9cdd24SPaul Burton		interrupts = <48>;
2015b9cdd24SPaul Burton
2025b9cdd24SPaul Burton		clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
2035b9cdd24SPaul Burton		clock-names = "baud", "module";
2045b9cdd24SPaul Burton
2055b9cdd24SPaul Burton		status = "disabled";
2065b9cdd24SPaul Burton	};
2075b9cdd24SPaul Burton
2085b9cdd24SPaul Burton	uart4: serial@10034000 {
2095b9cdd24SPaul Burton		compatible = "ingenic,jz4780-uart";
2105b9cdd24SPaul Burton		reg = <0x10034000 0x100>;
2115b9cdd24SPaul Burton
2125b9cdd24SPaul Burton		interrupt-parent = <&intc>;
2135b9cdd24SPaul Burton		interrupts = <34>;
2145b9cdd24SPaul Burton
2155b9cdd24SPaul Burton		clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
2165b9cdd24SPaul Burton		clock-names = "baud", "module";
2175b9cdd24SPaul Burton
2185b9cdd24SPaul Burton		status = "disabled";
2195b9cdd24SPaul Burton	};
22078800558SAlex Smith
22178800558SAlex Smith	nemc: nemc@13410000 {
22278800558SAlex Smith		compatible = "ingenic,jz4780-nemc";
22378800558SAlex Smith		reg = <0x13410000 0x10000>;
22478800558SAlex Smith		#address-cells = <2>;
22578800558SAlex Smith		#size-cells = <1>;
22678800558SAlex Smith		ranges = <1 0 0x1b000000 0x1000000
22778800558SAlex Smith			  2 0 0x1a000000 0x1000000
22878800558SAlex Smith			  3 0 0x19000000 0x1000000
22978800558SAlex Smith			  4 0 0x18000000 0x1000000
23078800558SAlex Smith			  5 0 0x17000000 0x1000000
23178800558SAlex Smith			  6 0 0x16000000 0x1000000>;
23278800558SAlex Smith
23378800558SAlex Smith		clocks = <&cgu JZ4780_CLK_NEMC>;
23478800558SAlex Smith
23578800558SAlex Smith		status = "disabled";
23678800558SAlex Smith	};
23778800558SAlex Smith
23878800558SAlex Smith	bch: bch@134d0000 {
23978800558SAlex Smith		compatible = "ingenic,jz4780-bch";
24078800558SAlex Smith		reg = <0x134d0000 0x10000>;
24178800558SAlex Smith
24278800558SAlex Smith		clocks = <&cgu JZ4780_CLK_BCH>;
24378800558SAlex Smith
24478800558SAlex Smith		status = "disabled";
24578800558SAlex Smith	};
2465b9cdd24SPaul Burton};
247