1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/ingenic,jz4740-cgu 3 #include <dt-bindings/clock/ingenic,tcu.h> 4 5 / { 6 #address-cells = <1>; 7 #size-cells = <1>; 8 compatible = "ingenic,jz4740"; 9 10 cpus { 11 #address-cells = <1>; 12 #size-cells = <0>; 13 14 cpu0: cpu@0 { 15 device_type = "cpu"; 16 compatible = "ingenic, 17 reg = <0>; 18 19 clocks = <&cgu JZ4740_ 20 clock-names = "cpu"; 21 }; 22 }; 23 24 cpuintc: interrupt-controller { 25 #address-cells = <0>; 26 #interrupt-cells = <1>; 27 interrupt-controller; 28 compatible = "mti,cpu-interrup 29 }; 30 31 intc: interrupt-controller@10001000 { 32 compatible = "ingenic,jz4740-i 33 reg = <0x10001000 0x14>; 34 35 interrupt-controller; 36 #interrupt-cells = <1>; 37 38 interrupt-parent = <&cpuintc>; 39 interrupts = <2>; 40 }; 41 42 ext: ext { 43 compatible = "fixed-clock"; 44 #clock-cells = <0>; 45 }; 46 47 rtc: rtc { 48 compatible = "fixed-clock"; 49 #clock-cells = <0>; 50 clock-frequency = <32768>; 51 }; 52 53 cgu: jz4740-cgu@10000000 { 54 compatible = "ingenic,jz4740-c 55 reg = <0x10000000 0x100>; 56 57 clocks = <&ext>, <&rtc>; 58 clock-names = "ext", "rtc"; 59 60 #clock-cells = <1>; 61 }; 62 63 tcu: timer@10002000 { 64 compatible = "ingenic,jz4740-t 65 reg = <0x10002000 0x1000>; 66 #address-cells = <1>; 67 #size-cells = <1>; 68 ranges = <0x0 0x10002000 0x100 69 70 #clock-cells = <1>; 71 72 clocks = <&cgu JZ4740_CLK_RTC> 73 <&cgu JZ4740_CLK_EXT> 74 <&cgu JZ4740_CLK_PCLK 75 <&cgu JZ4740_CLK_TCU> 76 clock-names = "rtc", "ext", "p 77 78 interrupt-controller; 79 #interrupt-cells = <1>; 80 81 interrupt-parent = <&intc>; 82 interrupts = <23 22 21>; 83 84 watchdog: watchdog@0 { 85 compatible = "ingenic, 86 reg = <0x0 0xc>; 87 88 clocks = <&tcu TCU_CLK 89 clock-names = "wdt"; 90 }; 91 92 pwm: pwm@40 { 93 compatible = "ingenic, 94 reg = <0x40 0x80>; 95 96 #pwm-cells = <3>; 97 98 clocks = <&tcu TCU_CLK 99 <&tcu TCU_CLK 100 <&tcu TCU_CLK 101 <&tcu TCU_CLK 102 clock-names = "timer0" 103 "timer4" 104 }; 105 }; 106 107 rtc_dev: rtc@10003000 { 108 compatible = "ingenic,jz4740-r 109 reg = <0x10003000 0x40>; 110 111 interrupt-parent = <&intc>; 112 interrupts = <15>; 113 114 clocks = <&cgu JZ4740_CLK_RTC> 115 clock-names = "rtc"; 116 }; 117 118 pinctrl: pin-controller@10010000 { 119 compatible = "ingenic,jz4740-p 120 reg = <0x10010000 0x400>; 121 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 gpa: gpio@0 { 126 compatible = "ingenic, 127 reg = <0>; 128 129 gpio-controller; 130 gpio-ranges = <&pinctr 131 #gpio-cells = <2>; 132 133 interrupt-controller; 134 #interrupt-cells = <2> 135 136 interrupt-parent = <&i 137 interrupts = <28>; 138 }; 139 140 gpb: gpio@1 { 141 compatible = "ingenic, 142 reg = <1>; 143 144 gpio-controller; 145 gpio-ranges = <&pinctr 146 #gpio-cells = <2>; 147 148 interrupt-controller; 149 #interrupt-cells = <2> 150 151 interrupt-parent = <&i 152 interrupts = <27>; 153 }; 154 155 gpc: gpio@2 { 156 compatible = "ingenic, 157 reg = <2>; 158 159 gpio-controller; 160 gpio-ranges = <&pinctr 161 #gpio-cells = <2>; 162 163 interrupt-controller; 164 #interrupt-cells = <2> 165 166 interrupt-parent = <&i 167 interrupts = <26>; 168 }; 169 170 gpd: gpio@3 { 171 compatible = "ingenic, 172 reg = <3>; 173 174 gpio-controller; 175 gpio-ranges = <&pinctr 176 #gpio-cells = <2>; 177 178 interrupt-controller; 179 #interrupt-cells = <2> 180 181 interrupt-parent = <&i 182 interrupts = <25>; 183 }; 184 }; 185 186 aic: audio-controller@10020000 { 187 compatible = "ingenic,jz4740-i 188 reg = <0x10020000 0x38>; 189 190 #sound-dai-cells = <0>; 191 192 interrupt-parent = <&intc>; 193 interrupts = <18>; 194 195 clocks = <&cgu JZ4740_CLK_AIC> 196 clock-names = "aic", "i2s"; 197 198 dmas = <&dmac 25 0xffffffff>, 199 dma-names = "rx", "tx"; 200 }; 201 202 codec: audio-codec@100200a4 { 203 compatible = "ingenic,jz4740-c 204 reg = <0x10020080 0x8>; 205 206 #sound-dai-cells = <0>; 207 208 clocks = <&cgu JZ4740_CLK_AIC> 209 clock-names = "aic"; 210 }; 211 212 mmc: mmc@10021000 { 213 compatible = "ingenic,jz4740-m 214 reg = <0x10021000 0x1000>; 215 216 clocks = <&cgu JZ4740_CLK_MMC> 217 clock-names = "mmc"; 218 219 interrupt-parent = <&intc>; 220 interrupts = <14>; 221 222 dmas = <&dmac 27 0xffffffff>, 223 dma-names = "rx", "tx"; 224 225 cap-sd-highspeed; 226 cap-mmc-highspeed; 227 cap-sdio-irq; 228 }; 229 230 uart0: serial@10030000 { 231 compatible = "ingenic,jz4740-u 232 reg = <0x10030000 0x100>; 233 234 interrupt-parent = <&intc>; 235 interrupts = <9>; 236 237 clocks = <&ext>, <&cgu JZ4740_ 238 clock-names = "baud", "module" 239 }; 240 241 uart1: serial@10031000 { 242 compatible = "ingenic,jz4740-u 243 reg = <0x10031000 0x100>; 244 245 interrupt-parent = <&intc>; 246 interrupts = <8>; 247 248 clocks = <&ext>, <&cgu JZ4740_ 249 clock-names = "baud", "module" 250 }; 251 252 adc: adc@10070000 { 253 compatible = "ingenic,jz4740-a 254 reg = <0x10070000 0x30>; 255 #io-channel-cells = <1>; 256 257 clocks = <&cgu JZ4740_CLK_ADC> 258 clock-names = "adc"; 259 260 interrupt-parent = <&intc>; 261 interrupts = <12>; 262 }; 263 264 nemc: memory-controller@13010000 { 265 compatible = "ingenic,jz4740-n 266 reg = <0x13010000 0x54>; 267 #address-cells = <2>; 268 #size-cells = <1>; 269 ranges = <1 0 0x18000000 0x400 270 <2 0 0x14000000 0x400 271 <3 0 0x0c000000 0x400 272 <4 0 0x08000000 0x400 273 274 clocks = <&cgu JZ4740_CLK_MCLK 275 }; 276 277 ecc: ecc-controller@13010100 { 278 compatible = "ingenic,jz4740-e 279 reg = <0x13010100 0x2C>; 280 281 clocks = <&cgu JZ4740_CLK_MCLK 282 }; 283 284 dmac: dma-controller@13020000 { 285 compatible = "ingenic,jz4740-d 286 reg = <0x13020000 0xbc>, <0x13 287 #dma-cells = <2>; 288 289 interrupt-parent = <&intc>; 290 interrupts = <20>; 291 292 clocks = <&cgu JZ4740_CLK_DMA> 293 }; 294 295 uhc: usb@13030000 { 296 compatible = "ingenic,jz4740-o 297 reg = <0x13030000 0x1000>; 298 299 clocks = <&cgu JZ4740_CLK_UHC> 300 assigned-clocks = <&cgu JZ4740 301 assigned-clock-rates = <480000 302 303 interrupt-parent = <&intc>; 304 interrupts = <3>; 305 306 status = "disabled"; 307 }; 308 309 udc: usb@13040000 { 310 compatible = "ingenic,jz4740-m 311 reg = <0x13040000 0x10000>; 312 313 interrupt-parent = <&intc>; 314 interrupts = <24>; 315 interrupt-names = "mc"; 316 317 clocks = <&cgu JZ4740_CLK_UDC> 318 clock-names = "udc"; 319 }; 320 321 lcd: lcd-controller@13050000 { 322 compatible = "ingenic,jz4740-l 323 reg = <0x13050000 0x60>; /* LC 324 325 interrupt-parent = <&intc>; 326 interrupts = <30>; 327 328 clocks = <&cgu JZ4740_CLK_LCD_ 329 clock-names = "lcd_pclk", "lcd 330 }; 331 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.