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 49ed326616SMathieu Malaterre rtc_dev: rtc@10003000 { 50ed326616SMathieu Malaterre compatible = "ingenic,jz4780-rtc"; 51ed326616SMathieu Malaterre reg = <0x10003000 0x4c>; 52ed326616SMathieu Malaterre 53ed326616SMathieu Malaterre interrupt-parent = <&intc>; 54ed326616SMathieu Malaterre interrupts = <32>; 55ed326616SMathieu Malaterre 56ed326616SMathieu Malaterre clocks = <&cgu JZ4780_CLK_RTCLK>; 57ed326616SMathieu Malaterre clock-names = "rtc"; 58ed326616SMathieu Malaterre }; 59ed326616SMathieu Malaterre 60d32613c3SPaul Cercueil pinctrl: pin-controller@10010000 { 61d32613c3SPaul Cercueil compatible = "ingenic,jz4780-pinctrl"; 62d32613c3SPaul Cercueil reg = <0x10010000 0x600>; 63d32613c3SPaul Cercueil 64d32613c3SPaul Cercueil #address-cells = <1>; 65d32613c3SPaul Cercueil #size-cells = <0>; 66d32613c3SPaul Cercueil 67d32613c3SPaul Cercueil gpa: gpio@0 { 68d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 69d32613c3SPaul Cercueil reg = <0>; 70d32613c3SPaul Cercueil 71d32613c3SPaul Cercueil gpio-controller; 72d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 0 32>; 73d32613c3SPaul Cercueil #gpio-cells = <2>; 74d32613c3SPaul Cercueil 75d32613c3SPaul Cercueil interrupt-controller; 76d32613c3SPaul Cercueil #interrupt-cells = <2>; 77d32613c3SPaul Cercueil 78d32613c3SPaul Cercueil interrupt-parent = <&intc>; 79d32613c3SPaul Cercueil interrupts = <17>; 80d32613c3SPaul Cercueil }; 81d32613c3SPaul Cercueil 82d32613c3SPaul Cercueil gpb: gpio@1 { 83d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 84d32613c3SPaul Cercueil reg = <1>; 85d32613c3SPaul Cercueil 86d32613c3SPaul Cercueil gpio-controller; 87d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 32 32>; 88d32613c3SPaul Cercueil #gpio-cells = <2>; 89d32613c3SPaul Cercueil 90d32613c3SPaul Cercueil interrupt-controller; 91d32613c3SPaul Cercueil #interrupt-cells = <2>; 92d32613c3SPaul Cercueil 93d32613c3SPaul Cercueil interrupt-parent = <&intc>; 94d32613c3SPaul Cercueil interrupts = <16>; 95d32613c3SPaul Cercueil }; 96d32613c3SPaul Cercueil 97d32613c3SPaul Cercueil gpc: gpio@2 { 98d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 99d32613c3SPaul Cercueil reg = <2>; 100d32613c3SPaul Cercueil 101d32613c3SPaul Cercueil gpio-controller; 102d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 64 32>; 103d32613c3SPaul Cercueil #gpio-cells = <2>; 104d32613c3SPaul Cercueil 105d32613c3SPaul Cercueil interrupt-controller; 106d32613c3SPaul Cercueil #interrupt-cells = <2>; 107d32613c3SPaul Cercueil 108d32613c3SPaul Cercueil interrupt-parent = <&intc>; 109d32613c3SPaul Cercueil interrupts = <15>; 110d32613c3SPaul Cercueil }; 111d32613c3SPaul Cercueil 112d32613c3SPaul Cercueil gpd: gpio@3 { 113d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 114d32613c3SPaul Cercueil reg = <3>; 115d32613c3SPaul Cercueil 116d32613c3SPaul Cercueil gpio-controller; 117d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 96 32>; 118d32613c3SPaul Cercueil #gpio-cells = <2>; 119d32613c3SPaul Cercueil 120d32613c3SPaul Cercueil interrupt-controller; 121d32613c3SPaul Cercueil #interrupt-cells = <2>; 122d32613c3SPaul Cercueil 123d32613c3SPaul Cercueil interrupt-parent = <&intc>; 124d32613c3SPaul Cercueil interrupts = <14>; 125d32613c3SPaul Cercueil }; 126d32613c3SPaul Cercueil 127d32613c3SPaul Cercueil gpe: gpio@4 { 128d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 129d32613c3SPaul Cercueil reg = <4>; 130d32613c3SPaul Cercueil 131d32613c3SPaul Cercueil gpio-controller; 132d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 128 32>; 133d32613c3SPaul Cercueil #gpio-cells = <2>; 134d32613c3SPaul Cercueil 135d32613c3SPaul Cercueil interrupt-controller; 136d32613c3SPaul Cercueil #interrupt-cells = <2>; 137d32613c3SPaul Cercueil 138d32613c3SPaul Cercueil interrupt-parent = <&intc>; 139d32613c3SPaul Cercueil interrupts = <13>; 140d32613c3SPaul Cercueil }; 141d32613c3SPaul Cercueil 142d32613c3SPaul Cercueil gpf: gpio@5 { 143d32613c3SPaul Cercueil compatible = "ingenic,jz4780-gpio"; 144d32613c3SPaul Cercueil reg = <5>; 145d32613c3SPaul Cercueil 146d32613c3SPaul Cercueil gpio-controller; 147d32613c3SPaul Cercueil gpio-ranges = <&pinctrl 0 160 32>; 148d32613c3SPaul Cercueil #gpio-cells = <2>; 149d32613c3SPaul Cercueil 150d32613c3SPaul Cercueil interrupt-controller; 151d32613c3SPaul Cercueil #interrupt-cells = <2>; 152d32613c3SPaul Cercueil 153d32613c3SPaul Cercueil interrupt-parent = <&intc>; 154d32613c3SPaul Cercueil interrupts = <12>; 155d32613c3SPaul Cercueil }; 156d32613c3SPaul Cercueil }; 157d32613c3SPaul Cercueil 158*c24f5762SMathieu Malaterre spi_gpio { 159*c24f5762SMathieu Malaterre compatible = "spi-gpio"; 160*c24f5762SMathieu Malaterre #address-cells = <1>; 161*c24f5762SMathieu Malaterre #size-cells = <0>; 162*c24f5762SMathieu Malaterre num-chipselects = <2>; 163*c24f5762SMathieu Malaterre 164*c24f5762SMathieu Malaterre gpio-miso = <&gpe 14 0>; 165*c24f5762SMathieu Malaterre gpio-sck = <&gpe 15 0>; 166*c24f5762SMathieu Malaterre gpio-mosi = <&gpe 17 0>; 167*c24f5762SMathieu Malaterre cs-gpios = <&gpe 16 0 168*c24f5762SMathieu Malaterre &gpe 18 0>; 169*c24f5762SMathieu Malaterre 170*c24f5762SMathieu Malaterre spidev@0 { 171*c24f5762SMathieu Malaterre compatible = "spidev"; 172*c24f5762SMathieu Malaterre reg = <0>; 173*c24f5762SMathieu Malaterre spi-max-frequency = <1000000>; 174*c24f5762SMathieu Malaterre }; 175*c24f5762SMathieu Malaterre }; 176*c24f5762SMathieu Malaterre 1775b9cdd24SPaul Burton uart0: serial@10030000 { 1785b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 1795b9cdd24SPaul Burton reg = <0x10030000 0x100>; 1805b9cdd24SPaul Burton 1815b9cdd24SPaul Burton interrupt-parent = <&intc>; 1825b9cdd24SPaul Burton interrupts = <51>; 1835b9cdd24SPaul Burton 1845b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART0>; 1855b9cdd24SPaul Burton clock-names = "baud", "module"; 1865b9cdd24SPaul Burton 1875b9cdd24SPaul Burton status = "disabled"; 1885b9cdd24SPaul Burton }; 1895b9cdd24SPaul Burton 1905b9cdd24SPaul Burton uart1: serial@10031000 { 1915b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 1925b9cdd24SPaul Burton reg = <0x10031000 0x100>; 1935b9cdd24SPaul Burton 1945b9cdd24SPaul Burton interrupt-parent = <&intc>; 1955b9cdd24SPaul Burton interrupts = <50>; 1965b9cdd24SPaul Burton 1975b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART1>; 1985b9cdd24SPaul Burton clock-names = "baud", "module"; 1995b9cdd24SPaul Burton 2005b9cdd24SPaul Burton status = "disabled"; 2015b9cdd24SPaul Burton }; 2025b9cdd24SPaul Burton 2035b9cdd24SPaul Burton uart2: serial@10032000 { 2045b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2055b9cdd24SPaul Burton reg = <0x10032000 0x100>; 2065b9cdd24SPaul Burton 2075b9cdd24SPaul Burton interrupt-parent = <&intc>; 2085b9cdd24SPaul Burton interrupts = <49>; 2095b9cdd24SPaul Burton 2105b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART2>; 2115b9cdd24SPaul Burton clock-names = "baud", "module"; 2125b9cdd24SPaul Burton 2135b9cdd24SPaul Burton status = "disabled"; 2145b9cdd24SPaul Burton }; 2155b9cdd24SPaul Burton 2165b9cdd24SPaul Burton uart3: serial@10033000 { 2175b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2185b9cdd24SPaul Burton reg = <0x10033000 0x100>; 2195b9cdd24SPaul Burton 2205b9cdd24SPaul Burton interrupt-parent = <&intc>; 2215b9cdd24SPaul Burton interrupts = <48>; 2225b9cdd24SPaul Burton 2235b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART3>; 2245b9cdd24SPaul Burton clock-names = "baud", "module"; 2255b9cdd24SPaul Burton 2265b9cdd24SPaul Burton status = "disabled"; 2275b9cdd24SPaul Burton }; 2285b9cdd24SPaul Burton 2295b9cdd24SPaul Burton uart4: serial@10034000 { 2305b9cdd24SPaul Burton compatible = "ingenic,jz4780-uart"; 2315b9cdd24SPaul Burton reg = <0x10034000 0x100>; 2325b9cdd24SPaul Burton 2335b9cdd24SPaul Burton interrupt-parent = <&intc>; 2345b9cdd24SPaul Burton interrupts = <34>; 2355b9cdd24SPaul Burton 2365b9cdd24SPaul Burton clocks = <&ext>, <&cgu JZ4780_CLK_UART4>; 2375b9cdd24SPaul Burton clock-names = "baud", "module"; 2385b9cdd24SPaul Burton 2395b9cdd24SPaul Burton status = "disabled"; 2405b9cdd24SPaul Burton }; 24178800558SAlex Smith 242239e14d1SMathieu Malaterre watchdog: watchdog@10002000 { 243239e14d1SMathieu Malaterre compatible = "ingenic,jz4780-watchdog"; 2449a0225d9SPaul Cercueil reg = <0x10002000 0x10>; 2459a0225d9SPaul Cercueil 2469a0225d9SPaul Cercueil clocks = <&cgu JZ4780_CLK_RTCLK>; 2479a0225d9SPaul Cercueil clock-names = "rtc"; 248239e14d1SMathieu Malaterre }; 249239e14d1SMathieu Malaterre 25078800558SAlex Smith nemc: nemc@13410000 { 25178800558SAlex Smith compatible = "ingenic,jz4780-nemc"; 25278800558SAlex Smith reg = <0x13410000 0x10000>; 25378800558SAlex Smith #address-cells = <2>; 25478800558SAlex Smith #size-cells = <1>; 25578800558SAlex Smith ranges = <1 0 0x1b000000 0x1000000 25678800558SAlex Smith 2 0 0x1a000000 0x1000000 25778800558SAlex Smith 3 0 0x19000000 0x1000000 25878800558SAlex Smith 4 0 0x18000000 0x1000000 25978800558SAlex Smith 5 0 0x17000000 0x1000000 26078800558SAlex Smith 6 0 0x16000000 0x1000000>; 26178800558SAlex Smith 26278800558SAlex Smith clocks = <&cgu JZ4780_CLK_NEMC>; 26378800558SAlex Smith 26478800558SAlex Smith status = "disabled"; 26578800558SAlex Smith }; 26678800558SAlex Smith 2672d972b6aSEzequiel Garcia dma: dma@13420000 { 2682d972b6aSEzequiel Garcia compatible = "ingenic,jz4780-dma"; 2692d972b6aSEzequiel Garcia reg = <0x13420000 0x10000>; 2702d972b6aSEzequiel Garcia #dma-cells = <2>; 2712d972b6aSEzequiel Garcia 2722d972b6aSEzequiel Garcia interrupt-parent = <&intc>; 2732d972b6aSEzequiel Garcia interrupts = <10>; 2742d972b6aSEzequiel Garcia 2752d972b6aSEzequiel Garcia clocks = <&cgu JZ4780_CLK_PDMA>; 2762d972b6aSEzequiel Garcia }; 2772d972b6aSEzequiel Garcia 2787f5a07f4SEzequiel Garcia mmc0: mmc@13450000 { 2797f5a07f4SEzequiel Garcia compatible = "ingenic,jz4780-mmc"; 2807f5a07f4SEzequiel Garcia reg = <0x13450000 0x1000>; 2817f5a07f4SEzequiel Garcia 2827f5a07f4SEzequiel Garcia interrupt-parent = <&intc>; 2837f5a07f4SEzequiel Garcia interrupts = <37>; 2847f5a07f4SEzequiel Garcia 2857f5a07f4SEzequiel Garcia clocks = <&cgu JZ4780_CLK_MSC0>; 2867f5a07f4SEzequiel Garcia clock-names = "mmc"; 2877f5a07f4SEzequiel Garcia 2887f5a07f4SEzequiel Garcia cap-sd-highspeed; 2897f5a07f4SEzequiel Garcia cap-mmc-highspeed; 2907f5a07f4SEzequiel Garcia cap-sdio-irq; 2917f5a07f4SEzequiel Garcia dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>, 2927f5a07f4SEzequiel Garcia <&dma JZ4780_DMA_MSC0_TX 0xffffffff>; 2937f5a07f4SEzequiel Garcia dma-names = "rx", "tx"; 2947f5a07f4SEzequiel Garcia 2957f5a07f4SEzequiel Garcia status = "disabled"; 2967f5a07f4SEzequiel Garcia }; 2977f5a07f4SEzequiel Garcia 2987f5a07f4SEzequiel Garcia mmc1: mmc@13460000 { 2997f5a07f4SEzequiel Garcia compatible = "ingenic,jz4780-mmc"; 3007f5a07f4SEzequiel Garcia reg = <0x13460000 0x1000>; 3017f5a07f4SEzequiel Garcia 3027f5a07f4SEzequiel Garcia interrupt-parent = <&intc>; 3037f5a07f4SEzequiel Garcia interrupts = <36>; 3047f5a07f4SEzequiel Garcia 3057f5a07f4SEzequiel Garcia clocks = <&cgu JZ4780_CLK_MSC1>; 3067f5a07f4SEzequiel Garcia clock-names = "mmc"; 3077f5a07f4SEzequiel Garcia 3087f5a07f4SEzequiel Garcia cap-sd-highspeed; 3097f5a07f4SEzequiel Garcia cap-mmc-highspeed; 3107f5a07f4SEzequiel Garcia cap-sdio-irq; 3117f5a07f4SEzequiel Garcia dmas = <&dma JZ4780_DMA_MSC1_RX 0xffffffff>, 3127f5a07f4SEzequiel Garcia <&dma JZ4780_DMA_MSC1_TX 0xffffffff>; 3137f5a07f4SEzequiel Garcia dma-names = "rx", "tx"; 3147f5a07f4SEzequiel Garcia 3157f5a07f4SEzequiel Garcia status = "disabled"; 3167f5a07f4SEzequiel Garcia }; 3177f5a07f4SEzequiel Garcia 31878800558SAlex Smith bch: bch@134d0000 { 31978800558SAlex Smith compatible = "ingenic,jz4780-bch"; 32078800558SAlex Smith reg = <0x134d0000 0x10000>; 32178800558SAlex Smith 32278800558SAlex Smith clocks = <&cgu JZ4780_CLK_BCH>; 32378800558SAlex Smith 32478800558SAlex Smith status = "disabled"; 32578800558SAlex Smith }; 3265b9cdd24SPaul Burton}; 327