1*a4b3f197SStanislav Jakubek// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 23c0e3abdSOrson Zhai/* 33c0e3abdSOrson Zhai * Spreadtrum Whale2 platform peripherals 43c0e3abdSOrson Zhai * 53c0e3abdSOrson Zhai * Copyright (C) 2016, Spreadtrum Communications Inc. 63c0e3abdSOrson Zhai */ 73c0e3abdSOrson Zhai 86c6fbbd1SBaolin Wang#include <dt-bindings/clock/sprd,sc9860-clk.h> 96c6fbbd1SBaolin Wang 103c0e3abdSOrson Zhai/ { 113c0e3abdSOrson Zhai interrupt-parent = <&gic>; 123c0e3abdSOrson Zhai #address-cells = <2>; 133c0e3abdSOrson Zhai #size-cells = <2>; 143c0e3abdSOrson Zhai 153c0e3abdSOrson Zhai soc: soc { 163c0e3abdSOrson Zhai compatible = "simple-bus"; 173c0e3abdSOrson Zhai #address-cells = <2>; 183c0e3abdSOrson Zhai #size-cells = <2>; 193c0e3abdSOrson Zhai ranges; 203c0e3abdSOrson Zhai 2133d3ebd4SChunyan Zhang ap_ahb_regs: syscon@20210000 { 2233d3ebd4SChunyan Zhang compatible = "syscon"; 2333d3ebd4SChunyan Zhang reg = <0 0x20210000 0 0x10000>; 2433d3ebd4SChunyan Zhang }; 2533d3ebd4SChunyan Zhang 2633d3ebd4SChunyan Zhang pmu_regs: syscon@402b0000 { 2733d3ebd4SChunyan Zhang compatible = "syscon"; 2833d3ebd4SChunyan Zhang reg = <0 0x402b0000 0 0x10000>; 2933d3ebd4SChunyan Zhang }; 3033d3ebd4SChunyan Zhang 3133d3ebd4SChunyan Zhang aon_regs: syscon@402e0000 { 3233d3ebd4SChunyan Zhang compatible = "syscon"; 3333d3ebd4SChunyan Zhang reg = <0 0x402e0000 0 0x10000>; 3433d3ebd4SChunyan Zhang }; 3533d3ebd4SChunyan Zhang 3633d3ebd4SChunyan Zhang ana_regs: syscon@40400000 { 3733d3ebd4SChunyan Zhang compatible = "syscon"; 3833d3ebd4SChunyan Zhang reg = <0 0x40400000 0 0x10000>; 3933d3ebd4SChunyan Zhang }; 4033d3ebd4SChunyan Zhang 4133d3ebd4SChunyan Zhang agcp_regs: syscon@415e0000 { 4233d3ebd4SChunyan Zhang compatible = "syscon"; 4333d3ebd4SChunyan Zhang reg = <0 0x415e0000 0 0x1000000>; 4433d3ebd4SChunyan Zhang }; 4533d3ebd4SChunyan Zhang 4633d3ebd4SChunyan Zhang vsp_regs: syscon@61100000 { 4733d3ebd4SChunyan Zhang compatible = "syscon"; 4833d3ebd4SChunyan Zhang reg = <0 0x61100000 0 0x10000>; 4933d3ebd4SChunyan Zhang }; 5033d3ebd4SChunyan Zhang 5133d3ebd4SChunyan Zhang cam_regs: syscon@62100000 { 5233d3ebd4SChunyan Zhang compatible = "syscon"; 5333d3ebd4SChunyan Zhang reg = <0 0x62100000 0 0x10000>; 5433d3ebd4SChunyan Zhang }; 5533d3ebd4SChunyan Zhang 5633d3ebd4SChunyan Zhang disp_regs: syscon@63100000 { 5733d3ebd4SChunyan Zhang compatible = "syscon"; 5833d3ebd4SChunyan Zhang reg = <0 0x63100000 0 0x10000>; 5933d3ebd4SChunyan Zhang }; 6033d3ebd4SChunyan Zhang 6133d3ebd4SChunyan Zhang ap_apb_regs: syscon@70b00000 { 6233d3ebd4SChunyan Zhang compatible = "syscon"; 6333d3ebd4SChunyan Zhang reg = <0 0x70b00000 0 0x40000>; 6433d3ebd4SChunyan Zhang }; 6533d3ebd4SChunyan Zhang 6609dddc24SKrzysztof Kozlowski ap-apb@70000000 { 673c0e3abdSOrson Zhai compatible = "simple-bus"; 683c0e3abdSOrson Zhai #address-cells = <1>; 693c0e3abdSOrson Zhai #size-cells = <1>; 703c0e3abdSOrson Zhai ranges = <0 0x0 0x70000000 0x10000000>; 713c0e3abdSOrson Zhai 723c0e3abdSOrson Zhai uart0: serial@0 { 733c0e3abdSOrson Zhai compatible = "sprd,sc9860-uart", 743c0e3abdSOrson Zhai "sprd,sc9836-uart"; 753c0e3abdSOrson Zhai reg = <0x0 0x100>; 763c0e3abdSOrson Zhai interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 7715d574fbSBaolin Wang clocks = <&apapb_gate CLK_UART0_EB>, 78e2e0d455SStanislav Jakubek <&ap_clk CLK_UART0>, 79e2e0d455SStanislav Jakubek <&ext_26m>; 80e2e0d455SStanislav Jakubek clock-names = "enable", "uart", "source"; 813c0e3abdSOrson Zhai status = "disabled"; 823c0e3abdSOrson Zhai }; 833c0e3abdSOrson Zhai 843c0e3abdSOrson Zhai uart1: serial@100000 { 853c0e3abdSOrson Zhai compatible = "sprd,sc9860-uart", 863c0e3abdSOrson Zhai "sprd,sc9836-uart"; 873c0e3abdSOrson Zhai reg = <0x100000 0x100>; 883c0e3abdSOrson Zhai interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 8915d574fbSBaolin Wang clocks = <&apapb_gate CLK_UART1_EB>, 90e2e0d455SStanislav Jakubek <&ap_clk CLK_UART1>, 91e2e0d455SStanislav Jakubek <&ext_26m>; 92e2e0d455SStanislav Jakubek clock-names = "enable", "uart", "source"; 933c0e3abdSOrson Zhai status = "disabled"; 943c0e3abdSOrson Zhai }; 953c0e3abdSOrson Zhai 963c0e3abdSOrson Zhai uart2: serial@200000 { 973c0e3abdSOrson Zhai compatible = "sprd,sc9860-uart", 983c0e3abdSOrson Zhai "sprd,sc9836-uart"; 993c0e3abdSOrson Zhai reg = <0x200000 0x100>; 1003c0e3abdSOrson Zhai interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 10115d574fbSBaolin Wang clocks = <&apapb_gate CLK_UART2_EB>, 102e2e0d455SStanislav Jakubek <&ap_clk CLK_UART2>, 103e2e0d455SStanislav Jakubek <&ext_26m>; 104e2e0d455SStanislav Jakubek clock-names = "enable", "uart", "source"; 1053c0e3abdSOrson Zhai status = "disabled"; 1063c0e3abdSOrson Zhai }; 1073c0e3abdSOrson Zhai 1083c0e3abdSOrson Zhai uart3: serial@300000 { 1093c0e3abdSOrson Zhai compatible = "sprd,sc9860-uart", 1103c0e3abdSOrson Zhai "sprd,sc9836-uart"; 1113c0e3abdSOrson Zhai reg = <0x300000 0x100>; 1123c0e3abdSOrson Zhai interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 11315d574fbSBaolin Wang clocks = <&apapb_gate CLK_UART3_EB>, 114e2e0d455SStanislav Jakubek <&ap_clk CLK_UART3>, 115e2e0d455SStanislav Jakubek <&ext_26m>; 116e2e0d455SStanislav Jakubek clock-names = "enable", "uart", "source"; 1173c0e3abdSOrson Zhai status = "disabled"; 1183c0e3abdSOrson Zhai }; 1193c0e3abdSOrson Zhai }; 1206c6fbbd1SBaolin Wang 121258e1ae6SBaolin Wang ap-ahb { 122258e1ae6SBaolin Wang compatible = "simple-bus"; 123258e1ae6SBaolin Wang #address-cells = <2>; 124258e1ae6SBaolin Wang #size-cells = <2>; 125258e1ae6SBaolin Wang ranges; 126258e1ae6SBaolin Wang 127258e1ae6SBaolin Wang ap_dma: dma-controller@20100000 { 128258e1ae6SBaolin Wang compatible = "sprd,sc9860-dma"; 129258e1ae6SBaolin Wang reg = <0 0x20100000 0 0x4000>; 130258e1ae6SBaolin Wang interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 131258e1ae6SBaolin Wang #dma-cells = <1>; 1326fe1953eSKrzysztof Kozlowski /* For backwards compatibility: */ 133258e1ae6SBaolin Wang #dma-channels = <32>; 1346fe1953eSKrzysztof Kozlowski dma-channels = <32>; 135258e1ae6SBaolin Wang clocks = <&apahb_gate CLK_DMA_EB>; 136e2e0d455SStanislav Jakubek clock-names = "enable"; 137258e1ae6SBaolin Wang }; 138c311f4ffSBaolin Wang 1390dcc2039SStanislav Jakubek sdio3: mmc@50430000 { 140c311f4ffSBaolin Wang compatible = "sprd,sdhci-r11"; 141c311f4ffSBaolin Wang reg = <0 0x50430000 0 0x1000>; 142c311f4ffSBaolin Wang interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 143c311f4ffSBaolin Wang 144c311f4ffSBaolin Wang clocks = <&aon_prediv CLK_EMMC_2X>, 145c311f4ffSBaolin Wang <&apahb_gate CLK_EMMC_EB>, 146c311f4ffSBaolin Wang <&aon_gate CLK_EMMC_2X_EN>; 147e2e0d455SStanislav Jakubek clock-names = "sdio", "enable", "2x_enable"; 148c311f4ffSBaolin Wang assigned-clocks = <&aon_prediv CLK_EMMC_2X>; 149c311f4ffSBaolin Wang assigned-clock-parents = <&clk_l0_409m6>; 150c311f4ffSBaolin Wang 151c311f4ffSBaolin Wang sprd,phy-delay-mmc-hs400 = <0x44 0x7f 0x2e 0x2e>; 152c311f4ffSBaolin Wang sprd,phy-delay-mmc-hs200 = <0x0 0x8c 0x8c 0x8c>; 153c311f4ffSBaolin Wang sprd,phy-delay-mmc-ddr52 = <0x3f 0x75 0x14 0x14>; 154c311f4ffSBaolin Wang sprd,phy-delay-mmc-hs400es = <0x3f 0x3f 0x2e 0x2e>; 155c311f4ffSBaolin Wang vmmc-supply = <&vddemmccore>; 156c311f4ffSBaolin Wang bus-width = <8>; 157c311f4ffSBaolin Wang non-removable; 158c311f4ffSBaolin Wang no-sdio; 159c311f4ffSBaolin Wang no-sd; 160c311f4ffSBaolin Wang cap-mmc-hw-reset; 161c311f4ffSBaolin Wang mmc-hs400-enhanced-strobe; 162c311f4ffSBaolin Wang mmc-hs400-1_8v; 163c311f4ffSBaolin Wang mmc-hs200-1_8v; 164c311f4ffSBaolin Wang mmc-ddr-1_8v; 165c311f4ffSBaolin Wang }; 166258e1ae6SBaolin Wang }; 167258e1ae6SBaolin Wang 1686c6fbbd1SBaolin Wang aon { 1696c6fbbd1SBaolin Wang compatible = "simple-bus"; 1706c6fbbd1SBaolin Wang #address-cells = <2>; 1716c6fbbd1SBaolin Wang #size-cells = <2>; 1726c6fbbd1SBaolin Wang ranges; 1736c6fbbd1SBaolin Wang 174e254460aSBaolin Wang adi_bus: spi@40030000 { 175e254460aSBaolin Wang compatible = "sprd,sc9860-adi"; 176e254460aSBaolin Wang reg = <0 0x40030000 0 0x10000>; 177e254460aSBaolin Wang hwlocks = <&hwlock 0>; 178e254460aSBaolin Wang hwlock-names = "adi"; 179e254460aSBaolin Wang #address-cells = <1>; 180e254460aSBaolin Wang #size-cells = <0>; 181e254460aSBaolin Wang }; 182e254460aSBaolin Wang 1830cb3dad0SBaolin Wang timer@40050000 { 1840cb3dad0SBaolin Wang compatible = "sprd,sc9860-timer"; 1850cb3dad0SBaolin Wang reg = <0 0x40050000 0 0x20>; 1860cb3dad0SBaolin Wang interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 1870cb3dad0SBaolin Wang clocks = <&ext_32k>; 1880cb3dad0SBaolin Wang }; 1890cb3dad0SBaolin Wang 190b2d94b3fSBaolin Wang timer@40050020 { 191b2d94b3fSBaolin Wang compatible = "sprd,sc9860-suspend-timer"; 192b2d94b3fSBaolin Wang reg = <0 0x40050020 0 0x20>; 193b2d94b3fSBaolin Wang clocks = <&ext_32k>; 194b2d94b3fSBaolin Wang }; 195b2d94b3fSBaolin Wang 1966c6fbbd1SBaolin Wang hwlock: hwspinlock@40500000 { 1976c6fbbd1SBaolin Wang compatible = "sprd,hwspinlock-r3p0"; 1986c6fbbd1SBaolin Wang reg = <0 0x40500000 0 0x1000>; 1996c6fbbd1SBaolin Wang #hwlock-cells = <1>; 2006c6fbbd1SBaolin Wang clocks = <&aon_gate CLK_SPLK_EB>; 201e2e0d455SStanislav Jakubek clock-names = "enable"; 2026c6fbbd1SBaolin Wang }; 203d85bcd9cSBaolin Wang 2041cea2c22SBaolin Wang eic_debounce: gpio@40210000 { 2051cea2c22SBaolin Wang compatible = "sprd,sc9860-eic-debounce"; 2061cea2c22SBaolin Wang reg = <0 0x40210000 0 0x80>; 2071cea2c22SBaolin Wang gpio-controller; 2081cea2c22SBaolin Wang #gpio-cells = <2>; 2091cea2c22SBaolin Wang interrupt-controller; 2101cea2c22SBaolin Wang #interrupt-cells = <2>; 2111cea2c22SBaolin Wang interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2121cea2c22SBaolin Wang }; 2131cea2c22SBaolin Wang 2141cea2c22SBaolin Wang eic_latch: gpio@40210080 { 2151cea2c22SBaolin Wang compatible = "sprd,sc9860-eic-latch"; 2161cea2c22SBaolin Wang reg = <0 0x40210080 0 0x20>; 2171cea2c22SBaolin Wang gpio-controller; 2181cea2c22SBaolin Wang #gpio-cells = <2>; 2191cea2c22SBaolin Wang interrupt-controller; 2201cea2c22SBaolin Wang #interrupt-cells = <2>; 2211cea2c22SBaolin Wang interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2221cea2c22SBaolin Wang }; 2231cea2c22SBaolin Wang 2241cea2c22SBaolin Wang eic_async: gpio@402100a0 { 2251cea2c22SBaolin Wang compatible = "sprd,sc9860-eic-async"; 2261cea2c22SBaolin Wang reg = <0 0x402100a0 0 0x20>; 2271cea2c22SBaolin Wang gpio-controller; 2281cea2c22SBaolin Wang #gpio-cells = <2>; 2291cea2c22SBaolin Wang interrupt-controller; 2301cea2c22SBaolin Wang #interrupt-cells = <2>; 2311cea2c22SBaolin Wang interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2321cea2c22SBaolin Wang }; 2331cea2c22SBaolin Wang 2341cea2c22SBaolin Wang eic_sync: gpio@402100c0 { 2351cea2c22SBaolin Wang compatible = "sprd,sc9860-eic-sync"; 2361cea2c22SBaolin Wang reg = <0 0x402100c0 0 0x20>; 2371cea2c22SBaolin Wang gpio-controller; 2381cea2c22SBaolin Wang #gpio-cells = <2>; 2391cea2c22SBaolin Wang interrupt-controller; 2401cea2c22SBaolin Wang #interrupt-cells = <2>; 2411cea2c22SBaolin Wang interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2421cea2c22SBaolin Wang }; 2431cea2c22SBaolin Wang 2441cea2c22SBaolin Wang ap_gpio: gpio@40280000 { 2451cea2c22SBaolin Wang compatible = "sprd,sc9860-gpio"; 2461cea2c22SBaolin Wang reg = <0 0x40280000 0 0x1000>; 2471cea2c22SBaolin Wang gpio-controller; 2481cea2c22SBaolin Wang #gpio-cells = <2>; 2491cea2c22SBaolin Wang interrupt-controller; 2501cea2c22SBaolin Wang #interrupt-cells = <2>; 2511cea2c22SBaolin Wang interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 2521cea2c22SBaolin Wang }; 2531cea2c22SBaolin Wang 254d85bcd9cSBaolin Wang pin_controller: pinctrl@402a0000 { 255d85bcd9cSBaolin Wang compatible = "sprd,sc9860-pinctrl"; 256d85bcd9cSBaolin Wang reg = <0 0x402a0000 0 0x10000>; 257d85bcd9cSBaolin Wang }; 2584f681369SBaolin Wang 2594f681369SBaolin Wang watchdog@40310000 { 2604f681369SBaolin Wang compatible = "sprd,sp9860-wdt"; 2614f681369SBaolin Wang reg = <0 0x40310000 0 0x1000>; 2624f681369SBaolin Wang interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 2634f681369SBaolin Wang timeout-sec = <12>; 26421a9883fSBaolin Wang clocks = <&aon_gate CLK_APCPU_WDG_EB>, 26521a9883fSBaolin Wang <&aon_gate CLK_AP_WDG_RTC_EB>; 266e2e0d455SStanislav Jakubek clock-names = "enable", "rtc_enable"; 2674f681369SBaolin Wang }; 2686c6fbbd1SBaolin Wang }; 269258e1ae6SBaolin Wang 270258e1ae6SBaolin Wang agcp { 271258e1ae6SBaolin Wang compatible = "simple-bus"; 272258e1ae6SBaolin Wang #address-cells = <2>; 273258e1ae6SBaolin Wang #size-cells = <2>; 274258e1ae6SBaolin Wang ranges; 275258e1ae6SBaolin Wang 276258e1ae6SBaolin Wang agcp_dma: dma-controller@41580000 { 277258e1ae6SBaolin Wang compatible = "sprd,sc9860-dma"; 278258e1ae6SBaolin Wang reg = <0 0x41580000 0 0x4000>; 279258e1ae6SBaolin Wang #dma-cells = <1>; 2806fe1953eSKrzysztof Kozlowski /* For backwards compatibility: */ 281258e1ae6SBaolin Wang #dma-channels = <32>; 2826fe1953eSKrzysztof Kozlowski dma-channels = <32>; 283258e1ae6SBaolin Wang clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>, 284258e1ae6SBaolin Wang <&agcp_gate CLK_AGCP_AP_ASHB_EB>; 285e2e0d455SStanislav Jakubek clock-names = "enable", "ashb_eb"; 286258e1ae6SBaolin Wang }; 287258e1ae6SBaolin Wang }; 2883c0e3abdSOrson Zhai }; 2893c0e3abdSOrson Zhai 29022f37a24SChunyan Zhang ext_32k: ext_32k { 29122f37a24SChunyan Zhang compatible = "fixed-clock"; 29222f37a24SChunyan Zhang #clock-cells = <0>; 29322f37a24SChunyan Zhang clock-frequency = <32768>; 29422f37a24SChunyan Zhang clock-output-names = "ext-32k"; 29522f37a24SChunyan Zhang }; 29622f37a24SChunyan Zhang 29722f37a24SChunyan Zhang ext_26m: ext_26m { 2983c0e3abdSOrson Zhai compatible = "fixed-clock"; 2993c0e3abdSOrson Zhai #clock-cells = <0>; 3003c0e3abdSOrson Zhai clock-frequency = <26000000>; 30122f37a24SChunyan Zhang clock-output-names = "ext-26m"; 30222f37a24SChunyan Zhang }; 30322f37a24SChunyan Zhang 30422f37a24SChunyan Zhang ext_rco_100m: ext_rco_100m { 30522f37a24SChunyan Zhang compatible = "fixed-clock"; 30622f37a24SChunyan Zhang #clock-cells = <0>; 30722f37a24SChunyan Zhang clock-frequency = <100000000>; 30822f37a24SChunyan Zhang clock-output-names = "ext-rco-100m"; 3093c0e3abdSOrson Zhai }; 310c311f4ffSBaolin Wang 311c311f4ffSBaolin Wang clk_l0_409m6: clk_l0_409m6 { 312c311f4ffSBaolin Wang compatible = "fixed-clock"; 313c311f4ffSBaolin Wang #clock-cells = <0>; 314c311f4ffSBaolin Wang clock-frequency = <409600000>; 315c311f4ffSBaolin Wang clock-output-names = "ext-409m6"; 316c311f4ffSBaolin Wang }; 3173c0e3abdSOrson Zhai}; 318