1 // SPDX-License-Identifier: GPL-2.0
3 #include <dt-bindings/clock/jz4770-cgu.h>
8 compatible = "ingenic,jz4770";
10 cpuintc: interrupt-controller {
12 #interrupt-cells = <1>;
14 compatible = "mti,cpu-interrupt-controller";
17 intc: interrupt-controller@10001000 {
18 compatible = "ingenic,jz4770-intc";
19 reg = <0x10001000 0x40>;
22 #interrupt-cells = <1>;
24 interrupt-parent = <&cpuintc>;
29 compatible = "fixed-clock";
34 compatible = "fixed-clock";
36 clock-frequency = <32768>;
39 cgu: jz4770-cgu@10000000 {
40 compatible = "ingenic,jz4770-cgu";
41 reg = <0x10000000 0x100>;
43 clocks = <&ext>, <&osc32k>;
44 clock-names = "ext", "osc32k";
50 compatible = "ingenic,jz4770-tcu", "simple-mfd";
51 reg = <0x10002000 0x1000>;
54 ranges = <0x0 0x10002000 0x1000>;
58 clocks = <&cgu JZ4770_CLK_RTC
60 &cgu JZ4770_CLK_PCLK>;
61 clock-names = "rtc", "ext", "pclk";
64 #interrupt-cells = <1>;
66 interrupt-parent = <&intc>;
67 interrupts = <27 26 25>;
70 pinctrl: pin-controller@10010000 {
71 compatible = "ingenic,jz4770-pinctrl";
72 reg = <0x10010000 0x600>;
78 compatible = "ingenic,jz4770-gpio";
82 gpio-ranges = <&pinctrl 0 0 32>;
86 #interrupt-cells = <2>;
88 interrupt-parent = <&intc>;
93 compatible = "ingenic,jz4770-gpio";
97 gpio-ranges = <&pinctrl 0 32 32>;
100 interrupt-controller;
101 #interrupt-cells = <2>;
103 interrupt-parent = <&intc>;
108 compatible = "ingenic,jz4770-gpio";
112 gpio-ranges = <&pinctrl 0 64 32>;
115 interrupt-controller;
116 #interrupt-cells = <2>;
118 interrupt-parent = <&intc>;
123 compatible = "ingenic,jz4770-gpio";
127 gpio-ranges = <&pinctrl 0 96 32>;
130 interrupt-controller;
131 #interrupt-cells = <2>;
133 interrupt-parent = <&intc>;
138 compatible = "ingenic,jz4770-gpio";
142 gpio-ranges = <&pinctrl 0 128 32>;
145 interrupt-controller;
146 #interrupt-cells = <2>;
148 interrupt-parent = <&intc>;
153 compatible = "ingenic,jz4770-gpio";
157 gpio-ranges = <&pinctrl 0 160 32>;
160 interrupt-controller;
161 #interrupt-cells = <2>;
163 interrupt-parent = <&intc>;
168 uart0: serial@10030000 {
169 compatible = "ingenic,jz4770-uart";
170 reg = <0x10030000 0x100>;
172 clocks = <&ext>, <&cgu JZ4770_CLK_UART0>;
173 clock-names = "baud", "module";
175 interrupt-parent = <&intc>;
181 uart1: serial@10031000 {
182 compatible = "ingenic,jz4770-uart";
183 reg = <0x10031000 0x100>;
185 clocks = <&ext>, <&cgu JZ4770_CLK_UART1>;
186 clock-names = "baud", "module";
188 interrupt-parent = <&intc>;
194 uart2: serial@10032000 {
195 compatible = "ingenic,jz4770-uart";
196 reg = <0x10032000 0x100>;
198 clocks = <&ext>, <&cgu JZ4770_CLK_UART2>;
199 clock-names = "baud", "module";
201 interrupt-parent = <&intc>;
207 uart3: serial@10033000 {
208 compatible = "ingenic,jz4770-uart";
209 reg = <0x10033000 0x100>;
211 clocks = <&ext>, <&cgu JZ4770_CLK_UART3>;
212 clock-names = "baud", "module";
214 interrupt-parent = <&intc>;
220 dmac0: dma-controller@13420000 {
221 compatible = "ingenic,jz4770-dma";
222 reg = <0x13420000 0xC0
227 clocks = <&cgu JZ4770_CLK_DMA>;
228 interrupt-parent = <&intc>;
231 /* Disable dmac0 until we have something that uses it */
235 dmac1: dma-controller@13420100 {
236 compatible = "ingenic,jz4770-dma";
237 reg = <0x13420100 0xC0
242 clocks = <&cgu JZ4770_CLK_DMA>;
243 interrupt-parent = <&intc>;
246 /* Disable dmac1 until we have something that uses it */
251 compatible = "generic-ohci";
252 reg = <0x13430000 0x1000>;
254 clocks = <&cgu JZ4770_CLK_UHC>, <&cgu JZ4770_CLK_UHC_PHY>;
255 assigned-clocks = <&cgu JZ4770_CLK_UHC>;
256 assigned-clock-rates = <48000000>;
258 interrupt-parent = <&intc>;