19be5f3e9SPaul Cercueil// SPDX-License-Identifier: GPL-2.0 2c4a11bf4SPaul Cercueil#include <dt-bindings/clock/ingenic,jz4770-cgu.h> 3bf40bf5eSPaul Cercueil#include <dt-bindings/clock/ingenic,tcu.h> 49be5f3e9SPaul Cercueil 59be5f3e9SPaul Cercueil/ { 69be5f3e9SPaul Cercueil #address-cells = <1>; 79be5f3e9SPaul Cercueil #size-cells = <1>; 89be5f3e9SPaul Cercueil compatible = "ingenic,jz4770"; 99be5f3e9SPaul Cercueil 10c1f6b45eS周琰杰 (Zhou Yanjie) cpus { 11c1f6b45eS周琰杰 (Zhou Yanjie) #address-cells = <1>; 12c1f6b45eS周琰杰 (Zhou Yanjie) #size-cells = <0>; 13c1f6b45eS周琰杰 (Zhou Yanjie) 14c1f6b45eS周琰杰 (Zhou Yanjie) cpu0: cpu@0 { 15c1f6b45eS周琰杰 (Zhou Yanjie) device_type = "cpu"; 16c1f6b45eS周琰杰 (Zhou Yanjie) compatible = "ingenic,xburst-fpu1.0-mxu1.1"; 17c1f6b45eS周琰杰 (Zhou Yanjie) reg = <0>; 18c1f6b45eS周琰杰 (Zhou Yanjie) 19c1f6b45eS周琰杰 (Zhou Yanjie) clocks = <&cgu JZ4770_CLK_CCLK>; 20c1f6b45eS周琰杰 (Zhou Yanjie) clock-names = "cpu"; 21c1f6b45eS周琰杰 (Zhou Yanjie) }; 22c1f6b45eS周琰杰 (Zhou Yanjie) }; 23c1f6b45eS周琰杰 (Zhou Yanjie) 249be5f3e9SPaul Cercueil cpuintc: interrupt-controller { 259be5f3e9SPaul Cercueil #address-cells = <0>; 269be5f3e9SPaul Cercueil #interrupt-cells = <1>; 279be5f3e9SPaul Cercueil interrupt-controller; 289be5f3e9SPaul Cercueil compatible = "mti,cpu-interrupt-controller"; 299be5f3e9SPaul Cercueil }; 309be5f3e9SPaul Cercueil 319be5f3e9SPaul Cercueil intc: interrupt-controller@10001000 { 329be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-intc"; 339be5f3e9SPaul Cercueil reg = <0x10001000 0x40>; 349be5f3e9SPaul Cercueil 359be5f3e9SPaul Cercueil interrupt-controller; 369be5f3e9SPaul Cercueil #interrupt-cells = <1>; 379be5f3e9SPaul Cercueil 389be5f3e9SPaul Cercueil interrupt-parent = <&cpuintc>; 399be5f3e9SPaul Cercueil interrupts = <2>; 409be5f3e9SPaul Cercueil }; 419be5f3e9SPaul Cercueil 429be5f3e9SPaul Cercueil ext: ext { 439be5f3e9SPaul Cercueil compatible = "fixed-clock"; 449be5f3e9SPaul Cercueil #clock-cells = <0>; 459be5f3e9SPaul Cercueil }; 469be5f3e9SPaul Cercueil 479be5f3e9SPaul Cercueil osc32k: osc32k { 489be5f3e9SPaul Cercueil compatible = "fixed-clock"; 499be5f3e9SPaul Cercueil #clock-cells = <0>; 509be5f3e9SPaul Cercueil clock-frequency = <32768>; 519be5f3e9SPaul Cercueil }; 529be5f3e9SPaul Cercueil 539be5f3e9SPaul Cercueil cgu: jz4770-cgu@10000000 { 54061e35b2SPaul Cercueil compatible = "ingenic,jz4770-cgu", "simple-mfd"; 559be5f3e9SPaul Cercueil reg = <0x10000000 0x100>; 56061e35b2SPaul Cercueil #address-cells = <1>; 57061e35b2SPaul Cercueil #size-cells = <1>; 58061e35b2SPaul Cercueil ranges = <0x0 0x10000000 0x100>; 599be5f3e9SPaul Cercueil 609be5f3e9SPaul Cercueil clocks = <&ext>, <&osc32k>; 619be5f3e9SPaul Cercueil clock-names = "ext", "osc32k"; 629be5f3e9SPaul Cercueil 639be5f3e9SPaul Cercueil #clock-cells = <1>; 64061e35b2SPaul Cercueil 65061e35b2SPaul Cercueil otg_phy: usb-phy@3c { 66061e35b2SPaul Cercueil compatible = "ingenic,jz4770-phy"; 67061e35b2SPaul Cercueil reg = <0x3c 0x10>; 68061e35b2SPaul Cercueil 69061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_OTG_PHY>; 70061e35b2SPaul Cercueil 71061e35b2SPaul Cercueil #phy-cells = <0>; 72061e35b2SPaul Cercueil }; 739be5f3e9SPaul Cercueil }; 749be5f3e9SPaul Cercueil 7536aafdbdSPaul Cercueil tcu: timer@10002000 { 7636aafdbdSPaul Cercueil compatible = "ingenic,jz4770-tcu", "simple-mfd"; 7736aafdbdSPaul Cercueil reg = <0x10002000 0x1000>; 7836aafdbdSPaul Cercueil #address-cells = <1>; 7936aafdbdSPaul Cercueil #size-cells = <1>; 8036aafdbdSPaul Cercueil ranges = <0x0 0x10002000 0x1000>; 8136aafdbdSPaul Cercueil 8236aafdbdSPaul Cercueil #clock-cells = <1>; 8336aafdbdSPaul Cercueil 84cf2e6b8eSPaul Cercueil clocks = <&cgu JZ4770_CLK_RTC>, 85cf2e6b8eSPaul Cercueil <&cgu JZ4770_CLK_EXT>, 86cf2e6b8eSPaul Cercueil <&cgu JZ4770_CLK_PCLK>; 8736aafdbdSPaul Cercueil clock-names = "rtc", "ext", "pclk"; 8836aafdbdSPaul Cercueil 8936aafdbdSPaul Cercueil interrupt-controller; 9036aafdbdSPaul Cercueil #interrupt-cells = <1>; 9136aafdbdSPaul Cercueil 9236aafdbdSPaul Cercueil interrupt-parent = <&intc>; 9336aafdbdSPaul Cercueil interrupts = <27 26 25>; 94bf40bf5eSPaul Cercueil 95bf40bf5eSPaul Cercueil watchdog: watchdog@0 { 96bf40bf5eSPaul Cercueil compatible = "ingenic,jz4770-watchdog", 97bf40bf5eSPaul Cercueil "ingenic,jz4740-watchdog"; 98bf40bf5eSPaul Cercueil reg = <0x0 0xc>; 99bf40bf5eSPaul Cercueil 100bf40bf5eSPaul Cercueil clocks = <&tcu TCU_CLK_WDT>; 101bf40bf5eSPaul Cercueil clock-names = "wdt"; 102bf40bf5eSPaul Cercueil }; 103bf40bf5eSPaul Cercueil 104bf40bf5eSPaul Cercueil pwm: pwm@40 { 105bf40bf5eSPaul Cercueil compatible = "ingenic,jz4770-pwm", "ingenic,jz4740-pwm"; 106bf40bf5eSPaul Cercueil reg = <0x40 0x80>; 107bf40bf5eSPaul Cercueil 108bf40bf5eSPaul Cercueil #pwm-cells = <3>; 109bf40bf5eSPaul Cercueil 110bf40bf5eSPaul Cercueil clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>, 111bf40bf5eSPaul Cercueil <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>, 112bf40bf5eSPaul Cercueil <&tcu TCU_CLK_TIMER4>, <&tcu TCU_CLK_TIMER5>, 113bf40bf5eSPaul Cercueil <&tcu TCU_CLK_TIMER6>, <&tcu TCU_CLK_TIMER7>; 114bf40bf5eSPaul Cercueil clock-names = "timer0", "timer1", "timer2", "timer3", 115bf40bf5eSPaul Cercueil "timer4", "timer5", "timer6", "timer7"; 116bf40bf5eSPaul Cercueil }; 117bf40bf5eSPaul Cercueil 118bf40bf5eSPaul Cercueil ost: timer@e0 { 119bf40bf5eSPaul Cercueil compatible = "ingenic,jz4770-ost"; 120bf40bf5eSPaul Cercueil reg = <0xe0 0x20>; 121bf40bf5eSPaul Cercueil 122bf40bf5eSPaul Cercueil clocks = <&tcu TCU_CLK_OST>; 123bf40bf5eSPaul Cercueil clock-names = "ost"; 124bf40bf5eSPaul Cercueil 125bf40bf5eSPaul Cercueil interrupts = <15>; 126bf40bf5eSPaul Cercueil }; 12736aafdbdSPaul Cercueil }; 12836aafdbdSPaul Cercueil 129061e35b2SPaul Cercueil rtc: rtc@10003000 { 130061e35b2SPaul Cercueil compatible = "ingenic,jz4770-rtc", "ingenic,jz4760-rtc"; 131061e35b2SPaul Cercueil reg = <0x10003000 0x40>; 132061e35b2SPaul Cercueil 133061e35b2SPaul Cercueil interrupt-parent = <&intc>; 134061e35b2SPaul Cercueil interrupts = <32>; 135061e35b2SPaul Cercueil }; 136061e35b2SPaul Cercueil 1379be5f3e9SPaul Cercueil pinctrl: pin-controller@10010000 { 1389be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-pinctrl"; 1399be5f3e9SPaul Cercueil reg = <0x10010000 0x600>; 1409be5f3e9SPaul Cercueil 1419be5f3e9SPaul Cercueil #address-cells = <1>; 1429be5f3e9SPaul Cercueil #size-cells = <0>; 1439be5f3e9SPaul Cercueil 1449be5f3e9SPaul Cercueil gpa: gpio@0 { 1459be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-gpio"; 1469be5f3e9SPaul Cercueil reg = <0>; 1479be5f3e9SPaul Cercueil 1489be5f3e9SPaul Cercueil gpio-controller; 1499be5f3e9SPaul Cercueil gpio-ranges = <&pinctrl 0 0 32>; 1509be5f3e9SPaul Cercueil #gpio-cells = <2>; 1519be5f3e9SPaul Cercueil 1529be5f3e9SPaul Cercueil interrupt-controller; 1539be5f3e9SPaul Cercueil #interrupt-cells = <2>; 1549be5f3e9SPaul Cercueil 1559be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 1569be5f3e9SPaul Cercueil interrupts = <17>; 1579be5f3e9SPaul Cercueil }; 1589be5f3e9SPaul Cercueil 1599be5f3e9SPaul Cercueil gpb: gpio@1 { 1609be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-gpio"; 1619be5f3e9SPaul Cercueil reg = <1>; 1629be5f3e9SPaul Cercueil 1639be5f3e9SPaul Cercueil gpio-controller; 1649be5f3e9SPaul Cercueil gpio-ranges = <&pinctrl 0 32 32>; 1659be5f3e9SPaul Cercueil #gpio-cells = <2>; 1669be5f3e9SPaul Cercueil 1679be5f3e9SPaul Cercueil interrupt-controller; 1689be5f3e9SPaul Cercueil #interrupt-cells = <2>; 1699be5f3e9SPaul Cercueil 1709be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 1719be5f3e9SPaul Cercueil interrupts = <16>; 1729be5f3e9SPaul Cercueil }; 1739be5f3e9SPaul Cercueil 1749be5f3e9SPaul Cercueil gpc: gpio@2 { 1759be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-gpio"; 1769be5f3e9SPaul Cercueil reg = <2>; 1779be5f3e9SPaul Cercueil 1789be5f3e9SPaul Cercueil gpio-controller; 1799be5f3e9SPaul Cercueil gpio-ranges = <&pinctrl 0 64 32>; 1809be5f3e9SPaul Cercueil #gpio-cells = <2>; 1819be5f3e9SPaul Cercueil 1829be5f3e9SPaul Cercueil interrupt-controller; 1839be5f3e9SPaul Cercueil #interrupt-cells = <2>; 1849be5f3e9SPaul Cercueil 1859be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 1869be5f3e9SPaul Cercueil interrupts = <15>; 1879be5f3e9SPaul Cercueil }; 1889be5f3e9SPaul Cercueil 1899be5f3e9SPaul Cercueil gpd: gpio@3 { 1909be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-gpio"; 1919be5f3e9SPaul Cercueil reg = <3>; 1929be5f3e9SPaul Cercueil 1939be5f3e9SPaul Cercueil gpio-controller; 1949be5f3e9SPaul Cercueil gpio-ranges = <&pinctrl 0 96 32>; 1959be5f3e9SPaul Cercueil #gpio-cells = <2>; 1969be5f3e9SPaul Cercueil 1979be5f3e9SPaul Cercueil interrupt-controller; 1989be5f3e9SPaul Cercueil #interrupt-cells = <2>; 1999be5f3e9SPaul Cercueil 2009be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 2019be5f3e9SPaul Cercueil interrupts = <14>; 2029be5f3e9SPaul Cercueil }; 2039be5f3e9SPaul Cercueil 2049be5f3e9SPaul Cercueil gpe: gpio@4 { 2059be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-gpio"; 2069be5f3e9SPaul Cercueil reg = <4>; 2079be5f3e9SPaul Cercueil 2089be5f3e9SPaul Cercueil gpio-controller; 2099be5f3e9SPaul Cercueil gpio-ranges = <&pinctrl 0 128 32>; 2109be5f3e9SPaul Cercueil #gpio-cells = <2>; 2119be5f3e9SPaul Cercueil 2129be5f3e9SPaul Cercueil interrupt-controller; 2139be5f3e9SPaul Cercueil #interrupt-cells = <2>; 2149be5f3e9SPaul Cercueil 2159be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 2169be5f3e9SPaul Cercueil interrupts = <13>; 2179be5f3e9SPaul Cercueil }; 2189be5f3e9SPaul Cercueil 2199be5f3e9SPaul Cercueil gpf: gpio@5 { 2209be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-gpio"; 2219be5f3e9SPaul Cercueil reg = <5>; 2229be5f3e9SPaul Cercueil 2239be5f3e9SPaul Cercueil gpio-controller; 2249be5f3e9SPaul Cercueil gpio-ranges = <&pinctrl 0 160 32>; 2259be5f3e9SPaul Cercueil #gpio-cells = <2>; 2269be5f3e9SPaul Cercueil 2279be5f3e9SPaul Cercueil interrupt-controller; 2289be5f3e9SPaul Cercueil #interrupt-cells = <2>; 2299be5f3e9SPaul Cercueil 2309be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 2319be5f3e9SPaul Cercueil interrupts = <12>; 2329be5f3e9SPaul Cercueil }; 2339be5f3e9SPaul Cercueil }; 2349be5f3e9SPaul Cercueil 235061e35b2SPaul Cercueil aic: audio-controller@10020000 { 236061e35b2SPaul Cercueil compatible = "ingenic,jz4770-i2s"; 237061e35b2SPaul Cercueil reg = <0x10020000 0x94>; 238061e35b2SPaul Cercueil 239061e35b2SPaul Cercueil #sound-dai-cells = <0>; 240061e35b2SPaul Cercueil 241*745b7908SAidan MacDonald clocks = <&cgu JZ4770_CLK_AIC>, <&cgu JZ4770_CLK_I2S>; 242*745b7908SAidan MacDonald clock-names = "aic", "i2s"; 243061e35b2SPaul Cercueil 244061e35b2SPaul Cercueil interrupt-parent = <&intc>; 245061e35b2SPaul Cercueil interrupts = <34>; 246061e35b2SPaul Cercueil 247061e35b2SPaul Cercueil dmas = <&dmac0 25 0xffffffff>, <&dmac0 24 0xffffffff>; 248061e35b2SPaul Cercueil dma-names = "rx", "tx"; 249061e35b2SPaul Cercueil }; 250061e35b2SPaul Cercueil 251061e35b2SPaul Cercueil codec: audio-codec@100200a0 { 252061e35b2SPaul Cercueil compatible = "ingenic,jz4770-codec"; 253061e35b2SPaul Cercueil reg = <0x100200a4 0x8>; 254061e35b2SPaul Cercueil 255061e35b2SPaul Cercueil #sound-dai-cells = <0>; 256061e35b2SPaul Cercueil 257061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_AIC>; 258061e35b2SPaul Cercueil clock-names = "aic"; 259061e35b2SPaul Cercueil }; 260061e35b2SPaul Cercueil 261061e35b2SPaul Cercueil mmc0: mmc@10021000 { 262061e35b2SPaul Cercueil compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc"; 263061e35b2SPaul Cercueil reg = <0x10021000 0x1000>; 264061e35b2SPaul Cercueil 265061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_MMC0>; 266061e35b2SPaul Cercueil clock-names = "mmc"; 267061e35b2SPaul Cercueil 268061e35b2SPaul Cercueil interrupt-parent = <&intc>; 269061e35b2SPaul Cercueil interrupts = <37>; 270061e35b2SPaul Cercueil 271061e35b2SPaul Cercueil dmas = <&dmac1 27 0xffffffff>, <&dmac1 26 0xffffffff>; 272061e35b2SPaul Cercueil dma-names = "rx", "tx"; 273061e35b2SPaul Cercueil 274061e35b2SPaul Cercueil cap-sd-highspeed; 275061e35b2SPaul Cercueil cap-mmc-highspeed; 276061e35b2SPaul Cercueil cap-sdio-irq; 277061e35b2SPaul Cercueil 278061e35b2SPaul Cercueil status = "disabled"; 279061e35b2SPaul Cercueil }; 280061e35b2SPaul Cercueil 281061e35b2SPaul Cercueil mmc1: mmc@10022000 { 282061e35b2SPaul Cercueil compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc"; 283061e35b2SPaul Cercueil reg = <0x10022000 0x1000>; 284061e35b2SPaul Cercueil 285061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_MMC1>; 286061e35b2SPaul Cercueil clock-names = "mmc"; 287061e35b2SPaul Cercueil 288061e35b2SPaul Cercueil interrupt-parent = <&intc>; 289061e35b2SPaul Cercueil interrupts = <36>; 290061e35b2SPaul Cercueil 291061e35b2SPaul Cercueil dmas = <&dmac1 31 0xffffffff>, <&dmac1 30 0xffffffff>; 292061e35b2SPaul Cercueil dma-names = "rx", "tx"; 293061e35b2SPaul Cercueil 294061e35b2SPaul Cercueil cap-sd-highspeed; 295061e35b2SPaul Cercueil cap-mmc-highspeed; 296061e35b2SPaul Cercueil cap-sdio-irq; 297061e35b2SPaul Cercueil 298061e35b2SPaul Cercueil status = "disabled"; 299061e35b2SPaul Cercueil }; 300061e35b2SPaul Cercueil 301061e35b2SPaul Cercueil mmc2: mmc@10023000 { 302061e35b2SPaul Cercueil compatible = "ingenic,jz4770-mmc", "ingenic,jz4760-mmc"; 303061e35b2SPaul Cercueil reg = <0x10023000 0x1000>; 304061e35b2SPaul Cercueil 305061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_MMC2>; 306061e35b2SPaul Cercueil clock-names = "mmc"; 307061e35b2SPaul Cercueil 308061e35b2SPaul Cercueil interrupt-parent = <&intc>; 309061e35b2SPaul Cercueil interrupts = <35>; 310061e35b2SPaul Cercueil 311061e35b2SPaul Cercueil dmas = <&dmac1 37 0xffffffff>, <&dmac1 36 0xffffffff>; 312061e35b2SPaul Cercueil dma-names = "rx", "tx"; 313061e35b2SPaul Cercueil 314061e35b2SPaul Cercueil cap-sd-highspeed; 315061e35b2SPaul Cercueil cap-mmc-highspeed; 316061e35b2SPaul Cercueil cap-sdio-irq; 317061e35b2SPaul Cercueil 318061e35b2SPaul Cercueil status = "disabled"; 319061e35b2SPaul Cercueil }; 320061e35b2SPaul Cercueil 3219be5f3e9SPaul Cercueil uart0: serial@10030000 { 3229be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-uart"; 3239be5f3e9SPaul Cercueil reg = <0x10030000 0x100>; 3249be5f3e9SPaul Cercueil 3259be5f3e9SPaul Cercueil clocks = <&ext>, <&cgu JZ4770_CLK_UART0>; 3269be5f3e9SPaul Cercueil clock-names = "baud", "module"; 3279be5f3e9SPaul Cercueil 3289be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 3299be5f3e9SPaul Cercueil interrupts = <5>; 3309be5f3e9SPaul Cercueil 3319be5f3e9SPaul Cercueil status = "disabled"; 3329be5f3e9SPaul Cercueil }; 3339be5f3e9SPaul Cercueil 3349be5f3e9SPaul Cercueil uart1: serial@10031000 { 3359be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-uart"; 3369be5f3e9SPaul Cercueil reg = <0x10031000 0x100>; 3379be5f3e9SPaul Cercueil 3389be5f3e9SPaul Cercueil clocks = <&ext>, <&cgu JZ4770_CLK_UART1>; 3399be5f3e9SPaul Cercueil clock-names = "baud", "module"; 3409be5f3e9SPaul Cercueil 3419be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 3429be5f3e9SPaul Cercueil interrupts = <4>; 3439be5f3e9SPaul Cercueil 3449be5f3e9SPaul Cercueil status = "disabled"; 3459be5f3e9SPaul Cercueil }; 3469be5f3e9SPaul Cercueil 3479be5f3e9SPaul Cercueil uart2: serial@10032000 { 3489be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-uart"; 3499be5f3e9SPaul Cercueil reg = <0x10032000 0x100>; 3509be5f3e9SPaul Cercueil 3519be5f3e9SPaul Cercueil clocks = <&ext>, <&cgu JZ4770_CLK_UART2>; 3529be5f3e9SPaul Cercueil clock-names = "baud", "module"; 3539be5f3e9SPaul Cercueil 3549be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 3559be5f3e9SPaul Cercueil interrupts = <3>; 3569be5f3e9SPaul Cercueil 3579be5f3e9SPaul Cercueil status = "disabled"; 3589be5f3e9SPaul Cercueil }; 3599be5f3e9SPaul Cercueil 3609be5f3e9SPaul Cercueil uart3: serial@10033000 { 3619be5f3e9SPaul Cercueil compatible = "ingenic,jz4770-uart"; 3629be5f3e9SPaul Cercueil reg = <0x10033000 0x100>; 3639be5f3e9SPaul Cercueil 3649be5f3e9SPaul Cercueil clocks = <&ext>, <&cgu JZ4770_CLK_UART3>; 3659be5f3e9SPaul Cercueil clock-names = "baud", "module"; 3669be5f3e9SPaul Cercueil 3679be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 3689be5f3e9SPaul Cercueil interrupts = <2>; 3699be5f3e9SPaul Cercueil 3709be5f3e9SPaul Cercueil status = "disabled"; 3719be5f3e9SPaul Cercueil }; 3729be5f3e9SPaul Cercueil 373061e35b2SPaul Cercueil adc: adc@10070000 { 374061e35b2SPaul Cercueil compatible = "ingenic,jz4770-adc"; 375061e35b2SPaul Cercueil reg = <0x10070000 0x30>; 376061e35b2SPaul Cercueil 377061e35b2SPaul Cercueil #io-channel-cells = <1>; 378061e35b2SPaul Cercueil 379061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_ADC>; 380061e35b2SPaul Cercueil clock-names = "adc"; 381061e35b2SPaul Cercueil 382061e35b2SPaul Cercueil interrupt-parent = <&intc>; 383061e35b2SPaul Cercueil interrupts = <18>; 384061e35b2SPaul Cercueil }; 385061e35b2SPaul Cercueil 386061e35b2SPaul Cercueil gpu: gpu@13040000 { 387061e35b2SPaul Cercueil compatible = "vivante,gc"; 388061e35b2SPaul Cercueil reg = <0x13040000 0x10000>; 389061e35b2SPaul Cercueil 390061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_GPU>, 391061e35b2SPaul Cercueil <&cgu JZ4770_CLK_GPU>, 392061e35b2SPaul Cercueil <&cgu JZ4770_CLK_GPU>; 393061e35b2SPaul Cercueil clock-names = "bus", "core", "shader"; 394061e35b2SPaul Cercueil 395061e35b2SPaul Cercueil interrupt-parent = <&intc>; 396061e35b2SPaul Cercueil interrupts = <6>; 397061e35b2SPaul Cercueil }; 398061e35b2SPaul Cercueil 399061e35b2SPaul Cercueil lcd: lcd-controller@13050000 { 400061e35b2SPaul Cercueil compatible = "ingenic,jz4770-lcd"; 4012bcb9c25SH. Nikolaus Schaller reg = <0x13050000 0x130>; /* tbc */ 402061e35b2SPaul Cercueil 403061e35b2SPaul Cercueil interrupt-parent = <&intc>; 404061e35b2SPaul Cercueil interrupts = <31>; 405061e35b2SPaul Cercueil 406061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_LPCLK_MUX>; 407061e35b2SPaul Cercueil clock-names = "lcd_pclk"; 408061e35b2SPaul Cercueil }; 409061e35b2SPaul Cercueil 4106b5b368bSPaul Cercueil dmac0: dma-controller@13420000 { 4116b5b368bSPaul Cercueil compatible = "ingenic,jz4770-dma"; 412cf2e6b8eSPaul Cercueil reg = <0x13420000 0xC0>, <0x13420300 0x20>; 4136b5b368bSPaul Cercueil 41459bd128aSPaul Cercueil #dma-cells = <2>; 4156b5b368bSPaul Cercueil 4166b5b368bSPaul Cercueil clocks = <&cgu JZ4770_CLK_DMA>; 4176b5b368bSPaul Cercueil interrupt-parent = <&intc>; 4186b5b368bSPaul Cercueil interrupts = <24>; 4196b5b368bSPaul Cercueil }; 4206b5b368bSPaul Cercueil 4216b5b368bSPaul Cercueil dmac1: dma-controller@13420100 { 4226b5b368bSPaul Cercueil compatible = "ingenic,jz4770-dma"; 423cf2e6b8eSPaul Cercueil reg = <0x13420100 0xC0>, <0x13420400 0x20>; 4246b5b368bSPaul Cercueil 42559bd128aSPaul Cercueil #dma-cells = <2>; 4266b5b368bSPaul Cercueil 4276b5b368bSPaul Cercueil clocks = <&cgu JZ4770_CLK_DMA>; 4286b5b368bSPaul Cercueil interrupt-parent = <&intc>; 4296b5b368bSPaul Cercueil interrupts = <23>; 4306b5b368bSPaul Cercueil }; 4316b5b368bSPaul Cercueil 432877f2382SSerge Semin uhc: usb@13430000 { 4339be5f3e9SPaul Cercueil compatible = "generic-ohci"; 4349be5f3e9SPaul Cercueil reg = <0x13430000 0x1000>; 4359be5f3e9SPaul Cercueil 4369be5f3e9SPaul Cercueil clocks = <&cgu JZ4770_CLK_UHC>, <&cgu JZ4770_CLK_UHC_PHY>; 4379be5f3e9SPaul Cercueil assigned-clocks = <&cgu JZ4770_CLK_UHC>; 4389be5f3e9SPaul Cercueil assigned-clock-rates = <48000000>; 4399be5f3e9SPaul Cercueil 4409be5f3e9SPaul Cercueil interrupt-parent = <&intc>; 4419be5f3e9SPaul Cercueil interrupts = <20>; 4429be5f3e9SPaul Cercueil 4439be5f3e9SPaul Cercueil status = "disabled"; 4449be5f3e9SPaul Cercueil }; 445061e35b2SPaul Cercueil 446061e35b2SPaul Cercueil usb_otg: usb@13440000 { 447061e35b2SPaul Cercueil compatible = "ingenic,jz4770-musb"; 448061e35b2SPaul Cercueil reg = <0x13440000 0x10000>; 449061e35b2SPaul Cercueil 450061e35b2SPaul Cercueil clocks = <&cgu JZ4770_CLK_OTG>; 451061e35b2SPaul Cercueil clock-names = "udc"; 452061e35b2SPaul Cercueil 453061e35b2SPaul Cercueil interrupt-parent = <&intc>; 454061e35b2SPaul Cercueil interrupts = <21>; 455061e35b2SPaul Cercueil interrupt-names = "mc"; 456061e35b2SPaul Cercueil 457061e35b2SPaul Cercueil phys = <&otg_phy>; 458061e35b2SPaul Cercueil 459061e35b2SPaul Cercueil usb-role-switch; 460061e35b2SPaul Cercueil }; 461061e35b2SPaul Cercueil 462061e35b2SPaul Cercueil rom: memory@1fc00000 { 463061e35b2SPaul Cercueil compatible = "mtd-rom"; 464061e35b2SPaul Cercueil reg = <0x1fc00000 0x2000>; 465061e35b2SPaul Cercueil 466061e35b2SPaul Cercueil bank-width = <4>; 467061e35b2SPaul Cercueil device-width = <1>; 468061e35b2SPaul Cercueil }; 4699be5f3e9SPaul Cercueil}; 470