.. | .. |
---|
1 | 1 | // SPDX-License-Identifier: GPL-2.0 |
---|
2 | 2 | #include <dt-bindings/clock/jz4780-cgu.h> |
---|
| 3 | +#include <dt-bindings/clock/ingenic,tcu.h> |
---|
3 | 4 | #include <dt-bindings/dma/jz4780-dma.h> |
---|
4 | 5 | |
---|
5 | 6 | / { |
---|
6 | 7 | #address-cells = <1>; |
---|
7 | 8 | #size-cells = <1>; |
---|
8 | 9 | compatible = "ingenic,jz4780"; |
---|
| 10 | + |
---|
| 11 | + cpus { |
---|
| 12 | + #address-cells = <1>; |
---|
| 13 | + #size-cells = <0>; |
---|
| 14 | + |
---|
| 15 | + cpu0: cpu@0 { |
---|
| 16 | + device_type = "cpu"; |
---|
| 17 | + compatible = "ingenic,xburst-fpu1.0-mxu1.1"; |
---|
| 18 | + reg = <0>; |
---|
| 19 | + |
---|
| 20 | + clocks = <&cgu JZ4780_CLK_CPU>; |
---|
| 21 | + clock-names = "cpu"; |
---|
| 22 | + }; |
---|
| 23 | + |
---|
| 24 | + cpu1: cpu@1 { |
---|
| 25 | + device_type = "cpu"; |
---|
| 26 | + compatible = "ingenic,xburst-fpu1.0-mxu1.1"; |
---|
| 27 | + reg = <1>; |
---|
| 28 | + |
---|
| 29 | + clocks = <&cgu JZ4780_CLK_CORE1>; |
---|
| 30 | + clock-names = "cpu"; |
---|
| 31 | + }; |
---|
| 32 | + }; |
---|
9 | 33 | |
---|
10 | 34 | cpuintc: interrupt-controller { |
---|
11 | 35 | #address-cells = <0>; |
---|
.. | .. |
---|
44 | 68 | clock-names = "ext", "rtc"; |
---|
45 | 69 | |
---|
46 | 70 | #clock-cells = <1>; |
---|
| 71 | + }; |
---|
| 72 | + |
---|
| 73 | + tcu: timer@10002000 { |
---|
| 74 | + compatible = "ingenic,jz4780-tcu", |
---|
| 75 | + "ingenic,jz4770-tcu", |
---|
| 76 | + "simple-mfd"; |
---|
| 77 | + reg = <0x10002000 0x1000>; |
---|
| 78 | + #address-cells = <1>; |
---|
| 79 | + #size-cells = <1>; |
---|
| 80 | + ranges = <0x0 0x10002000 0x1000>; |
---|
| 81 | + |
---|
| 82 | + #clock-cells = <1>; |
---|
| 83 | + |
---|
| 84 | + clocks = <&cgu JZ4780_CLK_RTCLK>, |
---|
| 85 | + <&cgu JZ4780_CLK_EXCLK>, |
---|
| 86 | + <&cgu JZ4780_CLK_PCLK>; |
---|
| 87 | + clock-names = "rtc", "ext", "pclk"; |
---|
| 88 | + |
---|
| 89 | + interrupt-controller; |
---|
| 90 | + #interrupt-cells = <1>; |
---|
| 91 | + |
---|
| 92 | + interrupt-parent = <&intc>; |
---|
| 93 | + interrupts = <27 26 25>; |
---|
| 94 | + |
---|
| 95 | + watchdog: watchdog@0 { |
---|
| 96 | + compatible = "ingenic,jz4780-watchdog"; |
---|
| 97 | + reg = <0x0 0xc>; |
---|
| 98 | + |
---|
| 99 | + clocks = <&tcu TCU_CLK_WDT>; |
---|
| 100 | + clock-names = "wdt"; |
---|
| 101 | + }; |
---|
| 102 | + |
---|
| 103 | + pwm: pwm@40 { |
---|
| 104 | + compatible = "ingenic,jz4780-pwm", "ingenic,jz4740-pwm"; |
---|
| 105 | + reg = <0x40 0x80>; |
---|
| 106 | + |
---|
| 107 | + #pwm-cells = <3>; |
---|
| 108 | + |
---|
| 109 | + clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>, |
---|
| 110 | + <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>, |
---|
| 111 | + <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>, |
---|
| 112 | + <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>; |
---|
| 113 | + clock-names = "timer0", "timer1", "timer2", "timer3", |
---|
| 114 | + "timer4", "timer5", "timer6", "timer7"; |
---|
| 115 | + }; |
---|
| 116 | + |
---|
| 117 | + ost: timer@e0 { |
---|
| 118 | + compatible = "ingenic,jz4780-ost", "ingenic,jz4770-ost"; |
---|
| 119 | + reg = <0xe0 0x20>; |
---|
| 120 | + |
---|
| 121 | + clocks = <&tcu TCU_CLK_OST>; |
---|
| 122 | + clock-names = "ost"; |
---|
| 123 | + |
---|
| 124 | + interrupts = <15>; |
---|
| 125 | + }; |
---|
47 | 126 | }; |
---|
48 | 127 | |
---|
49 | 128 | rtc_dev: rtc@10003000 { |
---|
.. | .. |
---|
164 | 243 | gpio-miso = <&gpe 14 0>; |
---|
165 | 244 | gpio-sck = <&gpe 15 0>; |
---|
166 | 245 | gpio-mosi = <&gpe 17 0>; |
---|
167 | | - cs-gpios = <&gpe 16 0 |
---|
168 | | - &gpe 18 0>; |
---|
| 246 | + cs-gpios = <&gpe 16 0>, <&gpe 18 0>; |
---|
169 | 247 | |
---|
170 | 248 | spidev@0 { |
---|
171 | 249 | compatible = "spidev"; |
---|
.. | .. |
---|
239 | 317 | status = "disabled"; |
---|
240 | 318 | }; |
---|
241 | 319 | |
---|
242 | | - watchdog: watchdog@10002000 { |
---|
243 | | - compatible = "ingenic,jz4780-watchdog"; |
---|
244 | | - reg = <0x10002000 0x10>; |
---|
| 320 | + i2c0: i2c@10050000 { |
---|
| 321 | + compatible = "ingenic,jz4780-i2c"; |
---|
| 322 | + #address-cells = <1>; |
---|
| 323 | + #size-cells = <0>; |
---|
245 | 324 | |
---|
246 | | - clocks = <&cgu JZ4780_CLK_RTCLK>; |
---|
247 | | - clock-names = "rtc"; |
---|
248 | | - }; |
---|
| 325 | + reg = <0x10050000 0x1000>; |
---|
249 | 326 | |
---|
250 | | - nemc: nemc@13410000 { |
---|
251 | | - compatible = "ingenic,jz4780-nemc"; |
---|
252 | | - reg = <0x13410000 0x10000>; |
---|
253 | | - #address-cells = <2>; |
---|
254 | | - #size-cells = <1>; |
---|
255 | | - ranges = <1 0 0x1b000000 0x1000000 |
---|
256 | | - 2 0 0x1a000000 0x1000000 |
---|
257 | | - 3 0 0x19000000 0x1000000 |
---|
258 | | - 4 0 0x18000000 0x1000000 |
---|
259 | | - 5 0 0x17000000 0x1000000 |
---|
260 | | - 6 0 0x16000000 0x1000000>; |
---|
| 327 | + interrupt-parent = <&intc>; |
---|
| 328 | + interrupts = <60>; |
---|
261 | 329 | |
---|
262 | | - clocks = <&cgu JZ4780_CLK_NEMC>; |
---|
| 330 | + clocks = <&cgu JZ4780_CLK_SMB0>; |
---|
| 331 | + clock-frequency = <100000>; |
---|
| 332 | + pinctrl-names = "default"; |
---|
| 333 | + pinctrl-0 = <&pins_i2c0_data>; |
---|
263 | 334 | |
---|
264 | 335 | status = "disabled"; |
---|
265 | 336 | }; |
---|
266 | 337 | |
---|
| 338 | + i2c1: i2c@10051000 { |
---|
| 339 | + compatible = "ingenic,jz4780-i2c"; |
---|
| 340 | + #address-cells = <1>; |
---|
| 341 | + #size-cells = <0>; |
---|
| 342 | + reg = <0x10051000 0x1000>; |
---|
| 343 | + |
---|
| 344 | + interrupt-parent = <&intc>; |
---|
| 345 | + interrupts = <59>; |
---|
| 346 | + |
---|
| 347 | + clocks = <&cgu JZ4780_CLK_SMB1>; |
---|
| 348 | + clock-frequency = <100000>; |
---|
| 349 | + pinctrl-names = "default"; |
---|
| 350 | + pinctrl-0 = <&pins_i2c1_data>; |
---|
| 351 | + |
---|
| 352 | + status = "disabled"; |
---|
| 353 | + }; |
---|
| 354 | + |
---|
| 355 | + i2c2: i2c@10052000 { |
---|
| 356 | + compatible = "ingenic,jz4780-i2c"; |
---|
| 357 | + #address-cells = <1>; |
---|
| 358 | + #size-cells = <0>; |
---|
| 359 | + reg = <0x10052000 0x1000>; |
---|
| 360 | + |
---|
| 361 | + interrupt-parent = <&intc>; |
---|
| 362 | + interrupts = <58>; |
---|
| 363 | + |
---|
| 364 | + clocks = <&cgu JZ4780_CLK_SMB2>; |
---|
| 365 | + clock-frequency = <100000>; |
---|
| 366 | + pinctrl-names = "default"; |
---|
| 367 | + pinctrl-0 = <&pins_i2c2_data>; |
---|
| 368 | + |
---|
| 369 | + status = "disabled"; |
---|
| 370 | + }; |
---|
| 371 | + |
---|
| 372 | + i2c3: i2c@10053000 { |
---|
| 373 | + compatible = "ingenic,jz4780-i2c"; |
---|
| 374 | + #address-cells = <1>; |
---|
| 375 | + #size-cells = <0>; |
---|
| 376 | + reg = <0x10053000 0x1000>; |
---|
| 377 | + |
---|
| 378 | + interrupt-parent = <&intc>; |
---|
| 379 | + interrupts = <57>; |
---|
| 380 | + |
---|
| 381 | + clocks = <&cgu JZ4780_CLK_SMB3>; |
---|
| 382 | + clock-frequency = <100000>; |
---|
| 383 | + pinctrl-names = "default"; |
---|
| 384 | + pinctrl-0 = <&pins_i2c3_data>; |
---|
| 385 | + |
---|
| 386 | + status = "disabled"; |
---|
| 387 | + }; |
---|
| 388 | + |
---|
| 389 | + i2c4: i2c@10054000 { |
---|
| 390 | + compatible = "ingenic,jz4780-i2c"; |
---|
| 391 | + #address-cells = <1>; |
---|
| 392 | + #size-cells = <0>; |
---|
| 393 | + reg = <0x10054000 0x1000>; |
---|
| 394 | + |
---|
| 395 | + interrupt-parent = <&intc>; |
---|
| 396 | + interrupts = <56>; |
---|
| 397 | + |
---|
| 398 | + clocks = <&cgu JZ4780_CLK_SMB4>; |
---|
| 399 | + clock-frequency = <100000>; |
---|
| 400 | + pinctrl-names = "default"; |
---|
| 401 | + pinctrl-0 = <&pins_i2c4_data>; |
---|
| 402 | + |
---|
| 403 | + status = "disabled"; |
---|
| 404 | + }; |
---|
| 405 | + |
---|
| 406 | + nemc: nemc@13410000 { |
---|
| 407 | + compatible = "ingenic,jz4780-nemc", "simple-mfd"; |
---|
| 408 | + reg = <0x13410000 0x10000>; |
---|
| 409 | + #address-cells = <2>; |
---|
| 410 | + #size-cells = <1>; |
---|
| 411 | + ranges = <0 0 0x13410000 0x10000>, |
---|
| 412 | + <1 0 0x1b000000 0x1000000>, |
---|
| 413 | + <2 0 0x1a000000 0x1000000>, |
---|
| 414 | + <3 0 0x19000000 0x1000000>, |
---|
| 415 | + <4 0 0x18000000 0x1000000>, |
---|
| 416 | + <5 0 0x17000000 0x1000000>, |
---|
| 417 | + <6 0 0x16000000 0x1000000>; |
---|
| 418 | + |
---|
| 419 | + clocks = <&cgu JZ4780_CLK_NEMC>; |
---|
| 420 | + |
---|
| 421 | + status = "disabled"; |
---|
| 422 | + |
---|
| 423 | + efuse: efuse@d0 { |
---|
| 424 | + reg = <0 0xd0 0x30>; |
---|
| 425 | + compatible = "ingenic,jz4780-efuse"; |
---|
| 426 | + |
---|
| 427 | + clocks = <&cgu JZ4780_CLK_AHB2>; |
---|
| 428 | + |
---|
| 429 | + #address-cells = <1>; |
---|
| 430 | + #size-cells = <1>; |
---|
| 431 | + |
---|
| 432 | + eth0_addr: eth-mac-addr@22 { |
---|
| 433 | + reg = <0x22 0x6>; |
---|
| 434 | + }; |
---|
| 435 | + }; |
---|
| 436 | + }; |
---|
| 437 | + |
---|
267 | 438 | dma: dma@13420000 { |
---|
268 | 439 | compatible = "ingenic,jz4780-dma"; |
---|
269 | | - reg = <0x13420000 0x10000>; |
---|
| 440 | + reg = <0x13420000 0x400>, <0x13421000 0x40>; |
---|
270 | 441 | #dma-cells = <2>; |
---|
271 | 442 | |
---|
272 | 443 | interrupt-parent = <&intc>; |
---|