123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- /*
- * Spreadtrum Whale2 platform peripherals
- *
- * Copyright (C) 2016, Spreadtrum Communications Inc.
- *
- * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
- */
- #include <dt-bindings/clock/sprd,sc9860-clk.h>
- / {
- interrupt-parent = <&gic>;
- #address-cells = <2>;
- #size-cells = <2>;
- soc: soc {
- compatible = "simple-bus";
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
- ap_ahb_regs: syscon@20210000 {
- compatible = "syscon";
- reg = <0 0x20210000 0 0x10000>;
- };
- pmu_regs: syscon@402b0000 {
- compatible = "syscon";
- reg = <0 0x402b0000 0 0x10000>;
- };
- aon_regs: syscon@402e0000 {
- compatible = "syscon";
- reg = <0 0x402e0000 0 0x10000>;
- };
- ana_regs: syscon@40400000 {
- compatible = "syscon";
- reg = <0 0x40400000 0 0x10000>;
- };
- agcp_regs: syscon@415e0000 {
- compatible = "syscon";
- reg = <0 0x415e0000 0 0x1000000>;
- };
- vsp_regs: syscon@61100000 {
- compatible = "syscon";
- reg = <0 0x61100000 0 0x10000>;
- };
- cam_regs: syscon@62100000 {
- compatible = "syscon";
- reg = <0 0x62100000 0 0x10000>;
- };
- disp_regs: syscon@63100000 {
- compatible = "syscon";
- reg = <0 0x63100000 0 0x10000>;
- };
- ap_apb_regs: syscon@70b00000 {
- compatible = "syscon";
- reg = <0 0x70b00000 0 0x40000>;
- };
- ap-apb {
- compatible = "simple-bus";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0x0 0x70000000 0x10000000>;
- uart0: serial@0 {
- compatible = "sprd,sc9860-uart",
- "sprd,sc9836-uart";
- reg = <0x0 0x100>;
- interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ext_26m>;
- status = "disabled";
- };
- uart1: serial@100000 {
- compatible = "sprd,sc9860-uart",
- "sprd,sc9836-uart";
- reg = <0x100000 0x100>;
- interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ext_26m>;
- status = "disabled";
- };
- uart2: serial@200000 {
- compatible = "sprd,sc9860-uart",
- "sprd,sc9836-uart";
- reg = <0x200000 0x100>;
- interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ext_26m>;
- status = "disabled";
- };
- uart3: serial@300000 {
- compatible = "sprd,sc9860-uart",
- "sprd,sc9836-uart";
- reg = <0x300000 0x100>;
- interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ext_26m>;
- status = "disabled";
- };
- };
- ap-ahb {
- compatible = "simple-bus";
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
- ap_dma: dma-controller@20100000 {
- compatible = "sprd,sc9860-dma";
- reg = <0 0x20100000 0 0x4000>;
- interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
- #dma-cells = <1>;
- #dma-channels = <32>;
- clock-names = "enable";
- clocks = <&apahb_gate CLK_DMA_EB>;
- };
- };
- aon {
- compatible = "simple-bus";
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
- adi_bus: spi@40030000 {
- compatible = "sprd,sc9860-adi";
- reg = <0 0x40030000 0 0x10000>;
- hwlocks = <&hwlock 0>;
- hwlock-names = "adi";
- #address-cells = <1>;
- #size-cells = <0>;
- };
- timer@40050000 {
- compatible = "sprd,sc9860-timer";
- reg = <0 0x40050000 0 0x20>;
- interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ext_32k>;
- };
- timer@40050020 {
- compatible = "sprd,sc9860-suspend-timer";
- reg = <0 0x40050020 0 0x20>;
- clocks = <&ext_32k>;
- };
- hwlock: hwspinlock@40500000 {
- compatible = "sprd,hwspinlock-r3p0";
- reg = <0 0x40500000 0 0x1000>;
- #hwlock-cells = <1>;
- clock-names = "enable";
- clocks = <&aon_gate CLK_SPLK_EB>;
- };
- eic_debounce: gpio@40210000 {
- compatible = "sprd,sc9860-eic-debounce";
- reg = <0 0x40210000 0 0x80>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
- };
- eic_latch: gpio@40210080 {
- compatible = "sprd,sc9860-eic-latch";
- reg = <0 0x40210080 0 0x20>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
- };
- eic_async: gpio@402100a0 {
- compatible = "sprd,sc9860-eic-async";
- reg = <0 0x402100a0 0 0x20>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
- };
- eic_sync: gpio@402100c0 {
- compatible = "sprd,sc9860-eic-sync";
- reg = <0 0x402100c0 0 0x20>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
- };
- ap_gpio: gpio@40280000 {
- compatible = "sprd,sc9860-gpio";
- reg = <0 0x40280000 0 0x1000>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
- };
- pin_controller: pinctrl@402a0000 {
- compatible = "sprd,sc9860-pinctrl";
- reg = <0 0x402a0000 0 0x10000>;
- };
- watchdog@40310000 {
- compatible = "sprd,sp9860-wdt";
- reg = <0 0x40310000 0 0x1000>;
- interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
- timeout-sec = <12>;
- clock-names = "enable", "rtc_enable";
- clocks = <&aon_gate CLK_APCPU_WDG_EB>,
- <&aon_gate CLK_AP_WDG_RTC_EB>;
- };
- };
- agcp {
- compatible = "simple-bus";
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
- agcp_dma: dma-controller@41580000 {
- compatible = "sprd,sc9860-dma";
- reg = <0 0x41580000 0 0x4000>;
- #dma-cells = <1>;
- #dma-channels = <32>;
- clock-names = "enable", "ashb_eb";
- clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>,
- <&agcp_gate CLK_AGCP_AP_ASHB_EB>;
- };
- };
- };
- ext_32k: ext_32k {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <32768>;
- clock-output-names = "ext-32k";
- };
- ext_26m: ext_26m {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <26000000>;
- clock-output-names = "ext-26m";
- };
- ext_rco_100m: ext_rco_100m {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <100000000>;
- clock-output-names = "ext-rco-100m";
- };
- };
|