1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 25b9cdd24SPaul Burton#include <dt-bindings/clock/jz4780-cgu.h> 32d972b6aSEzequiel Garcia#include <dt-bindings/dma/jz4780-dma.h> 45b9cdd24SPaul Burton 55b9cdd24SPaul Burton/ { 65b9cdd24SPaul Burton #address-cells = <1>; 75b9cdd24SPaul Burton #size-cells = <1>; 85b9cdd24SPaul Burton compatible = "ingenic,jz4780"; 95b9cdd24SPaul Burton 105b9cdd24SPaul Burton cpuintc: interrupt-controller { 115b9cdd24SPaul Burton #address-cells = <0>; 125b9cdd24SPaul Burton #interrupt-cells = <1>; 135b9cdd24SPaul Burton interrupt-controller; 145b9cdd24SPaul Burton compatible = "mti,cpu-interrupt-controller"; 155b9cdd24SPaul Burton }; 165b9cdd24SPaul Burton 175b9cdd24SPaul Burton intc: interrupt-controller@10001000 { 185b9cdd24SPaul Burton compatible = "ingenic,jz4780-intc"; 195b9cdd24SPaul Burton reg = <0x10001000 0x50>; 205b9cdd24SPaul Burton 215b9cdd24SPaul Burton interrupt-controller; 225b9cdd24SPaul Burton #interrupt-cells = <1>; 235b9cdd24SPaul Burton 245b9cdd24SPaul Burton interrupt-parent = <&cpuintc>; 255b9cdd24SPaul Burton interrupts = <2>; 265b9cdd24SPaul Burton }; 275b9cdd24SPaul Burton 285b9cdd24SPaul Burton ext: ext { 295b9cdd24SPaul Burton compatible = "fixed-clock"; 305b9cdd24SPaul Burton #clock-cells = <0>; 315b9cdd24SPaul Burton }; 325b9cdd24SPaul Burton 335b9cdd24SPaul Burton rtc: rtc { 345b9cdd24SPaul Burton compatible = "fixed-clock"; 355b9cdd24SPaul Burton #clock-cells = <0>; 365b9cdd24SPaul Burton clock-frequency = <32768>; 375b9cdd24SPaul Burton }; 385b9cdd24SPaul Burton 395b9cdd24SPaul Burton cgu: jz4780-cgu@10000000 { 405b9cdd24SPaul Burton compatible = "ingenic,jz4780-cgu"; 415b9cdd24SPaul Burton reg = <0x10000000 0x100>; 425b9cdd24SPaul Burton 435b9cdd24SPaul Burton clocks = <&ext>, <&rtc>; 445b9cdd24SPaul Burton clock-names = "ext", "rtc"; 455b9cdd24SPaul Burton 465b9cdd24SPaul Burton #clock-cells = <1>; 475b9cdd24SPaul Burton }; 485b9cdd24SPaul Burton 49*36aafdbdSPaul Cercueil tcu: timer@10002000 { 50*36aafdbdSPaul Cercueil compatible = "ingenic,jz4780-tcu", 51*36aafdbdSPaul Cercueil "ingenic,jz4770-tcu", 52*36aafdbdSPaul Cercueil "simple-mfd"; 53*36aafdbdSPaul Cercueil reg = <0x10002000 0x1000>; 54*36aafdbdSPaul Cercueil #address-cells = <1>; 55*36aafdbdSPaul Cercueil #size-cells = <1>; 56*36aafdbdSPaul Cercueil ranges = <0x0 0x10002000 0x1000>; 57*36aafdbdSPaul Cercueil 58*36aafdbdSPaul Cercueil #clock-cells = <1>; 59*36aafdbdSPaul Cercueil 60*36aafdbdSPaul Cercueil clocks = <&cgu JZ4780_CLK_RTCLK 61*36aafdbdSPaul Cercueil &cgu JZ4780_CLK_EXCLK 62*36aafdbdSPaul Cercueil &cgu JZ4780_CLK_PCLK>; 63*36aafdbdSPaul Cercueil clock-names = "rtc", "ext", "pclk"; 64*36aafdbdSPaul Cercueil 65*36aafdbdSPaul Cercueil interrupt-controller; 66*36aafdbdSPaul Cercueil #interrupt-cells = <1>; 67*36aafdbdSPaul Cercueil 68*36aafdbdSPaul Cercueil interrupt-parent = <&intc>; 69*36aafdbdSPaul Cercueil interrupts = <27 26 25>; 70*36aafdbdSPaul Cercueil }; 71*36aafdbdSPaul Cercueil 72ed326616SMathieu Malaterre rtc_dev: rtc@10003000 { 73ed326616SMathieu Malaterre compatible = "ingenic,jz4780-rtc"; 74ed326616SMathieu Malaterre reg = <0x10003000 0x4c>; 75ed326616SMathieu Malaterre 76ed326616SMathieu Malaterre interrupt-parent = <&intc>; 77ed326616SMathieu Malaterre interrupts = <32>; 78ed326616SMathieu Malaterre 79ed326616SMathieu Malaterre clocks = <&cgu JZ4780_CLK_RTCLK>; 80ed326616SMathieu Malaterre clock-names = "rtc"; 81ed326616SMathieu Malaterre }; 82ed326616SMathieu Malaterre 83d32613c3SPaul Cercueil pinctrl: pin-controller@10010000 { 84d32613c3SPaul Cercueil compatible = "ingenic,jz4780-pinctrl"; 85d32613c3SPaul Cercueil reg = <0x10010000 0x600>; 86d32613c3SPaul Cercueil 87d32613c3SPaul Cercueil #address-cells = <1>; 88d32613c3SPaul Cercueil #size-cells = <0>; 89d32613c3SPaul Cercueil 90d32613c3SPaul Cercueil gpa: gpio@0 { 91d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 92d32613c3SPaul Cercueil reg = <0>; 93d32613c3SPaul Cercueil 94d32613c3SPaul Cercueil gpio-controller; 95d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 0 32>; 96d32613c3SPaul Cercueil #gpio-cells = <2>; 97d32613c3SPaul Cercueil 98d32613c3SPaul Cercueil interrupt-controller; 99d32613c3SPaul Cercueil #interrupt-cells = <2>; 100d32613c3SPaul Cercueil 101d32613c3SPaul Cercueil interrupt-parent = <&intc>; 102d32613c3SPaul Cercueil interrupts = <17>; 103d32613c3SPaul Cercueil }; 104d32613c3SPaul Cercueil 105d32613c3SPaul Cercueil gpb: gpio@1 { 106d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 107d32613c3SPaul Cercueil reg = <1>; 108d32613c3SPaul Cercueil 109d32613c3SPaul Cercueil gpio-controller; 110d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 32 32>; 111d32613c3SPaul Cercueil #gpio-cells = <2>; 112d32613c3SPaul Cercueil 113d32613c3SPaul Cercueil interrupt-controller; 114d32613c3SPaul Cercueil #interrupt-cells = <2>; 115d32613c3SPaul Cercueil 116d32613c3SPaul Cercueil interrupt-parent = <&intc>; 117d32613c3SPaul Cercueil interrupts = <16>; 118d32613c3SPaul Cercueil }; 119d32613c3SPaul Cercueil 120d32613c3SPaul Cercueil gpc: gpio@2 { 121d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 122d32613c3SPaul Cercueil reg = <2>; 123d32613c3SPaul Cercueil 124d32613c3SPaul Cercueil gpio-controller; 125d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 64 32>; 126d32613c3SPaul Cercueil #gpio-cells = <2>; 127d32613c3SPaul Cercueil 128d32613c3SPaul Cercueil interrupt-controller; 129d32613c3SPaul Cercueil #interrupt-cells = <2>; 130d32613c3SPaul Cercueil 131d32613c3SPaul Cercueil interrupt-parent = <&intc>; 132d32613c3SPaul Cercueil interrupts = <15>; 133d32613c3SPaul Cercueil }; 134d32613c3SPaul Cercueil 135d32613c3SPaul Cercueil gpd: gpio@3 { 136d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 137d32613c3SPaul Cercueil reg = <3>; 138d32613c3SPaul Cercueil 139d32613c3SPaul Cercueil gpio-controller; 140d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 96 32>; 141d32613c3SPaul Cercueil #gpio-cells = <2>; 142d32613c3SPaul Cercueil 143d32613c3SPaul Cercueil interrupt-controller; 144d32613c3SPaul Cercueil #interrupt-cells = <2>; 145d32613c3SPaul Cercueil 146d32613c3SPaul Cercueil interrupt-parent = <&intc>; 147d32613c3SPaul Cercueil interrupts = <14>; 148d32613c3SPaul Cercueil }; 149d32613c3SPaul Cercueil 150d32613c3SPaul Cercueil gpe: gpio@4 { 151d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 152d32613c3SPaul Cercueil reg = <4>; 153d32613c3SPaul Cercueil 154d32613c3SPaul Cercueil gpio-controller; 155d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 128 32>; 156d32613c3SPaul Cercueil #gpio-cells = <2>; 157d32613c3SPaul Cercueil 158d32613c3SPaul Cercueil interrupt-controller; 159d32613c3SPaul Cercueil #interrupt-cells = <2>; 160d32613c3SPaul Cercueil 161d32613c3SPaul Cercueil interrupt-parent = <&intc>; 162d32613c3SPaul Cercueil interrupts = <13>; 163d32613c3SPaul Cercueil }; 164d32613c3SPaul Cercueil 165d32613c3SPaul Cercueil gpf: gpio@5 { 166d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 167d32613c3SPaul Cercueil reg = <5>; 168d32613c3SPaul Cercueil 169d32613c3SPaul Cercueil gpio-controller; 170d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 160 32>; 171d32613c3SPaul Cercueil #gpio-cells = <2>; 172d32613c3SPaul Cercueil 173d32613c3SPaul Cercueil interrupt-controller; 174d32613c3SPaul Cercueil #interrupt-cells = <2>; 175d32613c3SPaul Cercueil 176d32613c3SPaul Cercueil interrupt-parent = <&intc>; 177d32613c3SPaul Cercueil interrupts = <12>; 178d32613c3SPaul Cercueil }; 179d32613c3SPaul Cercueil }; 180d32613c3SPaul Cercueil 181c24f5762SMathieu Malaterre spi_gpio { 182c24f5762SMathieu Malaterre compatible = "spi-gpio"; 183c24f5762SMathieu Malaterre #address-cells = <1>; 184c24f5762SMathieu Malaterre #size-cells = <0>; 185c24f5762SMathieu Malaterre num-chipselects = <2>; 186c24f5762SMathieu Malaterre 187c24f5762SMathieu Malaterre gpio-miso = <&gpe 14 0>; 188c24f5762SMathieu Malaterre gpio-sck = <&gpe 15 0>; 189c24f5762SMathieu Malaterre gpio-mosi = <&gpe 17 0>; 190c24f5762SMathieu Malaterre cs-gpios = <&gpe 16 0 191c24f5762SMathieu Malaterre &gpe 18 0>; 192c24f5762SMathieu Malaterre 193c24f5762SMathieu Malaterre spidev@0 { 194c24f5762SMathieu Malaterre compatible = "spidev"; 195c24f5762SMathieu Malaterre reg = <0>; 196c24f5762SMathieu Malaterre spi-max-frequency = <1000000>; 197c24f5762SMathieu Malaterre }; 198c24f5762SMathieu Malaterre }; 199c24f5762SMathieu Malaterre 2005b9cdd24SPaul Burton uart0: serial@10030000 { 2015b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2025b9cdd24SPaul Burton reg = <0x10030000 0x100>; 2035b9cdd24SPaul Burton 2045b9cdd24SPaul Burton interrupt-parent = <&intc>; 2055b9cdd24SPaul Burton interrupts = <51>; 2065b9cdd24SPaul Burton 2075b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART0>; 2085b9cdd24SPaul Burton clock-names = "baud", "module"; 2095b9cdd24SPaul Burton 2105b9cdd24SPaul Burton status = "disabled"; 2115b9cdd24SPaul Burton }; 2125b9cdd24SPaul Burton 2135b9cdd24SPaul Burton uart1: serial@10031000 { 2145b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2155b9cdd24SPaul Burton reg = <0x10031000 0x100>; 2165b9cdd24SPaul Burton 2175b9cdd24SPaul Burton interrupt-parent = <&intc>; 2185b9cdd24SPaul Burton interrupts = <50>; 2195b9cdd24SPaul Burton 2205b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART1>; 2215b9cdd24SPaul Burton clock-names = "baud", "module"; 2225b9cdd24SPaul Burton 2235b9cdd24SPaul Burton status = "disabled"; 2245b9cdd24SPaul Burton }; 2255b9cdd24SPaul Burton 2265b9cdd24SPaul Burton uart2: serial@10032000 { 2275b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2285b9cdd24SPaul Burton reg = <0x10032000 0x100>; 2295b9cdd24SPaul Burton 2305b9cdd24SPaul Burton interrupt-parent = <&intc>; 2315b9cdd24SPaul Burton interrupts = <49>; 2325b9cdd24SPaul Burton 2335b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART2>; 2345b9cdd24SPaul Burton clock-names = "baud", "module"; 2355b9cdd24SPaul Burton 2365b9cdd24SPaul Burton status = "disabled"; 2375b9cdd24SPaul Burton }; 2385b9cdd24SPaul Burton 2395b9cdd24SPaul Burton uart3: serial@10033000 { 2405b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2415b9cdd24SPaul Burton reg = <0x10033000 0x100>; 2425b9cdd24SPaul Burton 2435b9cdd24SPaul Burton interrupt-parent = <&intc>; 2445b9cdd24SPaul Burton interrupts = <48>; 2455b9cdd24SPaul Burton 2465b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART3>; 2475b9cdd24SPaul Burton clock-names = "baud", "module"; 2485b9cdd24SPaul Burton 2495b9cdd24SPaul Burton status = "disabled"; 2505b9cdd24SPaul Burton }; 2515b9cdd24SPaul Burton 2525b9cdd24SPaul Burton uart4: serial@10034000 { 2535b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2545b9cdd24SPaul Burton reg = <0x10034000 0x100>; 2555b9cdd24SPaul Burton 2565b9cdd24SPaul Burton interrupt-parent = <&intc>; 2575b9cdd24SPaul Burton interrupts = <34>; 2585b9cdd24SPaul Burton 2595b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART4>; 2605b9cdd24SPaul Burton clock-names = "baud", "module"; 2615b9cdd24SPaul Burton 2625b9cdd24SPaul Burton status = "disabled"; 2635b9cdd24SPaul Burton }; 26478800558SAlex Smith 265239e14d1SMathieu Malaterre watchdog: watchdog@10002000 { 266239e14d1SMathieu Malaterre compatible = "ingenic,jz4780-watchdog"; 2679a0225d9SPaul Cercueil reg = <0x10002000 0x10>; 2689a0225d9SPaul Cercueil 2699a0225d9SPaul Cercueil clocks = <&cgu JZ4780_CLK_RTCLK>; 2709a0225d9SPaul Cercueil clock-names = "rtc"; 271239e14d1SMathieu Malaterre }; 272239e14d1SMathieu Malaterre 27378800558SAlex Smith nemc: nemc@13410000 { 27478800558SAlex Smith compatible = "ingenic,jz4780-nemc"; 27578800558SAlex Smith reg = <0x13410000 0x10000>; 27678800558SAlex Smith #address-cells = <2>; 27778800558SAlex Smith #size-cells = <1>; 27878800558SAlex Smith ranges = <1 0 0x1b000000 0x1000000 27978800558SAlex Smith 2 0 0x1a000000 0x1000000 28078800558SAlex Smith 3 0 0x19000000 0x1000000 28178800558SAlex Smith 4 0 0x18000000 0x1000000 28278800558SAlex Smith 5 0 0x17000000 0x1000000 28378800558SAlex Smith 6 0 0x16000000 0x1000000>; 28478800558SAlex Smith 28578800558SAlex Smith clocks = <&cgu JZ4780_CLK_NEMC>; 28678800558SAlex Smith 28778800558SAlex Smith status = "disabled"; 28878800558SAlex Smith }; 28978800558SAlex Smith 2902d972b6aSEzequiel Garcia dma: dma@13420000 { 2912d972b6aSEzequiel Garcia compatible = "ingenic,jz4780-dma"; 292f57879a5SPaul Cercueil reg = <0x13420000 0x400 293f57879a5SPaul Cercueil 0x13421000 0x40>; 2942d972b6aSEzequiel Garcia #dma-cells = <2>; 2952d972b6aSEzequiel Garcia 2962d972b6aSEzequiel Garcia interrupt-parent = <&intc>; 2972d972b6aSEzequiel Garcia interrupts = <10>; 2982d972b6aSEzequiel Garcia 2992d972b6aSEzequiel Garcia clocks = <&cgu JZ4780_CLK_PDMA>; 3002d972b6aSEzequiel Garcia }; 3012d972b6aSEzequiel Garcia 3027f5a07f4SEzequiel Garcia mmc0: mmc@13450000 { 3037f5a07f4SEzequiel Garcia compatible = "ingenic,jz4780-mmc"; 3047f5a07f4SEzequiel Garcia reg = <0x13450000 0x1000>; 3057f5a07f4SEzequiel Garcia 3067f5a07f4SEzequiel Garcia interrupt-parent = <&intc>; 3077f5a07f4SEzequiel Garcia interrupts = <37>; 3087f5a07f4SEzequiel Garcia 3097f5a07f4SEzequiel Garcia clocks = <&cgu JZ4780_CLK_MSC0>; 3107f5a07f4SEzequiel Garcia clock-names = "mmc"; 3117f5a07f4SEzequiel Garcia 3127f5a07f4SEzequiel Garcia cap-sd-highspeed; 3137f5a07f4SEzequiel Garcia cap-mmc-highspeed; 3147f5a07f4SEzequiel Garcia cap-sdio-irq; 3157f5a07f4SEzequiel Garcia dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>, 3167f5a07f4SEzequiel Garcia <&dma JZ4780_DMA_MSC0_TX 0xffffffff>; 3177f5a07f4SEzequiel Garcia dma-names = "rx", "tx"; 3187f5a07f4SEzequiel Garcia 3197f5a07f4SEzequiel Garcia status = "disabled"; 3207f5a07f4SEzequiel Garcia }; 3217f5a07f4SEzequiel Garcia 3227f5a07f4SEzequiel Garcia mmc1: mmc@13460000 { 3237f5a07f4SEzequiel Garcia compatible = "ingenic,jz4780-mmc"; 3247f5a07f4SEzequiel Garcia reg = <0x13460000 0x1000>; 3257f5a07f4SEzequiel Garcia 3267f5a07f4SEzequiel Garcia interrupt-parent = <&intc>; 3277f5a07f4SEzequiel Garcia interrupts = <36>; 3287f5a07f4SEzequiel Garcia 3297f5a07f4SEzequiel Garcia clocks = <&cgu JZ4780_CLK_MSC1>; 3307f5a07f4SEzequiel Garcia clock-names = "mmc"; 3317f5a07f4SEzequiel Garcia 3327f5a07f4SEzequiel Garcia cap-sd-highspeed; 3337f5a07f4SEzequiel Garcia cap-mmc-highspeed; 3347f5a07f4SEzequiel Garcia cap-sdio-irq; 3357f5a07f4SEzequiel Garcia dmas = <&dma JZ4780_DMA_MSC1_RX 0xffffffff>, 3367f5a07f4SEzequiel Garcia <&dma JZ4780_DMA_MSC1_TX 0xffffffff>; 3377f5a07f4SEzequiel Garcia dma-names = "rx", "tx"; 3387f5a07f4SEzequiel Garcia 3397f5a07f4SEzequiel Garcia status = "disabled"; 3407f5a07f4SEzequiel Garcia }; 3417f5a07f4SEzequiel Garcia 34278800558SAlex Smith bch: bch@134d0000 { 34378800558SAlex Smith compatible = "ingenic,jz4780-bch"; 34478800558SAlex Smith reg = <0x134d0000 0x10000>; 34578800558SAlex Smith 34678800558SAlex Smith clocks = <&cgu JZ4780_CLK_BCH>; 34778800558SAlex Smith 34878800558SAlex Smith status = "disabled"; 34978800558SAlex Smith }; 3505b9cdd24SPaul Burton}; 351