1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/jz4780-cgu.h>
7 compatible = "ingenic,jz4780";
9 cpuintc: interrupt-controller {
11 #interrupt-cells = <1>;
13 compatible = "mti,cpu-interrupt-controller";
16 intc: interrupt-controller@10001000 {
17 compatible = "ingenic,jz4780-intc";
18 reg = <0x10001000 0x50>;
21 #interrupt-cells = <1>;
23 interrupt-parent = <&cpuintc>;
28 compatible = "fixed-clock";
33 compatible = "fixed-clock";
35 clock-frequency = <32768>;
38 cgu: jz4780-cgu@10000000 {
39 compatible = "ingenic,jz4780-cgu";
40 reg = <0x10000000 0x100>;
42 clocks = <&ext>, <&rtc>;
43 clock-names = "ext", "rtc";
48 rtc_dev: rtc@10003000 {
49 compatible = "ingenic,jz4780-rtc";
50 reg = <0x10003000 0x4c>;
52 interrupt-parent = <&intc>;
55 clocks = <&cgu JZ4780_CLK_RTCLK>;
59 pinctrl: pin-controller@10010000 {
60 compatible = "ingenic,jz4780-pinctrl";
61 reg = <0x10010000 0x600>;
67 compatible = "ingenic,jz4780-gpio";
71 gpio-ranges = <&pinctrl 0 0 32>;
75 #interrupt-cells = <2>;
77 interrupt-parent = <&intc>;
82 compatible = "ingenic,jz4780-gpio";
86 gpio-ranges = <&pinctrl 0 32 32>;
90 #interrupt-cells = <2>;
92 interrupt-parent = <&intc>;
97 compatible = "ingenic,jz4780-gpio";
101 gpio-ranges = <&pinctrl 0 64 32>;
104 interrupt-controller;
105 #interrupt-cells = <2>;
107 interrupt-parent = <&intc>;
112 compatible = "ingenic,jz4780-gpio";
116 gpio-ranges = <&pinctrl 0 96 32>;
119 interrupt-controller;
120 #interrupt-cells = <2>;
122 interrupt-parent = <&intc>;
127 compatible = "ingenic,jz4780-gpio";
131 gpio-ranges = <&pinctrl 0 128 32>;
134 interrupt-controller;
135 #interrupt-cells = <2>;
137 interrupt-parent = <&intc>;
142 compatible = "ingenic,jz4780-gpio";
146 gpio-ranges = <&pinctrl 0 160 32>;
149 interrupt-controller;
150 #interrupt-cells = <2>;
152 interrupt-parent = <&intc>;
157 uart0: serial@10030000 {
158 compatible = "ingenic,jz4780-uart";
159 reg = <0x10030000 0x100>;
161 interrupt-parent = <&intc>;
164 clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
165 clock-names = "baud", "module";
170 uart1: serial@10031000 {
171 compatible = "ingenic,jz4780-uart";
172 reg = <0x10031000 0x100>;
174 interrupt-parent = <&intc>;
177 clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
178 clock-names = "baud", "module";
183 uart2: serial@10032000 {
184 compatible = "ingenic,jz4780-uart";
185 reg = <0x10032000 0x100>;
187 interrupt-parent = <&intc>;
190 clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
191 clock-names = "baud", "module";
196 uart3: serial@10033000 {
197 compatible = "ingenic,jz4780-uart";
198 reg = <0x10033000 0x100>;
200 interrupt-parent = <&intc>;
203 clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
204 clock-names = "baud", "module";
209 uart4: serial@10034000 {
210 compatible = "ingenic,jz4780-uart";
211 reg = <0x10034000 0x100>;
213 interrupt-parent = <&intc>;
216 clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
217 clock-names = "baud", "module";
222 nemc: nemc@13410000 {
223 compatible = "ingenic,jz4780-nemc";
224 reg = <0x13410000 0x10000>;
225 #address-cells = <2>;
227 ranges = <1 0 0x1b000000 0x1000000
228 2 0 0x1a000000 0x1000000
229 3 0 0x19000000 0x1000000
230 4 0 0x18000000 0x1000000
231 5 0 0x17000000 0x1000000
232 6 0 0x16000000 0x1000000>;
234 clocks = <&cgu JZ4780_CLK_NEMC>;
240 compatible = "ingenic,jz4780-bch";
241 reg = <0x134d0000 0x10000>;
243 clocks = <&cgu JZ4780_CLK_BCH>;