18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include <dt-bindings/clock/ingenic,tcu.h> 38c2ecf20Sopenharmony_ci#include <dt-bindings/clock/x1000-cgu.h> 48c2ecf20Sopenharmony_ci#include <dt-bindings/dma/x1000-dma.h> 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci/ { 78c2ecf20Sopenharmony_ci #address-cells = <1>; 88c2ecf20Sopenharmony_ci #size-cells = <1>; 98c2ecf20Sopenharmony_ci compatible = "ingenic,x1000", "ingenic,x1000e"; 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci cpus { 128c2ecf20Sopenharmony_ci #address-cells = <1>; 138c2ecf20Sopenharmony_ci #size-cells = <0>; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci cpu0: cpu@0 { 168c2ecf20Sopenharmony_ci device_type = "cpu"; 178c2ecf20Sopenharmony_ci compatible = "ingenic,xburst-fpu1.0-mxu1.1"; 188c2ecf20Sopenharmony_ci reg = <0>; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_CPU>; 218c2ecf20Sopenharmony_ci clock-names = "cpu"; 228c2ecf20Sopenharmony_ci }; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci cpuintc: interrupt-controller { 268c2ecf20Sopenharmony_ci #address-cells = <0>; 278c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 288c2ecf20Sopenharmony_ci interrupt-controller; 298c2ecf20Sopenharmony_ci compatible = "mti,cpu-interrupt-controller"; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci intc: interrupt-controller@10001000 { 338c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-intc", "ingenic,jz4780-intc"; 348c2ecf20Sopenharmony_ci reg = <0x10001000 0x50>; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci interrupt-controller; 378c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci interrupt-parent = <&cpuintc>; 408c2ecf20Sopenharmony_ci interrupts = <2>; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci exclk: ext { 448c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 458c2ecf20Sopenharmony_ci #clock-cells = <0>; 468c2ecf20Sopenharmony_ci }; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci rtclk: rtc { 498c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 508c2ecf20Sopenharmony_ci #clock-cells = <0>; 518c2ecf20Sopenharmony_ci clock-frequency = <32768>; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci cgu: x1000-cgu@10000000 { 558c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-cgu"; 568c2ecf20Sopenharmony_ci reg = <0x10000000 0x100>; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci #clock-cells = <1>; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci clocks = <&exclk>, <&rtclk>; 618c2ecf20Sopenharmony_ci clock-names = "ext", "rtc"; 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci tcu: timer@10002000 { 658c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-tcu", "simple-mfd"; 668c2ecf20Sopenharmony_ci reg = <0x10002000 0x1000>; 678c2ecf20Sopenharmony_ci #address-cells = <1>; 688c2ecf20Sopenharmony_ci #size-cells = <1>; 698c2ecf20Sopenharmony_ci ranges = <0x0 0x10002000 0x1000>; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci #clock-cells = <1>; 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_RTCLK>, 748c2ecf20Sopenharmony_ci <&cgu X1000_CLK_EXCLK>, 758c2ecf20Sopenharmony_ci <&cgu X1000_CLK_PCLK>; 768c2ecf20Sopenharmony_ci clock-names = "rtc", "ext", "pclk"; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci interrupt-controller; 798c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 828c2ecf20Sopenharmony_ci interrupts = <27 26 25>; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci wdt: watchdog@0 { 858c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-watchdog", "ingenic,jz4780-watchdog"; 868c2ecf20Sopenharmony_ci reg = <0x0 0x10>; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci clocks = <&tcu TCU_CLK_WDT>; 898c2ecf20Sopenharmony_ci clock-names = "wdt"; 908c2ecf20Sopenharmony_ci }; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci rtc: rtc@10003000 { 948c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-rtc", "ingenic,jz4780-rtc"; 958c2ecf20Sopenharmony_ci reg = <0x10003000 0x4c>; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 988c2ecf20Sopenharmony_ci interrupts = <32>; 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_RTCLK>; 1018c2ecf20Sopenharmony_ci clock-names = "rtc"; 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci pinctrl: pin-controller@10010000 { 1058c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-pinctrl"; 1068c2ecf20Sopenharmony_ci reg = <0x10010000 0x800>; 1078c2ecf20Sopenharmony_ci #address-cells = <1>; 1088c2ecf20Sopenharmony_ci #size-cells = <0>; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci gpa: gpio@0 { 1118c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-gpio"; 1128c2ecf20Sopenharmony_ci reg = <0>; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci gpio-controller; 1158c2ecf20Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 32>; 1168c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci interrupt-controller; 1198c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 1228c2ecf20Sopenharmony_ci interrupts = <17>; 1238c2ecf20Sopenharmony_ci }; 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci gpb: gpio@1 { 1268c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-gpio"; 1278c2ecf20Sopenharmony_ci reg = <1>; 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci gpio-controller; 1308c2ecf20Sopenharmony_ci gpio-ranges = <&pinctrl 0 32 32>; 1318c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci interrupt-controller; 1348c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 1378c2ecf20Sopenharmony_ci interrupts = <16>; 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci gpc: gpio@2 { 1418c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-gpio"; 1428c2ecf20Sopenharmony_ci reg = <2>; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci gpio-controller; 1458c2ecf20Sopenharmony_ci gpio-ranges = <&pinctrl 0 64 32>; 1468c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci interrupt-controller; 1498c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 1528c2ecf20Sopenharmony_ci interrupts = <15>; 1538c2ecf20Sopenharmony_ci }; 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci gpd: gpio@3 { 1568c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-gpio"; 1578c2ecf20Sopenharmony_ci reg = <3>; 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci gpio-controller; 1608c2ecf20Sopenharmony_ci gpio-ranges = <&pinctrl 0 96 32>; 1618c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci interrupt-controller; 1648c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 1678c2ecf20Sopenharmony_ci interrupts = <14>; 1688c2ecf20Sopenharmony_ci }; 1698c2ecf20Sopenharmony_ci }; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci uart0: serial@10030000 { 1728c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-uart"; 1738c2ecf20Sopenharmony_ci reg = <0x10030000 0x100>; 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 1768c2ecf20Sopenharmony_ci interrupts = <51>; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci clocks = <&exclk>, <&cgu X1000_CLK_UART0>; 1798c2ecf20Sopenharmony_ci clock-names = "baud", "module"; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci status = "disabled"; 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci uart1: serial@10031000 { 1858c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-uart"; 1868c2ecf20Sopenharmony_ci reg = <0x10031000 0x100>; 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 1898c2ecf20Sopenharmony_ci interrupts = <50>; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci clocks = <&exclk>, <&cgu X1000_CLK_UART1>; 1928c2ecf20Sopenharmony_ci clock-names = "baud", "module"; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci status = "disabled"; 1958c2ecf20Sopenharmony_ci }; 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci uart2: serial@10032000 { 1988c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-uart"; 1998c2ecf20Sopenharmony_ci reg = <0x10032000 0x100>; 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2028c2ecf20Sopenharmony_ci interrupts = <49>; 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci clocks = <&exclk>, <&cgu X1000_CLK_UART2>; 2058c2ecf20Sopenharmony_ci clock-names = "baud", "module"; 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_ci status = "disabled"; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci i2c0: i2c-controller@10050000 { 2118c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-i2c"; 2128c2ecf20Sopenharmony_ci reg = <0x10050000 0x1000>; 2138c2ecf20Sopenharmony_ci #address-cells = <1>; 2148c2ecf20Sopenharmony_ci #size-cells = <0>; 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2178c2ecf20Sopenharmony_ci interrupts = <60>; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_I2C0>; 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ci status = "disabled"; 2228c2ecf20Sopenharmony_ci }; 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci i2c1: i2c-controller@10051000 { 2258c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-i2c"; 2268c2ecf20Sopenharmony_ci reg = <0x10051000 0x1000>; 2278c2ecf20Sopenharmony_ci #address-cells = <1>; 2288c2ecf20Sopenharmony_ci #size-cells = <0>; 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2318c2ecf20Sopenharmony_ci interrupts = <59>; 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_I2C1>; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci status = "disabled"; 2368c2ecf20Sopenharmony_ci }; 2378c2ecf20Sopenharmony_ci 2388c2ecf20Sopenharmony_ci i2c2: i2c-controller@10052000 { 2398c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-i2c"; 2408c2ecf20Sopenharmony_ci reg = <0x10052000 0x1000>; 2418c2ecf20Sopenharmony_ci #address-cells = <1>; 2428c2ecf20Sopenharmony_ci #size-cells = <0>; 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2458c2ecf20Sopenharmony_ci interrupts = <58>; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_I2C2>; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci status = "disabled"; 2508c2ecf20Sopenharmony_ci }; 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ci pdma: dma-controller@13420000 { 2538c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-dma"; 2548c2ecf20Sopenharmony_ci reg = <0x13420000 0x400>, <0x13421000 0x40>; 2558c2ecf20Sopenharmony_ci #dma-cells = <2>; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2588c2ecf20Sopenharmony_ci interrupts = <10>; 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_PDMA>; 2618c2ecf20Sopenharmony_ci }; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci msc0: mmc@13450000 { 2648c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-mmc"; 2658c2ecf20Sopenharmony_ci reg = <0x13450000 0x1000>; 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2688c2ecf20Sopenharmony_ci interrupts = <37>; 2698c2ecf20Sopenharmony_ci 2708c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_MSC0>; 2718c2ecf20Sopenharmony_ci clock-names = "mmc"; 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ci cap-sd-highspeed; 2748c2ecf20Sopenharmony_ci cap-mmc-highspeed; 2758c2ecf20Sopenharmony_ci cap-sdio-irq; 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_ci dmas = <&pdma X1000_DMA_MSC0_RX 0xffffffff>, 2788c2ecf20Sopenharmony_ci <&pdma X1000_DMA_MSC0_TX 0xffffffff>; 2798c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 2808c2ecf20Sopenharmony_ci 2818c2ecf20Sopenharmony_ci status = "disabled"; 2828c2ecf20Sopenharmony_ci }; 2838c2ecf20Sopenharmony_ci 2848c2ecf20Sopenharmony_ci msc1: mmc@13460000 { 2858c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-mmc"; 2868c2ecf20Sopenharmony_ci reg = <0x13460000 0x1000>; 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 2898c2ecf20Sopenharmony_ci interrupts = <36>; 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_MSC1>; 2928c2ecf20Sopenharmony_ci clock-names = "mmc"; 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci cap-sd-highspeed; 2958c2ecf20Sopenharmony_ci cap-mmc-highspeed; 2968c2ecf20Sopenharmony_ci cap-sdio-irq; 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci dmas = <&pdma X1000_DMA_MSC1_RX 0xffffffff>, 2998c2ecf20Sopenharmony_ci <&pdma X1000_DMA_MSC1_TX 0xffffffff>; 3008c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci status = "disabled"; 3038c2ecf20Sopenharmony_ci }; 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ci mac: ethernet@134b0000 { 3068c2ecf20Sopenharmony_ci compatible = "ingenic,x1000-mac", "snps,dwmac"; 3078c2ecf20Sopenharmony_ci reg = <0x134b0000 0x2000>; 3088c2ecf20Sopenharmony_ci 3098c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 3108c2ecf20Sopenharmony_ci interrupts = <55>; 3118c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 3128c2ecf20Sopenharmony_ci 3138c2ecf20Sopenharmony_ci clocks = <&cgu X1000_CLK_MAC>; 3148c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci status = "disabled"; 3178c2ecf20Sopenharmony_ci 3188c2ecf20Sopenharmony_ci mdio: mdio { 3198c2ecf20Sopenharmony_ci compatible = "snps,dwmac-mdio"; 3208c2ecf20Sopenharmony_ci #address-cells = <1>; 3218c2ecf20Sopenharmony_ci #size-cells = <0>; 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_ci status = "disabled"; 3248c2ecf20Sopenharmony_ci }; 3258c2ecf20Sopenharmony_ci }; 3268c2ecf20Sopenharmony_ci}; 327