1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/clock/jz4780-cgu.h> 3 4/ { 5 #address-cells = <1>; 6 #size-cells = <1>; 7 compatible = "ingenic,jz4780"; 8 9 cpuintc: interrupt-controller { 10 #address-cells = <0>; 11 #interrupt-cells = <1>; 12 interrupt-controller; 13 compatible = "mti,cpu-interrupt-controller"; 14 }; 15 16 intc: interrupt-controller@10001000 { 17 compatible = "ingenic,jz4780-intc"; 18 reg = <0x10001000 0x50>; 19 20 interrupt-controller; 21 #interrupt-cells = <1>; 22 23 interrupt-parent = <&cpuintc>; 24 interrupts = <2>; 25 }; 26 27 ext: ext { 28 compatible = "fixed-clock"; 29 #clock-cells = <0>; 30 }; 31 32 rtc: rtc { 33 compatible = "fixed-clock"; 34 #clock-cells = <0>; 35 clock-frequency = <32768>; 36 }; 37 38 cgu: jz4780-cgu@10000000 { 39 compatible = "ingenic,jz4780-cgu"; 40 reg = <0x10000000 0x100>; 41 42 clocks = <&ext>, <&rtc>; 43 clock-names = "ext", "rtc"; 44 45 #clock-cells = <1>; 46 }; 47 48 rtc_dev: rtc@10003000 { 49 compatible = "ingenic,jz4780-rtc"; 50 reg = <0x10003000 0x4c>; 51 52 interrupt-parent = <&intc>; 53 interrupts = <32>; 54 55 clocks = <&cgu JZ4780_CLK_RTCLK>; 56 clock-names = "rtc"; 57 }; 58 59 pinctrl: pin-controller@10010000 { 60 compatible = "ingenic,jz4780-pinctrl"; 61 reg = <0x10010000 0x600>; 62 63 #address-cells = <1>; 64 #size-cells = <0>; 65 66 gpa: gpio@0 { 67 compatible = "ingenic,jz4780-gpio"; 68 reg = <0>; 69 70 gpio-controller; 71 gpio-ranges = <&pinctrl 0 0 32>; 72 #gpio-cells = <2>; 73 74 interrupt-controller; 75 #interrupt-cells = <2>; 76 77 interrupt-parent = <&intc>; 78 interrupts = <17>; 79 }; 80 81 gpb: gpio@1 { 82 compatible = "ingenic,jz4780-gpio"; 83 reg = <1>; 84 85 gpio-controller; 86 gpio-ranges = <&pinctrl 0 32 32>; 87 #gpio-cells = <2>; 88 89 interrupt-controller; 90 #interrupt-cells = <2>; 91 92 interrupt-parent = <&intc>; 93 interrupts = <16>; 94 }; 95 96 gpc: gpio@2 { 97 compatible = "ingenic,jz4780-gpio"; 98 reg = <2>; 99 100 gpio-controller; 101 gpio-ranges = <&pinctrl 0 64 32>; 102 #gpio-cells = <2>; 103 104 interrupt-controller; 105 #interrupt-cells = <2>; 106 107 interrupt-parent = <&intc>; 108 interrupts = <15>; 109 }; 110 111 gpd: gpio@3 { 112 compatible = "ingenic,jz4780-gpio"; 113 reg = <3>; 114 115 gpio-controller; 116 gpio-ranges = <&pinctrl 0 96 32>; 117 #gpio-cells = <2>; 118 119 interrupt-controller; 120 #interrupt-cells = <2>; 121 122 interrupt-parent = <&intc>; 123 interrupts = <14>; 124 }; 125 126 gpe: gpio@4 { 127 compatible = "ingenic,jz4780-gpio"; 128 reg = <4>; 129 130 gpio-controller; 131 gpio-ranges = <&pinctrl 0 128 32>; 132 #gpio-cells = <2>; 133 134 interrupt-controller; 135 #interrupt-cells = <2>; 136 137 interrupt-parent = <&intc>; 138 interrupts = <13>; 139 }; 140 141 gpf: gpio@5 { 142 compatible = "ingenic,jz4780-gpio"; 143 reg = <5>; 144 145 gpio-controller; 146 gpio-ranges = <&pinctrl 0 160 32>; 147 #gpio-cells = <2>; 148 149 interrupt-controller; 150 #interrupt-cells = <2>; 151 152 interrupt-parent = <&intc>; 153 interrupts = <12>; 154 }; 155 }; 156 157 uart0: serial@10030000 { 158 compatible = "ingenic,jz4780-uart"; 159 reg = <0x10030000 0x100>; 160 161 interrupt-parent = <&intc>; 162 interrupts = <51>; 163 164 clocks = <&ext>, <&cgu JZ4780_CLK_UART0>; 165 clock-names = "baud", "module"; 166 167 status = "disabled"; 168 }; 169 170 uart1: serial@10031000 { 171 compatible = "ingenic,jz4780-uart"; 172 reg = <0x10031000 0x100>; 173 174 interrupt-parent = <&intc>; 175 interrupts = <50>; 176 177 clocks = <&ext>, <&cgu JZ4780_CLK_UART1>; 178 clock-names = "baud", "module"; 179 180 status = "disabled"; 181 }; 182 183 uart2: serial@10032000 { 184 compatible = "ingenic,jz4780-uart"; 185 reg = <0x10032000 0x100>; 186 187 interrupt-parent = <&intc>; 188 interrupts = <49>; 189 190 clocks = <&ext>, <&cgu JZ4780_CLK_UART2>; 191 clock-names = "baud", "module"; 192 193 status = "disabled"; 194 }; 195 196 uart3: serial@10033000 { 197 compatible = "ingenic,jz4780-uart"; 198 reg = <0x10033000 0x100>; 199 200 interrupt-parent = <&intc>; 201 interrupts = <48>; 202 203 clocks = <&ext>, <&cgu JZ4780_CLK_UART3>; 204 clock-names = "baud", "module"; 205 206 status = "disabled"; 207 }; 208 209 uart4: serial@10034000 { 210 compatible = "ingenic,jz4780-uart"; 211 reg = <0x10034000 0x100>; 212 213 interrupt-parent = <&intc>; 214 interrupts = <34>; 215 216 clocks = <&ext>, <&cgu JZ4780_CLK_UART4>; 217 clock-names = "baud", "module"; 218 219 status = "disabled"; 220 }; 221 222 watchdog: watchdog@10002000 { 223 compatible = "ingenic,jz4780-watchdog"; 224 reg = <0x10002000 0x100>; 225 }; 226 227 nemc: nemc@13410000 { 228 compatible = "ingenic,jz4780-nemc"; 229 reg = <0x13410000 0x10000>; 230 #address-cells = <2>; 231 #size-cells = <1>; 232 ranges = <1 0 0x1b000000 0x1000000 233 2 0 0x1a000000 0x1000000 234 3 0 0x19000000 0x1000000 235 4 0 0x18000000 0x1000000 236 5 0 0x17000000 0x1000000 237 6 0 0x16000000 0x1000000>; 238 239 clocks = <&cgu JZ4780_CLK_NEMC>; 240 241 status = "disabled"; 242 }; 243 244 bch: bch@134d0000 { 245 compatible = "ingenic,jz4780-bch"; 246 reg = <0x134d0000 0x10000>; 247 248 clocks = <&cgu JZ4780_CLK_BCH>; 249 250 status = "disabled"; 251 }; 252}; 253