1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 2ff1930c6SPaul Burton#include <dt-bindings/clock/jz4740-cgu.h> 3ff1930c6SPaul Burton 4ffb1843dSPaul Burton/ { 5ffb1843dSPaul Burton #address-cells = <1>; 6ffb1843dSPaul Burton #size-cells = <1>; 7ffb1843dSPaul Burton compatible = "ingenic,jz4740"; 88e8261ebSPaul Burton 95214cae7SAntony Pavlov cpuintc: interrupt-controller { 108e8261ebSPaul Burton #address-cells = <0>; 118e8261ebSPaul Burton #interrupt-cells = <1>; 128e8261ebSPaul Burton interrupt-controller; 138e8261ebSPaul Burton compatible = "mti,cpu-interrupt-controller"; 148e8261ebSPaul Burton }; 15adbdce77SPaul Burton 16adbdce77SPaul Burton intc: interrupt-controller@10001000 { 17adbdce77SPaul Burton compatible = "ingenic,jz4740-intc"; 18adbdce77SPaul Burton reg = <0x10001000 0x14>; 19adbdce77SPaul Burton 20adbdce77SPaul Burton interrupt-controller; 21adbdce77SPaul Burton #interrupt-cells = <1>; 22adbdce77SPaul Burton 23adbdce77SPaul Burton interrupt-parent = <&cpuintc>; 24adbdce77SPaul Burton interrupts = <2>; 25adbdce77SPaul Burton }; 26ff1930c6SPaul Burton 27ff1930c6SPaul Burton ext: ext { 28ff1930c6SPaul Burton compatible = "fixed-clock"; 29ff1930c6SPaul Burton #clock-cells = <0>; 30ff1930c6SPaul Burton }; 31ff1930c6SPaul Burton 32ff1930c6SPaul Burton rtc: rtc { 33ff1930c6SPaul Burton compatible = "fixed-clock"; 34ff1930c6SPaul Burton #clock-cells = <0>; 35ff1930c6SPaul Burton clock-frequency = <32768>; 36ff1930c6SPaul Burton }; 37ff1930c6SPaul Burton 38ff1930c6SPaul Burton cgu: jz4740-cgu@10000000 { 39ff1930c6SPaul Burton compatible = "ingenic,jz4740-cgu"; 40ff1930c6SPaul Burton reg = <0x10000000 0x100>; 41ff1930c6SPaul Burton 42ff1930c6SPaul Burton clocks = <&ext>, <&rtc>; 43ff1930c6SPaul Burton clock-names = "ext", "rtc"; 44ff1930c6SPaul Burton 45ff1930c6SPaul Burton #clock-cells = <1>; 46ff1930c6SPaul Burton }; 478838245dSPaul Burton 48fbc23c71SPaul Cercueil watchdog: watchdog@10002000 { 49fbc23c71SPaul Cercueil compatible = "ingenic,jz4740-watchdog"; 50fbc23c71SPaul Cercueil reg = <0x10002000 0x10>; 51fbc23c71SPaul Cercueil 52fbc23c71SPaul Cercueil clocks = <&cgu JZ4740_CLK_RTC>; 53fbc23c71SPaul Cercueil clock-names = "rtc"; 54fbc23c71SPaul Cercueil }; 55fbc23c71SPaul Cercueil 56262d62cbSPaul Cercueil rtc_dev: rtc@10003000 { 57262d62cbSPaul Cercueil compatible = "ingenic,jz4740-rtc"; 58262d62cbSPaul Cercueil reg = <0x10003000 0x40>; 59262d62cbSPaul Cercueil 60262d62cbSPaul Cercueil interrupt-parent = <&intc>; 61262d62cbSPaul Cercueil interrupts = <15>; 62262d62cbSPaul Cercueil 63262d62cbSPaul Cercueil clocks = <&cgu JZ4740_CLK_RTC>; 64262d62cbSPaul Cercueil clock-names = "rtc"; 65262d62cbSPaul Cercueil }; 66262d62cbSPaul Cercueil 673951cbb5SPaul Cercueil pinctrl: pin-controller@10010000 { 683951cbb5SPaul Cercueil compatible = "ingenic,jz4740-pinctrl"; 693951cbb5SPaul Cercueil reg = <0x10010000 0x400>; 703951cbb5SPaul Cercueil 713951cbb5SPaul Cercueil #address-cells = <1>; 723951cbb5SPaul Cercueil #size-cells = <0>; 733951cbb5SPaul Cercueil 743951cbb5SPaul Cercueil gpa: gpio@0 { 753951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 763951cbb5SPaul Cercueil reg = <0>; 773951cbb5SPaul Cercueil 783951cbb5SPaul Cercueil gpio-controller; 793951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 0 32>; 803951cbb5SPaul Cercueil #gpio-cells = <2>; 813951cbb5SPaul Cercueil 823951cbb5SPaul Cercueil interrupt-controller; 833951cbb5SPaul Cercueil #interrupt-cells = <2>; 843951cbb5SPaul Cercueil 853951cbb5SPaul Cercueil interrupt-parent = <&intc>; 863951cbb5SPaul Cercueil interrupts = <28>; 873951cbb5SPaul Cercueil }; 883951cbb5SPaul Cercueil 893951cbb5SPaul Cercueil gpb: gpio@1 { 903951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 913951cbb5SPaul Cercueil reg = <1>; 923951cbb5SPaul Cercueil 933951cbb5SPaul Cercueil gpio-controller; 943951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 32 32>; 953951cbb5SPaul Cercueil #gpio-cells = <2>; 963951cbb5SPaul Cercueil 973951cbb5SPaul Cercueil interrupt-controller; 983951cbb5SPaul Cercueil #interrupt-cells = <2>; 993951cbb5SPaul Cercueil 1003951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1013951cbb5SPaul Cercueil interrupts = <27>; 1023951cbb5SPaul Cercueil }; 1033951cbb5SPaul Cercueil 1043951cbb5SPaul Cercueil gpc: gpio@2 { 1053951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 1063951cbb5SPaul Cercueil reg = <2>; 1073951cbb5SPaul Cercueil 1083951cbb5SPaul Cercueil gpio-controller; 1093951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 64 32>; 1103951cbb5SPaul Cercueil #gpio-cells = <2>; 1113951cbb5SPaul Cercueil 1123951cbb5SPaul Cercueil interrupt-controller; 1133951cbb5SPaul Cercueil #interrupt-cells = <2>; 1143951cbb5SPaul Cercueil 1153951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1163951cbb5SPaul Cercueil interrupts = <26>; 1173951cbb5SPaul Cercueil }; 1183951cbb5SPaul Cercueil 1193951cbb5SPaul Cercueil gpd: gpio@3 { 1203951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 1213951cbb5SPaul Cercueil reg = <3>; 1223951cbb5SPaul Cercueil 1233951cbb5SPaul Cercueil gpio-controller; 1243951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 96 32>; 1253951cbb5SPaul Cercueil #gpio-cells = <2>; 1263951cbb5SPaul Cercueil 1273951cbb5SPaul Cercueil interrupt-controller; 1283951cbb5SPaul Cercueil #interrupt-cells = <2>; 1293951cbb5SPaul Cercueil 1303951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1313951cbb5SPaul Cercueil interrupts = <25>; 1323951cbb5SPaul Cercueil }; 1333951cbb5SPaul Cercueil }; 1343951cbb5SPaul Cercueil 135*36ba3eaeSPaul Cercueil aic: audio-controller@10020000 { 136*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-i2s"; 137*36ba3eaeSPaul Cercueil reg = <0x10020000 0x38>; 138*36ba3eaeSPaul Cercueil 139*36ba3eaeSPaul Cercueil #sound-dai-cells = <0>; 140*36ba3eaeSPaul Cercueil 141*36ba3eaeSPaul Cercueil interrupt-parent = <&intc>; 142*36ba3eaeSPaul Cercueil interrupts = <18>; 143*36ba3eaeSPaul Cercueil 144*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_AIC>, 145*36ba3eaeSPaul Cercueil <&cgu JZ4740_CLK_I2S>, 146*36ba3eaeSPaul Cercueil <&cgu JZ4740_CLK_EXT>, 147*36ba3eaeSPaul Cercueil <&cgu JZ4740_CLK_PLL_HALF>; 148*36ba3eaeSPaul Cercueil clock-names = "aic", "i2s", "ext", "pll half"; 149*36ba3eaeSPaul Cercueil 150*36ba3eaeSPaul Cercueil dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>; 151*36ba3eaeSPaul Cercueil dma-names = "rx", "tx"; 152*36ba3eaeSPaul Cercueil }; 153*36ba3eaeSPaul Cercueil 154*36ba3eaeSPaul Cercueil codec: audio-codec@100200a4 { 155*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-codec"; 156*36ba3eaeSPaul Cercueil reg = <0x10020080 0x8>; 157*36ba3eaeSPaul Cercueil 158*36ba3eaeSPaul Cercueil #sound-dai-cells = <0>; 159*36ba3eaeSPaul Cercueil 160*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_AIC>; 161*36ba3eaeSPaul Cercueil clock-names = "aic"; 162*36ba3eaeSPaul Cercueil }; 163*36ba3eaeSPaul Cercueil 1645dad549dSPaul Cercueil mmc: mmc@10021000 { 1655dad549dSPaul Cercueil compatible = "ingenic,jz4740-mmc"; 1665dad549dSPaul Cercueil reg = <0x10021000 0x1000>; 1675dad549dSPaul Cercueil 1685dad549dSPaul Cercueil clocks = <&cgu JZ4740_CLK_MMC>; 1695dad549dSPaul Cercueil clock-names = "mmc"; 1705dad549dSPaul Cercueil 1715dad549dSPaul Cercueil interrupt-parent = <&intc>; 1725dad549dSPaul Cercueil interrupts = <14>; 1735dad549dSPaul Cercueil 1745dad549dSPaul Cercueil dmas = <&dmac 27 0xffffffff>, <&dmac 26 0xffffffff>; 1755dad549dSPaul Cercueil dma-names = "rx", "tx"; 1765dad549dSPaul Cercueil 1775dad549dSPaul Cercueil cap-sd-highspeed; 1785dad549dSPaul Cercueil cap-mmc-highspeed; 1795dad549dSPaul Cercueil cap-sdio-irq; 1805dad549dSPaul Cercueil }; 1815dad549dSPaul Cercueil 1828838245dSPaul Burton uart0: serial@10030000 { 1838838245dSPaul Burton compatible = "ingenic,jz4740-uart"; 1848838245dSPaul Burton reg = <0x10030000 0x100>; 1858838245dSPaul Burton 1868838245dSPaul Burton interrupt-parent = <&intc>; 1878838245dSPaul Burton interrupts = <9>; 1888838245dSPaul Burton 1898838245dSPaul Burton clocks = <&ext>, <&cgu JZ4740_CLK_UART0>; 1908838245dSPaul Burton clock-names = "baud", "module"; 1918838245dSPaul Burton }; 1928838245dSPaul Burton 1938838245dSPaul Burton uart1: serial@10031000 { 1948838245dSPaul Burton compatible = "ingenic,jz4740-uart"; 1958838245dSPaul Burton reg = <0x10031000 0x100>; 1968838245dSPaul Burton 1978838245dSPaul Burton interrupt-parent = <&intc>; 1988838245dSPaul Burton interrupts = <8>; 1998838245dSPaul Burton 2008838245dSPaul Burton clocks = <&ext>, <&cgu JZ4740_CLK_UART1>; 2018838245dSPaul Burton clock-names = "baud", "module"; 2028838245dSPaul Burton }; 2039d1e7875SMaarten ter Huurne 204*36ba3eaeSPaul Cercueil adc: adc@10070000 { 205*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-adc"; 206*36ba3eaeSPaul Cercueil reg = <0x10070000 0x30>; 207*36ba3eaeSPaul Cercueil #io-channel-cells = <1>; 208*36ba3eaeSPaul Cercueil 209*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_ADC>; 210*36ba3eaeSPaul Cercueil clock-names = "adc"; 211*36ba3eaeSPaul Cercueil 212*36ba3eaeSPaul Cercueil interrupt-parent = <&intc>; 213*36ba3eaeSPaul Cercueil interrupts = <12>; 214*36ba3eaeSPaul Cercueil }; 215*36ba3eaeSPaul Cercueil 216*36ba3eaeSPaul Cercueil nemc: memory-controller@13010000 { 217*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-nemc"; 218*36ba3eaeSPaul Cercueil reg = <0x13010000 0x54>; 219*36ba3eaeSPaul Cercueil #address-cells = <2>; 220*36ba3eaeSPaul Cercueil #size-cells = <1>; 221*36ba3eaeSPaul Cercueil ranges = <1 0 0x18000000 0x4000000 222*36ba3eaeSPaul Cercueil 2 0 0x14000000 0x4000000 223*36ba3eaeSPaul Cercueil 3 0 0x0c000000 0x4000000 224*36ba3eaeSPaul Cercueil 4 0 0x08000000 0x4000000>; 225*36ba3eaeSPaul Cercueil 226*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_MCLK>; 227*36ba3eaeSPaul Cercueil }; 228*36ba3eaeSPaul Cercueil 229*36ba3eaeSPaul Cercueil ecc: ecc-controller@13010100 { 230*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-ecc"; 231*36ba3eaeSPaul Cercueil reg = <0x13010100 0x2C>; 232*36ba3eaeSPaul Cercueil 233*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_MCLK>; 234*36ba3eaeSPaul Cercueil }; 235*36ba3eaeSPaul Cercueil 236d426c517SPaul Cercueil dmac: dma-controller@13020000 { 237d426c517SPaul Cercueil compatible = "ingenic,jz4740-dma"; 238d426c517SPaul Cercueil reg = <0x13020000 0xbc 239d426c517SPaul Cercueil 0x13020300 0x14>; 240d426c517SPaul Cercueil #dma-cells = <2>; 241d426c517SPaul Cercueil 242d426c517SPaul Cercueil interrupt-parent = <&intc>; 24370999ec1SPaul Cercueil interrupts = <20>; 244d426c517SPaul Cercueil 245d426c517SPaul Cercueil clocks = <&cgu JZ4740_CLK_DMA>; 246d426c517SPaul Cercueil }; 247d426c517SPaul Cercueil 2489d1e7875SMaarten ter Huurne uhc: uhc@13030000 { 2499d1e7875SMaarten ter Huurne compatible = "ingenic,jz4740-ohci", "generic-ohci"; 2509d1e7875SMaarten ter Huurne reg = <0x13030000 0x1000>; 2519d1e7875SMaarten ter Huurne 2529d1e7875SMaarten ter Huurne clocks = <&cgu JZ4740_CLK_UHC>; 2539d1e7875SMaarten ter Huurne assigned-clocks = <&cgu JZ4740_CLK_UHC>; 2549d1e7875SMaarten ter Huurne assigned-clock-rates = <48000000>; 2559d1e7875SMaarten ter Huurne 2569d1e7875SMaarten ter Huurne interrupt-parent = <&intc>; 2579d1e7875SMaarten ter Huurne interrupts = <3>; 2589d1e7875SMaarten ter Huurne 2599d1e7875SMaarten ter Huurne status = "disabled"; 2609d1e7875SMaarten ter Huurne }; 261*36ba3eaeSPaul Cercueil 262*36ba3eaeSPaul Cercueil udc: usb@13040000 { 263*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-musb"; 264*36ba3eaeSPaul Cercueil reg = <0x13040000 0x10000>; 265*36ba3eaeSPaul Cercueil 266*36ba3eaeSPaul Cercueil interrupt-parent = <&intc>; 267*36ba3eaeSPaul Cercueil interrupts = <24>; 268*36ba3eaeSPaul Cercueil interrupt-names = "mc"; 269*36ba3eaeSPaul Cercueil 270*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_UDC>; 271*36ba3eaeSPaul Cercueil clock-names = "udc"; 272*36ba3eaeSPaul Cercueil }; 273*36ba3eaeSPaul Cercueil 274*36ba3eaeSPaul Cercueil lcd: lcd-controller@13050000 { 275*36ba3eaeSPaul Cercueil compatible = "ingenic,jz4740-lcd"; 276*36ba3eaeSPaul Cercueil reg = <0x13050000 0x1000>; 277*36ba3eaeSPaul Cercueil 278*36ba3eaeSPaul Cercueil interrupt-parent = <&intc>; 279*36ba3eaeSPaul Cercueil interrupts = <30>; 280*36ba3eaeSPaul Cercueil 281*36ba3eaeSPaul Cercueil clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>; 282*36ba3eaeSPaul Cercueil clock-names = "lcd_pclk", "lcd"; 283*36ba3eaeSPaul Cercueil }; 284ffb1843dSPaul Burton}; 285