| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918 |
- // SPDX-License-Identifier: (GPL-2.0 OR MIT)
- /*
- * Unisoc UMS512 SoC DTS file
- *
- * Copyright (C) 2021, Unisoc Inc.
- */
- #include <dt-bindings/clock/sprd,ums512-clk.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- / {
- interrupt-parent = <&gic>;
- #address-cells = <2>;
- #size-cells = <2>;
- cpus {
- #address-cells = <2>;
- #size-cells = <0>;
- cpu-map {
- cluster0 {
- core0 {
- cpu = <&CPU0>;
- };
- core1 {
- cpu = <&CPU1>;
- };
- core2 {
- cpu = <&CPU2>;
- };
- core3 {
- cpu = <&CPU3>;
- };
- core4 {
- cpu = <&CPU4>;
- };
- core5 {
- cpu = <&CPU5>;
- };
- core6 {
- cpu = <&CPU6>;
- };
- core7 {
- cpu = <&CPU7>;
- };
- };
- };
- CPU0: cpu@0 {
- device_type = "cpu";
- compatible = "arm,cortex-a55";
- reg = <0x0 0x0>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU1: cpu@100 {
- device_type = "cpu";
- compatible = "arm,cortex-a55";
- reg = <0x0 0x100>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU2: cpu@200 {
- device_type = "cpu";
- compatible = "arm,cortex-a55";
- reg = <0x0 0x200>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU3: cpu@300 {
- device_type = "cpu";
- compatible = "arm,cortex-a55";
- reg = <0x0 0x300>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU4: cpu@400 {
- device_type = "cpu";
- compatible = "arm,cortex-a55";
- reg = <0x0 0x400>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU5: cpu@500 {
- device_type = "cpu";
- compatible = "arm,cortex-a55";
- reg = <0x0 0x500>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU6: cpu@600 {
- device_type = "cpu";
- compatible = "arm,cortex-a75";
- reg = <0x0 0x600>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- CPU7: cpu@700 {
- device_type = "cpu";
- compatible = "arm,cortex-a75";
- reg = <0x0 0x700>;
- enable-method = "psci";
- cpu-idle-states = <&CORE_PD>;
- };
- };
- idle-states {
- entry-method = "psci";
- CORE_PD: cpu-pd {
- compatible = "arm,idle-state";
- entry-latency-us = <4000>;
- exit-latency-us = <4000>;
- min-residency-us = <10000>;
- local-timer-stop;
- arm,psci-suspend-param = <0x00010000>;
- };
- };
- psci {
- compatible = "arm,psci-0.2";
- method = "smc";
- };
- timer {
- compatible = "arm,armv8-timer";
- interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, /* Physical Secure PPI */
- <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, /* Physical Non-Secure PPI */
- <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, /* Virtual PPI */
- <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; /* Hipervisor PPI */
- };
- pmu-a55 {
- compatible = "arm,cortex-a55-pmu";
- interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-affinity = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>;
- };
- pmu-a75 {
- compatible = "arm,cortex-a75-pmu";
- interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-affinity = <&CPU6>, <&CPU7>;
- };
- soc: soc {
- compatible = "simple-bus";
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
- gic: interrupt-controller@12000000 {
- compatible = "arm,gic-v3";
- reg = <0x0 0x12000000 0 0x20000>, /* GICD */
- <0x0 0x12040000 0 0x100000>; /* GICR */
- #interrupt-cells = <3>;
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
- redistributor-stride = <0x0 0x20000>; /* 128KB stride */
- #redistributor-regions = <1>;
- interrupt-controller;
- interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
- };
- ap_ahb_regs: syscon@20100000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x20100000 0 0x4000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x20100000 0x4000>;
- apahb_gate: clock-controller@0 {
- compatible = "sprd,ums512-apahb-gate";
- reg = <0x0 0x3000>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- };
- pub_apb_regs: syscon@31050000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x31050000 0 0x9000>;
- };
- top_dvfs_apb_regs: syscon@322a0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x322a0000 0 0x8000>;
- };
- ap_intc0_regs: syscon@32310000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32310000 0 0x1000>;
- };
- ap_intc1_regs: syscon@32320000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32320000 0 0x1000>;
- };
- ap_intc2_regs: syscon@32330000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32330000 0 0x1000>;
- };
- ap_intc3_regs: syscon@32340000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32340000 0 0x1000>;
- };
- ap_intc4_regs: syscon@32350000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32350000 0 0x1000>;
- };
- ap_intc5_regs: syscon@32360000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32360000 0 0x1000>;
- };
- anlg_phy_g0_regs: syscon@32390000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x32390000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x32390000 0x3000>;
- dpll0: clock-controller@0 {
- compatible = "sprd,ums512-g0-pll";
- reg = <0x0 0x100>;
- #clock-cells = <1>;
- };
- };
- anlg_phy_g2_regs: syscon@323b0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x323b0000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x323b0000 0x3000>;
- mpll1: clock-controller@0 {
- compatible = "sprd,ums512-g2-pll";
- reg = <0x0 0x100>;
- #clock-cells = <1>;
- };
- };
- anlg_phy_g3_regs: syscon@323c0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x323c0000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x323c0000 0x3000>;
- pll1: clock-controller@0 {
- compatible = "sprd,ums512-g3-pll";
- reg = <0x0 0x3000>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- };
- anlg_phy_gc_regs: syscon@323e0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x323e0000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x323e0000 0x3000>;
- pll2: clock-controller@0 {
- compatible = "sprd,ums512-gc-pll";
- reg = <0x0 0x100>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- };
- anlg_phy_g10_regs: syscon@323f0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x323f0000 0 0x3000>;
- };
- aon_apb_regs: syscon@327d0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x327d0000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x327d0000 0x3000>;
- aonapb_gate: clock-controller@0 {
- compatible = "sprd,ums512-aon-gate";
- reg = <0x0 0x3000>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- };
- pmu_apb_regs: syscon@327e0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x327e0000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x327e0000 0x3000>;
- pmu_gate: clock-controller@0 {
- compatible = "sprd,ums512-pmu-gate";
- reg = <0x0 0x3000>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- };
- audcp_apb_regs: syscon@3350d000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x3350d000 0 0x1000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x3350d000 0x1000>;
- audcpapb_gate: clock-controller@0 {
- compatible = "sprd,ums512-audcpapb-gate";
- reg = <0x0 0x300>;
- #clock-cells = <1>;
- };
- };
- audcp_ahb_regs: syscon@335e0000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x335e0000 0 0x1000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x335e0000 0x1000>;
- audcpahb_gate: clock-controller@0 {
- compatible = "sprd,ums512-audcpahb-gate";
- reg = <0x0 0x300>;
- #clock-cells = <1>;
- };
- };
- gpu_apb_regs: syscon@60100000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x60100000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x60100000 0x3000>;
- gpu_clk: clock-controller@0 {
- compatible = "sprd,ums512-gpu-clk";
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- reg = <0x0 0x100>;
- #clock-cells = <1>;
- };
- };
- gpu_dvfs_apb_regs: syscon@60110000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x60110000 0 0x3000>;
- };
- mm_ahb_regs: syscon@62200000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x62200000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x62200000 0x3000>;
- mm_gate: clock-controller@0 {
- compatible = "sprd,ums512-mm-gate-clk";
- reg = <0x0 0x3000>;
- #clock-cells = <1>;
- };
- };
- ap_apb_regs: syscon@71000000 {
- compatible = "sprd,ums512-glbregs", "syscon",
- "simple-mfd";
- reg = <0 0x71000000 0 0x3000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x71000000 0x3000>;
- apapb_gate: clock-controller@0 {
- compatible = "sprd,ums512-apapb-gate";
- reg = <0x0 0x3000>;
- #clock-cells = <1>;
- };
- };
- ap_clk: clock-controller@20200000 {
- compatible = "sprd,ums512-ap-clk";
- reg = <0 0x20200000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- aon_clk: clock-controller@32080000 {
- compatible = "sprd,ums512-aonapb-clk";
- reg = <0 0x32080000 0 0x1000>;
- clocks = <&ext_26m>, <&ext_32k>,
- <&ext_4m>, <&rco_100m>;
- clock-names = "ext-26m", "ext-32k",
- "ext-4m", "rco-100m";
- #clock-cells = <1>;
- };
- mm_clk: clock-controller@62100000 {
- compatible = "sprd,ums512-mm-clk";
- reg = <0 0x62100000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "ext-26m";
- #clock-cells = <1>;
- };
- /* SoC Funnel */
- funnel@3c002000 {
- compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
- reg = <0 0x3c002000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- funnel_soc_out_port: endpoint {
- remote-endpoint = <&etb_in>;
- };
- };
- };
- in-ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@1 {
- reg = <1>;
- funnel_soc_in_port: endpoint {
- remote-endpoint =
- <&funnel_corinth_out_port>;
- };
- };
- };
- };
- /* SoC ETF */
- soc_etb: etb@3c003000 {
- compatible = "arm,coresight-tmc", "arm,primecell";
- reg = <0 0x3c003000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- in-ports {
- port {
- etb_in: endpoint {
- remote-endpoint =
- <&funnel_soc_out_port>;
- };
- };
- };
- };
- /* AP-CPU Funnel for core3/4/5/7 */
- funnel@3e001000 {
- compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
- reg = <0 0x3e001000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- funnel_corinth_lit_out_port: endpoint {
- remote-endpoint =
- <&corinth_etf_lit_in>;
- };
- };
- };
- in-ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- funnel_core_in_port3: endpoint {
- remote-endpoint = <&etm3_out>;
- };
- };
- port@1 {
- reg = <1>;
- funnel_core_in_port4: endpoint {
- remote-endpoint = <&etm4_out>;
- };
- };
- port@2 {
- reg = <2>;
- funnel_core_in_port5: endpoint {
- remote-endpoint = <&etm5_out>;
- };
- };
- port@3 {
- reg = <3>;
- funnel_core_in_port7: endpoint {
- remote-endpoint = <&etm7_out>;
- };
- };
- };
- };
- /* AP-CPU ETF for little cores */
- etf@3e002000 {
- compatible = "arm,coresight-tmc", "arm,primecell";
- reg = <0 0x3e002000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- corinth_etf_lit_out: endpoint {
- remote-endpoint =
- <&funnel_corinth_from_lit_in_port>;
- };
- };
- };
- in-ports {
- port {
- corinth_etf_lit_in: endpoint {
- remote-endpoint =
- <&funnel_corinth_lit_out_port>;
- };
- };
- };
- };
- /* AP-CPU ETF for big cores */
- etf@3e003000 {
- compatible = "arm,coresight-tmc", "arm,primecell";
- reg = <0 0x3e003000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- corinth_etf_big_out: endpoint {
- remote-endpoint =
- <&funnel_corinth_from_big_in_port>;
- };
- };
- };
- in-ports {
- port {
- corinth_etf_big_in: endpoint {
- remote-endpoint =
- <&funnel_corinth_big_out_port>;
- };
- };
- };
- };
- /* Funnel to SoC */
- funnel@3e004000 {
- compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
- reg = <0 0x3e004000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- funnel_corinth_out_port: endpoint {
- remote-endpoint =
- <&funnel_soc_in_port>;
- };
- };
- };
- in-ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- funnel_corinth_from_lit_in_port: endpoint {
- remote-endpoint = <&corinth_etf_lit_out>;
- };
- };
- port@1 {
- reg = <1>;
- funnel_corinth_from_big_in_port: endpoint {
- remote-endpoint = <&corinth_etf_big_out>;
- };
- };
- };
- };
- /* AP-CPU Funnel for core0/1/2/6 */
- funnel@3e005000 {
- compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
- reg = <0 0x3e005000 0 0x1000>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- funnel_corinth_big_out_port: endpoint {
- remote-endpoint = <&corinth_etf_big_in>;
- };
- };
- };
- in-ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- funnel_core_in_port0: endpoint {
- remote-endpoint = <&etm0_out>;
- };
- };
- port@1 {
- reg = <1>;
- funnel_core_in_port1: endpoint {
- remote-endpoint = <&etm1_out>;
- };
- };
- port@2 {
- reg = <2>;
- funnel_core_in_port2: endpoint {
- remote-endpoint = <&etm2_out>;
- };
- };
- port@3 {
- reg = <3>;
- funnel_core_in_port6: endpoint {
- remote-endpoint = <&etm6_out>;
- };
- };
- };
- };
- etm0: etm@3f040000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f040000 0 0x1000>;
- cpu = <&CPU0>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm0_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port0>;
- };
- };
- };
- };
- etm1: etm@3f140000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f140000 0 0x1000>;
- cpu = <&CPU1>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm1_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port1>;
- };
- };
- };
- };
- etm2: etm@3f240000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f240000 0 0x1000>;
- cpu = <&CPU2>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm2_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port2>;
- };
- };
- };
- };
- etm3: etm@3f340000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f340000 0 0x1000>;
- cpu = <&CPU3>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm3_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port3>;
- };
- };
- };
- };
- etm4: etm@3f440000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f440000 0 0x1000>;
- cpu = <&CPU4>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm4_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port4>;
- };
- };
- };
- };
- etm5: etm@3f540000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f540000 0 0x1000>;
- cpu = <&CPU5>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm5_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port5>;
- };
- };
- };
- };
- etm6: etm@3f640000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f640000 0 0x1000>;
- cpu = <&CPU6>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm6_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port6>;
- };
- };
- };
- };
- etm7: etm@3f740000 {
- compatible = "arm,coresight-etm4x", "arm,primecell";
- reg = <0 0x3f740000 0 0x1000>;
- cpu = <&CPU7>;
- clocks = <&ext_26m>;
- clock-names = "apb_pclk";
- out-ports {
- port {
- etm7_out: endpoint {
- remote-endpoint =
- <&funnel_core_in_port7>;
- };
- };
- };
- };
- apb@70000000 {
- compatible = "simple-bus";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0x0 0x70000000 0x10000000>;
- uart0: serial@0 {
- compatible = "sprd,ums512-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,ums512-uart",
- "sprd,sc9836-uart";
- reg = <0x100000 0x100>;
- interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ext_26m>;
- status = "disabled";
- };
- sdio0: mmc@1100000 {
- compatible = "sprd,sdhci-r11";
- reg = <0x1100000 0x1000>;
- interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ap_clk CLK_SDIO0_2X>,
- <&apapb_gate CLK_SDIO0_EB>;
- clock-names = "sdio", "enable";
- assigned-clocks = <&ap_clk CLK_SDIO0_2X>;
- assigned-clock-parents = <&pll1 CLK_RPLL>;
- status = "disabled";
- };
- sdio3: mmc@1400000 {
- compatible = "sprd,sdhci-r11";
- reg = <0x1400000 0x1000>;
- interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ap_clk CLK_EMMC_2X>,
- <&apapb_gate CLK_EMMC_EB>;
- clock-names = "sdio", "enable";
- assigned-clocks = <&ap_clk CLK_EMMC_2X>;
- assigned-clock-parents = <&pll1 CLK_RPLL>;
- status = "disabled";
- };
- };
- aon: bus@32000000 {
- compatible = "simple-bus";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0x0 0x32000000 0x1000000>;
- adi_bus: spi@100000 {
- compatible = "sprd,ums512-adi";
- reg = <0x100000 0x100000>;
- #address-cells = <1>;
- #size-cells = <0>;
- sprd,hw-channels = <2 0x18cc>, <3 0x18cc>, <13 0x1854>, <15 0x1874>,
- <17 0x1844>,<19 0x1844>, <21 0x1864>, <30 0x1820>,
- <35 0x19b8>, <39 0x19ac>;
- };
- };
- };
- ext_26m: clk-26m {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <26000000>;
- clock-output-names = "ext-26m";
- };
- ext_32k: clk-32k {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <32768>;
- clock-output-names = "ext-32k";
- };
- ext_4m: clk-4m {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <4000000>;
- clock-output-names = "ext-4m";
- };
- rco_100m: clk-100m {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <100000000>;
- clock-output-names = "rco-100m";
- };
- };
|