18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * Spreadtrum Whale2 platform peripherals 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Copyright (C) 2016, Spreadtrum Communications Inc. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sprd,sc9860-clk.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 138c2ecf20Sopenharmony_ci #address-cells = <2>; 148c2ecf20Sopenharmony_ci #size-cells = <2>; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci soc: soc { 178c2ecf20Sopenharmony_ci compatible = "simple-bus"; 188c2ecf20Sopenharmony_ci #address-cells = <2>; 198c2ecf20Sopenharmony_ci #size-cells = <2>; 208c2ecf20Sopenharmony_ci ranges; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci ap_ahb_regs: syscon@20210000 { 238c2ecf20Sopenharmony_ci compatible = "syscon"; 248c2ecf20Sopenharmony_ci reg = <0 0x20210000 0 0x10000>; 258c2ecf20Sopenharmony_ci }; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci pmu_regs: syscon@402b0000 { 288c2ecf20Sopenharmony_ci compatible = "syscon"; 298c2ecf20Sopenharmony_ci reg = <0 0x402b0000 0 0x10000>; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci aon_regs: syscon@402e0000 { 338c2ecf20Sopenharmony_ci compatible = "syscon"; 348c2ecf20Sopenharmony_ci reg = <0 0x402e0000 0 0x10000>; 358c2ecf20Sopenharmony_ci }; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci ana_regs: syscon@40400000 { 388c2ecf20Sopenharmony_ci compatible = "syscon"; 398c2ecf20Sopenharmony_ci reg = <0 0x40400000 0 0x10000>; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci agcp_regs: syscon@415e0000 { 438c2ecf20Sopenharmony_ci compatible = "syscon"; 448c2ecf20Sopenharmony_ci reg = <0 0x415e0000 0 0x1000000>; 458c2ecf20Sopenharmony_ci }; 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci vsp_regs: syscon@61100000 { 488c2ecf20Sopenharmony_ci compatible = "syscon"; 498c2ecf20Sopenharmony_ci reg = <0 0x61100000 0 0x10000>; 508c2ecf20Sopenharmony_ci }; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci cam_regs: syscon@62100000 { 538c2ecf20Sopenharmony_ci compatible = "syscon"; 548c2ecf20Sopenharmony_ci reg = <0 0x62100000 0 0x10000>; 558c2ecf20Sopenharmony_ci }; 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci disp_regs: syscon@63100000 { 588c2ecf20Sopenharmony_ci compatible = "syscon"; 598c2ecf20Sopenharmony_ci reg = <0 0x63100000 0 0x10000>; 608c2ecf20Sopenharmony_ci }; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci ap_apb_regs: syscon@70b00000 { 638c2ecf20Sopenharmony_ci compatible = "syscon"; 648c2ecf20Sopenharmony_ci reg = <0 0x70b00000 0 0x40000>; 658c2ecf20Sopenharmony_ci }; 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci ap-apb { 688c2ecf20Sopenharmony_ci compatible = "simple-bus"; 698c2ecf20Sopenharmony_ci #address-cells = <1>; 708c2ecf20Sopenharmony_ci #size-cells = <1>; 718c2ecf20Sopenharmony_ci ranges = <0 0x0 0x70000000 0x10000000>; 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci uart0: serial@0 { 748c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-uart", 758c2ecf20Sopenharmony_ci "sprd,sc9836-uart"; 768c2ecf20Sopenharmony_ci reg = <0x0 0x100>; 778c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 788c2ecf20Sopenharmony_ci clock-names = "enable", "uart", "source"; 798c2ecf20Sopenharmony_ci clocks = <&apapb_gate CLK_UART0_EB>, 808c2ecf20Sopenharmony_ci <&ap_clk CLK_UART0>, <&ext_26m>; 818c2ecf20Sopenharmony_ci status = "disabled"; 828c2ecf20Sopenharmony_ci }; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci uart1: serial@100000 { 858c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-uart", 868c2ecf20Sopenharmony_ci "sprd,sc9836-uart"; 878c2ecf20Sopenharmony_ci reg = <0x100000 0x100>; 888c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 898c2ecf20Sopenharmony_ci clock-names = "enable", "uart", "source"; 908c2ecf20Sopenharmony_ci clocks = <&apapb_gate CLK_UART1_EB>, 918c2ecf20Sopenharmony_ci <&ap_clk CLK_UART1>, <&ext_26m>; 928c2ecf20Sopenharmony_ci status = "disabled"; 938c2ecf20Sopenharmony_ci }; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci uart2: serial@200000 { 968c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-uart", 978c2ecf20Sopenharmony_ci "sprd,sc9836-uart"; 988c2ecf20Sopenharmony_ci reg = <0x200000 0x100>; 998c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1008c2ecf20Sopenharmony_ci clock-names = "enable", "uart", "source"; 1018c2ecf20Sopenharmony_ci clocks = <&apapb_gate CLK_UART2_EB>, 1028c2ecf20Sopenharmony_ci <&ap_clk CLK_UART2>, <&ext_26m>; 1038c2ecf20Sopenharmony_ci status = "disabled"; 1048c2ecf20Sopenharmony_ci }; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci uart3: serial@300000 { 1078c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-uart", 1088c2ecf20Sopenharmony_ci "sprd,sc9836-uart"; 1098c2ecf20Sopenharmony_ci reg = <0x300000 0x100>; 1108c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1118c2ecf20Sopenharmony_ci clock-names = "enable", "uart", "source"; 1128c2ecf20Sopenharmony_ci clocks = <&apapb_gate CLK_UART3_EB>, 1138c2ecf20Sopenharmony_ci <&ap_clk CLK_UART3>, <&ext_26m>; 1148c2ecf20Sopenharmony_ci status = "disabled"; 1158c2ecf20Sopenharmony_ci }; 1168c2ecf20Sopenharmony_ci }; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci ap-ahb { 1198c2ecf20Sopenharmony_ci compatible = "simple-bus"; 1208c2ecf20Sopenharmony_ci #address-cells = <2>; 1218c2ecf20Sopenharmony_ci #size-cells = <2>; 1228c2ecf20Sopenharmony_ci ranges; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci ap_dma: dma-controller@20100000 { 1258c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-dma"; 1268c2ecf20Sopenharmony_ci reg = <0 0x20100000 0 0x4000>; 1278c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 1288c2ecf20Sopenharmony_ci #dma-cells = <1>; 1298c2ecf20Sopenharmony_ci #dma-channels = <32>; 1308c2ecf20Sopenharmony_ci clock-names = "enable"; 1318c2ecf20Sopenharmony_ci clocks = <&apahb_gate CLK_DMA_EB>; 1328c2ecf20Sopenharmony_ci }; 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci sdio3: sdio@50430000 { 1358c2ecf20Sopenharmony_ci compatible = "sprd,sdhci-r11"; 1368c2ecf20Sopenharmony_ci reg = <0 0x50430000 0 0x1000>; 1378c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci clock-names = "sdio", "enable", "2x_enable"; 1408c2ecf20Sopenharmony_ci clocks = <&aon_prediv CLK_EMMC_2X>, 1418c2ecf20Sopenharmony_ci <&apahb_gate CLK_EMMC_EB>, 1428c2ecf20Sopenharmony_ci <&aon_gate CLK_EMMC_2X_EN>; 1438c2ecf20Sopenharmony_ci assigned-clocks = <&aon_prediv CLK_EMMC_2X>; 1448c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk_l0_409m6>; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci sprd,phy-delay-mmc-hs400 = <0x44 0x7f 0x2e 0x2e>; 1478c2ecf20Sopenharmony_ci sprd,phy-delay-mmc-hs200 = <0x0 0x8c 0x8c 0x8c>; 1488c2ecf20Sopenharmony_ci sprd,phy-delay-mmc-ddr52 = <0x3f 0x75 0x14 0x14>; 1498c2ecf20Sopenharmony_ci sprd,phy-delay-mmc-hs400es = <0x3f 0x3f 0x2e 0x2e>; 1508c2ecf20Sopenharmony_ci vmmc-supply = <&vddemmccore>; 1518c2ecf20Sopenharmony_ci bus-width = <8>; 1528c2ecf20Sopenharmony_ci non-removable; 1538c2ecf20Sopenharmony_ci no-sdio; 1548c2ecf20Sopenharmony_ci no-sd; 1558c2ecf20Sopenharmony_ci cap-mmc-hw-reset; 1568c2ecf20Sopenharmony_ci mmc-hs400-enhanced-strobe; 1578c2ecf20Sopenharmony_ci mmc-hs400-1_8v; 1588c2ecf20Sopenharmony_ci mmc-hs200-1_8v; 1598c2ecf20Sopenharmony_ci mmc-ddr-1_8v; 1608c2ecf20Sopenharmony_ci }; 1618c2ecf20Sopenharmony_ci }; 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci aon { 1648c2ecf20Sopenharmony_ci compatible = "simple-bus"; 1658c2ecf20Sopenharmony_ci #address-cells = <2>; 1668c2ecf20Sopenharmony_ci #size-cells = <2>; 1678c2ecf20Sopenharmony_ci ranges; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci adi_bus: spi@40030000 { 1708c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-adi"; 1718c2ecf20Sopenharmony_ci reg = <0 0x40030000 0 0x10000>; 1728c2ecf20Sopenharmony_ci hwlocks = <&hwlock 0>; 1738c2ecf20Sopenharmony_ci hwlock-names = "adi"; 1748c2ecf20Sopenharmony_ci #address-cells = <1>; 1758c2ecf20Sopenharmony_ci #size-cells = <0>; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci timer@40050000 { 1798c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-timer"; 1808c2ecf20Sopenharmony_ci reg = <0 0x40050000 0 0x20>; 1818c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 1828c2ecf20Sopenharmony_ci clocks = <&ext_32k>; 1838c2ecf20Sopenharmony_ci }; 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci timer@40050020 { 1868c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-suspend-timer"; 1878c2ecf20Sopenharmony_ci reg = <0 0x40050020 0 0x20>; 1888c2ecf20Sopenharmony_ci clocks = <&ext_32k>; 1898c2ecf20Sopenharmony_ci }; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci hwlock: hwspinlock@40500000 { 1928c2ecf20Sopenharmony_ci compatible = "sprd,hwspinlock-r3p0"; 1938c2ecf20Sopenharmony_ci reg = <0 0x40500000 0 0x1000>; 1948c2ecf20Sopenharmony_ci #hwlock-cells = <1>; 1958c2ecf20Sopenharmony_ci clock-names = "enable"; 1968c2ecf20Sopenharmony_ci clocks = <&aon_gate CLK_SPLK_EB>; 1978c2ecf20Sopenharmony_ci }; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci eic_debounce: gpio@40210000 { 2008c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-eic-debounce"; 2018c2ecf20Sopenharmony_ci reg = <0 0x40210000 0 0x80>; 2028c2ecf20Sopenharmony_ci gpio-controller; 2038c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2048c2ecf20Sopenharmony_ci interrupt-controller; 2058c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2068c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2078c2ecf20Sopenharmony_ci }; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci eic_latch: gpio@40210080 { 2108c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-eic-latch"; 2118c2ecf20Sopenharmony_ci reg = <0 0x40210080 0 0x20>; 2128c2ecf20Sopenharmony_ci gpio-controller; 2138c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2148c2ecf20Sopenharmony_ci interrupt-controller; 2158c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2168c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2178c2ecf20Sopenharmony_ci }; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci eic_async: gpio@402100a0 { 2208c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-eic-async"; 2218c2ecf20Sopenharmony_ci reg = <0 0x402100a0 0 0x20>; 2228c2ecf20Sopenharmony_ci gpio-controller; 2238c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2248c2ecf20Sopenharmony_ci interrupt-controller; 2258c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2268c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2278c2ecf20Sopenharmony_ci }; 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ci eic_sync: gpio@402100c0 { 2308c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-eic-sync"; 2318c2ecf20Sopenharmony_ci reg = <0 0x402100c0 0 0x20>; 2328c2ecf20Sopenharmony_ci gpio-controller; 2338c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2348c2ecf20Sopenharmony_ci interrupt-controller; 2358c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2368c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2378c2ecf20Sopenharmony_ci }; 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci ap_gpio: gpio@40280000 { 2408c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-gpio"; 2418c2ecf20Sopenharmony_ci reg = <0 0x40280000 0 0x1000>; 2428c2ecf20Sopenharmony_ci gpio-controller; 2438c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2448c2ecf20Sopenharmony_ci interrupt-controller; 2458c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2468c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 2478c2ecf20Sopenharmony_ci }; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci pin_controller: pinctrl@402a0000 { 2508c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-pinctrl"; 2518c2ecf20Sopenharmony_ci reg = <0 0x402a0000 0 0x10000>; 2528c2ecf20Sopenharmony_ci }; 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci watchdog@40310000 { 2558c2ecf20Sopenharmony_ci compatible = "sprd,sp9860-wdt"; 2568c2ecf20Sopenharmony_ci reg = <0 0x40310000 0 0x1000>; 2578c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 2588c2ecf20Sopenharmony_ci timeout-sec = <12>; 2598c2ecf20Sopenharmony_ci clock-names = "enable", "rtc_enable"; 2608c2ecf20Sopenharmony_ci clocks = <&aon_gate CLK_APCPU_WDG_EB>, 2618c2ecf20Sopenharmony_ci <&aon_gate CLK_AP_WDG_RTC_EB>; 2628c2ecf20Sopenharmony_ci }; 2638c2ecf20Sopenharmony_ci }; 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ci agcp { 2668c2ecf20Sopenharmony_ci compatible = "simple-bus"; 2678c2ecf20Sopenharmony_ci #address-cells = <2>; 2688c2ecf20Sopenharmony_ci #size-cells = <2>; 2698c2ecf20Sopenharmony_ci ranges; 2708c2ecf20Sopenharmony_ci 2718c2ecf20Sopenharmony_ci agcp_dma: dma-controller@41580000 { 2728c2ecf20Sopenharmony_ci compatible = "sprd,sc9860-dma"; 2738c2ecf20Sopenharmony_ci reg = <0 0x41580000 0 0x4000>; 2748c2ecf20Sopenharmony_ci #dma-cells = <1>; 2758c2ecf20Sopenharmony_ci #dma-channels = <32>; 2768c2ecf20Sopenharmony_ci clock-names = "enable", "ashb_eb"; 2778c2ecf20Sopenharmony_ci clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>, 2788c2ecf20Sopenharmony_ci <&agcp_gate CLK_AGCP_AP_ASHB_EB>; 2798c2ecf20Sopenharmony_ci }; 2808c2ecf20Sopenharmony_ci }; 2818c2ecf20Sopenharmony_ci }; 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci ext_32k: ext_32k { 2848c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2858c2ecf20Sopenharmony_ci #clock-cells = <0>; 2868c2ecf20Sopenharmony_ci clock-frequency = <32768>; 2878c2ecf20Sopenharmony_ci clock-output-names = "ext-32k"; 2888c2ecf20Sopenharmony_ci }; 2898c2ecf20Sopenharmony_ci 2908c2ecf20Sopenharmony_ci ext_26m: ext_26m { 2918c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2928c2ecf20Sopenharmony_ci #clock-cells = <0>; 2938c2ecf20Sopenharmony_ci clock-frequency = <26000000>; 2948c2ecf20Sopenharmony_ci clock-output-names = "ext-26m"; 2958c2ecf20Sopenharmony_ci }; 2968c2ecf20Sopenharmony_ci 2978c2ecf20Sopenharmony_ci ext_rco_100m: ext_rco_100m { 2988c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2998c2ecf20Sopenharmony_ci #clock-cells = <0>; 3008c2ecf20Sopenharmony_ci clock-frequency = <100000000>; 3018c2ecf20Sopenharmony_ci clock-output-names = "ext-rco-100m"; 3028c2ecf20Sopenharmony_ci }; 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ci clk_l0_409m6: clk_l0_409m6 { 3058c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 3068c2ecf20Sopenharmony_ci #clock-cells = <0>; 3078c2ecf20Sopenharmony_ci clock-frequency = <409600000>; 3088c2ecf20Sopenharmony_ci clock-output-names = "ext-409m6"; 3098c2ecf20Sopenharmony_ci }; 3108c2ecf20Sopenharmony_ci}; 311