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