162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Spreadtrum SC9860 SoC 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright (C) 2016, Spreadtrum Communications Inc. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1262306a36Sopenharmony_ci#include "whale2.dtsi" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci cpus { 1662306a36Sopenharmony_ci #address-cells = <2>; 1762306a36Sopenharmony_ci #size-cells = <0>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci cpu-map { 2062306a36Sopenharmony_ci cluster0 { 2162306a36Sopenharmony_ci core0 { 2262306a36Sopenharmony_ci cpu = <&CPU0>; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci core1 { 2562306a36Sopenharmony_ci cpu = <&CPU1>; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci core2 { 2862306a36Sopenharmony_ci cpu = <&CPU2>; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci core3 { 3162306a36Sopenharmony_ci cpu = <&CPU3>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci cluster1 { 3662306a36Sopenharmony_ci core0 { 3762306a36Sopenharmony_ci cpu = <&CPU4>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci core1 { 4062306a36Sopenharmony_ci cpu = <&CPU5>; 4162306a36Sopenharmony_ci }; 4262306a36Sopenharmony_ci core2 { 4362306a36Sopenharmony_ci cpu = <&CPU6>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci core3 { 4662306a36Sopenharmony_ci cpu = <&CPU7>; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci CPU0: cpu@530000 { 5262306a36Sopenharmony_ci device_type = "cpu"; 5362306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 5462306a36Sopenharmony_ci reg = <0x0 0x530000>; 5562306a36Sopenharmony_ci enable-method = "psci"; 5662306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci CPU1: cpu@530001 { 6062306a36Sopenharmony_ci device_type = "cpu"; 6162306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 6262306a36Sopenharmony_ci reg = <0x0 0x530001>; 6362306a36Sopenharmony_ci enable-method = "psci"; 6462306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci CPU2: cpu@530002 { 6862306a36Sopenharmony_ci device_type = "cpu"; 6962306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 7062306a36Sopenharmony_ci reg = <0x0 0x530002>; 7162306a36Sopenharmony_ci enable-method = "psci"; 7262306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci CPU3: cpu@530003 { 7662306a36Sopenharmony_ci device_type = "cpu"; 7762306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 7862306a36Sopenharmony_ci reg = <0x0 0x530003>; 7962306a36Sopenharmony_ci enable-method = "psci"; 8062306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci CPU4: cpu@530100 { 8462306a36Sopenharmony_ci device_type = "cpu"; 8562306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 8662306a36Sopenharmony_ci reg = <0x0 0x530100>; 8762306a36Sopenharmony_ci enable-method = "psci"; 8862306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci CPU5: cpu@530101 { 9262306a36Sopenharmony_ci device_type = "cpu"; 9362306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 9462306a36Sopenharmony_ci reg = <0x0 0x530101>; 9562306a36Sopenharmony_ci enable-method = "psci"; 9662306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci CPU6: cpu@530102 { 10062306a36Sopenharmony_ci device_type = "cpu"; 10162306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 10262306a36Sopenharmony_ci reg = <0x0 0x530102>; 10362306a36Sopenharmony_ci enable-method = "psci"; 10462306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci CPU7: cpu@530103 { 10862306a36Sopenharmony_ci device_type = "cpu"; 10962306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 11062306a36Sopenharmony_ci reg = <0x0 0x530103>; 11162306a36Sopenharmony_ci enable-method = "psci"; 11262306a36Sopenharmony_ci cpu-idle-states = <&CORE_PD &CLUSTER_PD>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci idle-states{ 11762306a36Sopenharmony_ci entry-method = "psci"; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci CORE_PD: core_pd { 12062306a36Sopenharmony_ci compatible = "arm,idle-state"; 12162306a36Sopenharmony_ci entry-latency-us = <1000>; 12262306a36Sopenharmony_ci exit-latency-us = <700>; 12362306a36Sopenharmony_ci min-residency-us = <2500>; 12462306a36Sopenharmony_ci local-timer-stop; 12562306a36Sopenharmony_ci arm,psci-suspend-param = <0x00010002>; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci CLUSTER_PD: cluster_pd { 12962306a36Sopenharmony_ci compatible = "arm,idle-state"; 13062306a36Sopenharmony_ci entry-latency-us = <1000>; 13162306a36Sopenharmony_ci exit-latency-us = <1000>; 13262306a36Sopenharmony_ci min-residency-us = <3000>; 13362306a36Sopenharmony_ci local-timer-stop; 13462306a36Sopenharmony_ci arm,psci-suspend-param = <0x01010003>; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci gic: interrupt-controller@12001000 { 13962306a36Sopenharmony_ci compatible = "arm,gic-400"; 14062306a36Sopenharmony_ci reg = <0 0x12001000 0 0x1000>, 14162306a36Sopenharmony_ci <0 0x12002000 0 0x2000>, 14262306a36Sopenharmony_ci <0 0x12004000 0 0x2000>, 14362306a36Sopenharmony_ci <0 0x12006000 0 0x2000>; 14462306a36Sopenharmony_ci #interrupt-cells = <3>; 14562306a36Sopenharmony_ci interrupt-controller; 14662306a36Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) 14762306a36Sopenharmony_ci | IRQ_TYPE_LEVEL_HIGH)>; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci psci { 15162306a36Sopenharmony_ci compatible = "arm,psci-0.2"; 15262306a36Sopenharmony_ci method = "smc"; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci timer { 15662306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 15762306a36Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) 15862306a36Sopenharmony_ci | IRQ_TYPE_LEVEL_LOW)>, 15962306a36Sopenharmony_ci <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) 16062306a36Sopenharmony_ci | IRQ_TYPE_LEVEL_LOW)>, 16162306a36Sopenharmony_ci <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) 16262306a36Sopenharmony_ci | IRQ_TYPE_LEVEL_LOW)>, 16362306a36Sopenharmony_ci <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) 16462306a36Sopenharmony_ci | IRQ_TYPE_LEVEL_LOW)>; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci pmu { 16862306a36Sopenharmony_ci compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3"; 16962306a36Sopenharmony_ci interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 17062306a36Sopenharmony_ci <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 17162306a36Sopenharmony_ci <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 17262306a36Sopenharmony_ci <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 17362306a36Sopenharmony_ci <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 17462306a36Sopenharmony_ci <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, 17562306a36Sopenharmony_ci <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, 17662306a36Sopenharmony_ci <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 17762306a36Sopenharmony_ci interrupt-affinity = <&CPU0>, 17862306a36Sopenharmony_ci <&CPU1>, 17962306a36Sopenharmony_ci <&CPU2>, 18062306a36Sopenharmony_ci <&CPU3>, 18162306a36Sopenharmony_ci <&CPU4>, 18262306a36Sopenharmony_ci <&CPU5>, 18362306a36Sopenharmony_ci <&CPU6>, 18462306a36Sopenharmony_ci <&CPU7>; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci soc { 18862306a36Sopenharmony_ci pmu_gate: pmu-gate { 18962306a36Sopenharmony_ci compatible = "sprd,sc9860-pmu-gate"; 19062306a36Sopenharmony_ci sprd,syscon = <&pmu_regs>; /* 0x402b0000 */ 19162306a36Sopenharmony_ci clocks = <&ext_26m>; 19262306a36Sopenharmony_ci #clock-cells = <1>; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci pll: pll { 19662306a36Sopenharmony_ci compatible = "sprd,sc9860-pll"; 19762306a36Sopenharmony_ci sprd,syscon = <&ana_regs>; /* 0x40400000 */ 19862306a36Sopenharmony_ci clocks = <&pmu_gate 0>; 19962306a36Sopenharmony_ci #clock-cells = <1>; 20062306a36Sopenharmony_ci }; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci ap_clk: clock-controller@20000000 { 20362306a36Sopenharmony_ci compatible = "sprd,sc9860-ap-clk"; 20462306a36Sopenharmony_ci reg = <0 0x20000000 0 0x400>; 20562306a36Sopenharmony_ci clocks = <&ext_26m>, <&pll 0>, 20662306a36Sopenharmony_ci <&pmu_gate 0>; 20762306a36Sopenharmony_ci #clock-cells = <1>; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci aon_prediv: aon-prediv { 21162306a36Sopenharmony_ci compatible = "sprd,sc9860-aon-prediv"; 21262306a36Sopenharmony_ci reg = <0 0x402d0000 0 0x400>; 21362306a36Sopenharmony_ci clocks = <&ext_26m>, <&pll 0>, 21462306a36Sopenharmony_ci <&pmu_gate 0>; 21562306a36Sopenharmony_ci #clock-cells = <1>; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci apahb_gate: apahb-gate { 21962306a36Sopenharmony_ci compatible = "sprd,sc9860-apahb-gate"; 22062306a36Sopenharmony_ci sprd,syscon = <&ap_ahb_regs>; /* 0x20210000 */ 22162306a36Sopenharmony_ci clocks = <&aon_prediv 0>; 22262306a36Sopenharmony_ci #clock-cells = <1>; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci aon_gate: aon-gate { 22662306a36Sopenharmony_ci compatible = "sprd,sc9860-aon-gate"; 22762306a36Sopenharmony_ci sprd,syscon = <&aon_regs>; /* 0x402e0000 */ 22862306a36Sopenharmony_ci clocks = <&aon_prediv 0>; 22962306a36Sopenharmony_ci #clock-cells = <1>; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci aonsecure_clk: clock-controller@40880000 { 23362306a36Sopenharmony_ci compatible = "sprd,sc9860-aonsecure-clk"; 23462306a36Sopenharmony_ci reg = <0 0x40880000 0 0x400>; 23562306a36Sopenharmony_ci clocks = <&ext_26m>, <&pll 0>; 23662306a36Sopenharmony_ci #clock-cells = <1>; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci agcp_gate: agcp-gate { 24062306a36Sopenharmony_ci compatible = "sprd,sc9860-agcp-gate"; 24162306a36Sopenharmony_ci sprd,syscon = <&agcp_regs>; /* 0x415e0000 */ 24262306a36Sopenharmony_ci clocks = <&aon_prediv 0>; 24362306a36Sopenharmony_ci #clock-cells = <1>; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci gpu_clk: clock-controller@60200000 { 24762306a36Sopenharmony_ci compatible = "sprd,sc9860-gpu-clk"; 24862306a36Sopenharmony_ci reg = <0 0x60200000 0 0x400>; 24962306a36Sopenharmony_ci clocks = <&pll 0>; 25062306a36Sopenharmony_ci #clock-cells = <1>; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci vsp_clk: clock-controller@61000000 { 25462306a36Sopenharmony_ci compatible = "sprd,sc9860-vsp-clk"; 25562306a36Sopenharmony_ci reg = <0 0x61000000 0 0x400>; 25662306a36Sopenharmony_ci clocks = <&ext_26m>, <&pll 0>; 25762306a36Sopenharmony_ci #clock-cells = <1>; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci vsp_gate: vsp-gate { 26162306a36Sopenharmony_ci compatible = "sprd,sc9860-vsp-gate"; 26262306a36Sopenharmony_ci sprd,syscon = <&vsp_regs>; /* 0x61100000 */ 26362306a36Sopenharmony_ci clocks = <&vsp_clk 0>; 26462306a36Sopenharmony_ci #clock-cells = <1>; 26562306a36Sopenharmony_ci }; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci cam_clk: clock-controller@62000000 { 26862306a36Sopenharmony_ci compatible = "sprd,sc9860-cam-clk"; 26962306a36Sopenharmony_ci reg = <0 0x62000000 0 0x4000>; 27062306a36Sopenharmony_ci clocks = <&ext_26m>, <&pll 0>; 27162306a36Sopenharmony_ci #clock-cells = <1>; 27262306a36Sopenharmony_ci }; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci cam_gate: cam-gate { 27562306a36Sopenharmony_ci compatible = "sprd,sc9860-cam-gate"; 27662306a36Sopenharmony_ci sprd,syscon = <&cam_regs>; /* 0x62100000 */ 27762306a36Sopenharmony_ci clocks = <&cam_clk 0>; 27862306a36Sopenharmony_ci #clock-cells = <1>; 27962306a36Sopenharmony_ci }; 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci disp_clk: clock-controller@63000000 { 28262306a36Sopenharmony_ci compatible = "sprd,sc9860-disp-clk"; 28362306a36Sopenharmony_ci reg = <0 0x63000000 0 0x400>; 28462306a36Sopenharmony_ci clocks = <&ext_26m>, <&pll 0>; 28562306a36Sopenharmony_ci #clock-cells = <1>; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci disp_gate: disp-gate { 28962306a36Sopenharmony_ci compatible = "sprd,sc9860-disp-gate"; 29062306a36Sopenharmony_ci sprd,syscon = <&disp_regs>; /* 0x63100000 */ 29162306a36Sopenharmony_ci clocks = <&disp_clk 0>; 29262306a36Sopenharmony_ci #clock-cells = <1>; 29362306a36Sopenharmony_ci }; 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci apapb_gate: apapb-gate { 29662306a36Sopenharmony_ci compatible = "sprd,sc9860-apapb-gate"; 29762306a36Sopenharmony_ci sprd,syscon = <&ap_apb_regs>; /* 0x70b00000 */ 29862306a36Sopenharmony_ci clocks = <&ap_clk 0>; 29962306a36Sopenharmony_ci #clock-cells = <1>; 30062306a36Sopenharmony_ci }; 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci funnel@10001000 { /* SoC Funnel */ 30362306a36Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 30462306a36Sopenharmony_ci reg = <0 0x10001000 0 0x1000>; 30562306a36Sopenharmony_ci clocks = <&ext_26m>; 30662306a36Sopenharmony_ci clock-names = "apb_pclk"; 30762306a36Sopenharmony_ci out-ports { 30862306a36Sopenharmony_ci port { 30962306a36Sopenharmony_ci soc_funnel_out_port: endpoint { 31062306a36Sopenharmony_ci remote-endpoint = <&etb_in>; 31162306a36Sopenharmony_ci }; 31262306a36Sopenharmony_ci }; 31362306a36Sopenharmony_ci }; 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci in-ports { 31662306a36Sopenharmony_ci #address-cells = <1>; 31762306a36Sopenharmony_ci #size-cells = <0>; 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci port@0 { 32062306a36Sopenharmony_ci reg = <0>; 32162306a36Sopenharmony_ci soc_funnel_in_port0: endpoint { 32262306a36Sopenharmony_ci remote-endpoint = 32362306a36Sopenharmony_ci <&main_funnel_out_port>; 32462306a36Sopenharmony_ci }; 32562306a36Sopenharmony_ci }; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci port@4 { 32862306a36Sopenharmony_ci reg = <4>; 32962306a36Sopenharmony_ci soc_funnel_in_port1: endpoint { 33062306a36Sopenharmony_ci remote-endpoint = 33162306a36Sopenharmony_ci <&stm_out_port>; 33262306a36Sopenharmony_ci }; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci }; 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci etb@10003000 { 33862306a36Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 33962306a36Sopenharmony_ci reg = <0 0x10003000 0 0x1000>; 34062306a36Sopenharmony_ci clocks = <&ext_26m>; 34162306a36Sopenharmony_ci clock-names = "apb_pclk"; 34262306a36Sopenharmony_ci out-ports { 34362306a36Sopenharmony_ci port { 34462306a36Sopenharmony_ci etb_in: endpoint { 34562306a36Sopenharmony_ci remote-endpoint = 34662306a36Sopenharmony_ci <&soc_funnel_out_port>; 34762306a36Sopenharmony_ci }; 34862306a36Sopenharmony_ci }; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci stm@10006000 { 35362306a36Sopenharmony_ci compatible = "arm,coresight-stm", "arm,primecell"; 35462306a36Sopenharmony_ci reg = <0 0x10006000 0 0x1000>, 35562306a36Sopenharmony_ci <0 0x01000000 0 0x180000>; 35662306a36Sopenharmony_ci reg-names = "stm-base", "stm-stimulus-base"; 35762306a36Sopenharmony_ci clocks = <&ext_26m>; 35862306a36Sopenharmony_ci clock-names = "apb_pclk"; 35962306a36Sopenharmony_ci out-ports { 36062306a36Sopenharmony_ci port { 36162306a36Sopenharmony_ci stm_out_port: endpoint { 36262306a36Sopenharmony_ci remote-endpoint = 36362306a36Sopenharmony_ci <&soc_funnel_in_port1>; 36462306a36Sopenharmony_ci }; 36562306a36Sopenharmony_ci }; 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci funnel@11001000 { /* Cluster0 Funnel */ 37062306a36Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 37162306a36Sopenharmony_ci reg = <0 0x11001000 0 0x1000>; 37262306a36Sopenharmony_ci clocks = <&ext_26m>; 37362306a36Sopenharmony_ci clock-names = "apb_pclk"; 37462306a36Sopenharmony_ci out-ports { 37562306a36Sopenharmony_ci port { 37662306a36Sopenharmony_ci cluster0_funnel_out_port: endpoint { 37762306a36Sopenharmony_ci remote-endpoint = 37862306a36Sopenharmony_ci <&cluster0_etf_in>; 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci }; 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ci in-ports { 38462306a36Sopenharmony_ci #address-cells = <1>; 38562306a36Sopenharmony_ci #size-cells = <0>; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci port@0 { 38862306a36Sopenharmony_ci reg = <0>; 38962306a36Sopenharmony_ci cluster0_funnel_in_port0: endpoint { 39062306a36Sopenharmony_ci remote-endpoint = <&etm0_out>; 39162306a36Sopenharmony_ci }; 39262306a36Sopenharmony_ci }; 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci port@1 { 39562306a36Sopenharmony_ci reg = <1>; 39662306a36Sopenharmony_ci cluster0_funnel_in_port1: endpoint { 39762306a36Sopenharmony_ci remote-endpoint = <&etm1_out>; 39862306a36Sopenharmony_ci }; 39962306a36Sopenharmony_ci }; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci port@2 { 40262306a36Sopenharmony_ci reg = <2>; 40362306a36Sopenharmony_ci cluster0_funnel_in_port2: endpoint { 40462306a36Sopenharmony_ci remote-endpoint = <&etm2_out>; 40562306a36Sopenharmony_ci }; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci port@4 { 40962306a36Sopenharmony_ci reg = <4>; 41062306a36Sopenharmony_ci cluster0_funnel_in_port3: endpoint { 41162306a36Sopenharmony_ci remote-endpoint = <&etm3_out>; 41262306a36Sopenharmony_ci }; 41362306a36Sopenharmony_ci }; 41462306a36Sopenharmony_ci }; 41562306a36Sopenharmony_ci }; 41662306a36Sopenharmony_ci 41762306a36Sopenharmony_ci funnel@11002000 { /* Cluster1 Funnel */ 41862306a36Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 41962306a36Sopenharmony_ci reg = <0 0x11002000 0 0x1000>; 42062306a36Sopenharmony_ci clocks = <&ext_26m>; 42162306a36Sopenharmony_ci clock-names = "apb_pclk"; 42262306a36Sopenharmony_ci out-ports { 42362306a36Sopenharmony_ci port { 42462306a36Sopenharmony_ci cluster1_funnel_out_port: endpoint { 42562306a36Sopenharmony_ci remote-endpoint = 42662306a36Sopenharmony_ci <&cluster1_etf_in>; 42762306a36Sopenharmony_ci }; 42862306a36Sopenharmony_ci }; 42962306a36Sopenharmony_ci }; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci in-ports { 43262306a36Sopenharmony_ci #address-cells = <1>; 43362306a36Sopenharmony_ci #size-cells = <0>; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci port@0 { 43662306a36Sopenharmony_ci reg = <0>; 43762306a36Sopenharmony_ci cluster1_funnel_in_port0: endpoint { 43862306a36Sopenharmony_ci remote-endpoint = <&etm4_out>; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci }; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci port@1 { 44362306a36Sopenharmony_ci reg = <1>; 44462306a36Sopenharmony_ci cluster1_funnel_in_port1: endpoint { 44562306a36Sopenharmony_ci remote-endpoint = <&etm5_out>; 44662306a36Sopenharmony_ci }; 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci port@2 { 45062306a36Sopenharmony_ci reg = <2>; 45162306a36Sopenharmony_ci cluster1_funnel_in_port2: endpoint { 45262306a36Sopenharmony_ci remote-endpoint = <&etm6_out>; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci port@3 { 45762306a36Sopenharmony_ci reg = <3>; 45862306a36Sopenharmony_ci cluster1_funnel_in_port3: endpoint { 45962306a36Sopenharmony_ci remote-endpoint = <&etm7_out>; 46062306a36Sopenharmony_ci }; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci }; 46362306a36Sopenharmony_ci }; 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci etf@11003000 { /* ETF on Cluster0 */ 46662306a36Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 46762306a36Sopenharmony_ci reg = <0 0x11003000 0 0x1000>; 46862306a36Sopenharmony_ci clocks = <&ext_26m>; 46962306a36Sopenharmony_ci clock-names = "apb_pclk"; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci out-ports { 47262306a36Sopenharmony_ci port { 47362306a36Sopenharmony_ci cluster0_etf_out: endpoint { 47462306a36Sopenharmony_ci remote-endpoint = 47562306a36Sopenharmony_ci <&main_funnel_in_port0>; 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci }; 47862306a36Sopenharmony_ci }; 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci in-ports { 48162306a36Sopenharmony_ci port { 48262306a36Sopenharmony_ci cluster0_etf_in: endpoint { 48362306a36Sopenharmony_ci remote-endpoint = 48462306a36Sopenharmony_ci <&cluster0_funnel_out_port>; 48562306a36Sopenharmony_ci }; 48662306a36Sopenharmony_ci }; 48762306a36Sopenharmony_ci }; 48862306a36Sopenharmony_ci }; 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ci etf@11004000 { /* ETF on Cluster1 */ 49162306a36Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 49262306a36Sopenharmony_ci reg = <0 0x11004000 0 0x1000>; 49362306a36Sopenharmony_ci clocks = <&ext_26m>; 49462306a36Sopenharmony_ci clock-names = "apb_pclk"; 49562306a36Sopenharmony_ci 49662306a36Sopenharmony_ci out-ports { 49762306a36Sopenharmony_ci port { 49862306a36Sopenharmony_ci cluster1_etf_out: endpoint { 49962306a36Sopenharmony_ci remote-endpoint = 50062306a36Sopenharmony_ci <&main_funnel_in_port1>; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci }; 50462306a36Sopenharmony_ci 50562306a36Sopenharmony_ci in-ports { 50662306a36Sopenharmony_ci port { 50762306a36Sopenharmony_ci cluster1_etf_in: endpoint { 50862306a36Sopenharmony_ci remote-endpoint = 50962306a36Sopenharmony_ci <&cluster1_funnel_out_port>; 51062306a36Sopenharmony_ci }; 51162306a36Sopenharmony_ci }; 51262306a36Sopenharmony_ci }; 51362306a36Sopenharmony_ci }; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci funnel@11005000 { /* Main Funnel */ 51662306a36Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 51762306a36Sopenharmony_ci reg = <0 0x11005000 0 0x1000>; 51862306a36Sopenharmony_ci clocks = <&ext_26m>; 51962306a36Sopenharmony_ci clock-names = "apb_pclk"; 52062306a36Sopenharmony_ci 52162306a36Sopenharmony_ci out-ports { 52262306a36Sopenharmony_ci port { 52362306a36Sopenharmony_ci main_funnel_out_port: endpoint { 52462306a36Sopenharmony_ci remote-endpoint = 52562306a36Sopenharmony_ci <&soc_funnel_in_port0>; 52662306a36Sopenharmony_ci }; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci }; 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci in-ports { 53162306a36Sopenharmony_ci #address-cells = <1>; 53262306a36Sopenharmony_ci #size-cells = <0>; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci port@0 { 53562306a36Sopenharmony_ci reg = <0>; 53662306a36Sopenharmony_ci main_funnel_in_port0: endpoint { 53762306a36Sopenharmony_ci remote-endpoint = 53862306a36Sopenharmony_ci <&cluster0_etf_out>; 53962306a36Sopenharmony_ci }; 54062306a36Sopenharmony_ci }; 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_ci port@1 { 54362306a36Sopenharmony_ci reg = <1>; 54462306a36Sopenharmony_ci main_funnel_in_port1: endpoint { 54562306a36Sopenharmony_ci remote-endpoint = 54662306a36Sopenharmony_ci <&cluster1_etf_out>; 54762306a36Sopenharmony_ci }; 54862306a36Sopenharmony_ci }; 54962306a36Sopenharmony_ci }; 55062306a36Sopenharmony_ci }; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci etm@11440000 { 55362306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 55462306a36Sopenharmony_ci reg = <0 0x11440000 0 0x1000>; 55562306a36Sopenharmony_ci cpu = <&CPU0>; 55662306a36Sopenharmony_ci clocks = <&ext_26m>; 55762306a36Sopenharmony_ci clock-names = "apb_pclk"; 55862306a36Sopenharmony_ci 55962306a36Sopenharmony_ci out-ports { 56062306a36Sopenharmony_ci port { 56162306a36Sopenharmony_ci etm0_out: endpoint { 56262306a36Sopenharmony_ci remote-endpoint = 56362306a36Sopenharmony_ci <&cluster0_funnel_in_port0>; 56462306a36Sopenharmony_ci }; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci }; 56762306a36Sopenharmony_ci }; 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_ci etm@11540000 { 57062306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 57162306a36Sopenharmony_ci reg = <0 0x11540000 0 0x1000>; 57262306a36Sopenharmony_ci cpu = <&CPU1>; 57362306a36Sopenharmony_ci clocks = <&ext_26m>; 57462306a36Sopenharmony_ci clock-names = "apb_pclk"; 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ci out-ports { 57762306a36Sopenharmony_ci port { 57862306a36Sopenharmony_ci etm1_out: endpoint { 57962306a36Sopenharmony_ci remote-endpoint = 58062306a36Sopenharmony_ci <&cluster0_funnel_in_port1>; 58162306a36Sopenharmony_ci }; 58262306a36Sopenharmony_ci }; 58362306a36Sopenharmony_ci }; 58462306a36Sopenharmony_ci }; 58562306a36Sopenharmony_ci 58662306a36Sopenharmony_ci etm@11640000 { 58762306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 58862306a36Sopenharmony_ci reg = <0 0x11640000 0 0x1000>; 58962306a36Sopenharmony_ci cpu = <&CPU2>; 59062306a36Sopenharmony_ci clocks = <&ext_26m>; 59162306a36Sopenharmony_ci clock-names = "apb_pclk"; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci out-ports { 59462306a36Sopenharmony_ci port { 59562306a36Sopenharmony_ci etm2_out: endpoint { 59662306a36Sopenharmony_ci remote-endpoint = 59762306a36Sopenharmony_ci <&cluster0_funnel_in_port2>; 59862306a36Sopenharmony_ci }; 59962306a36Sopenharmony_ci }; 60062306a36Sopenharmony_ci }; 60162306a36Sopenharmony_ci }; 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_ci etm@11740000 { 60462306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 60562306a36Sopenharmony_ci reg = <0 0x11740000 0 0x1000>; 60662306a36Sopenharmony_ci cpu = <&CPU3>; 60762306a36Sopenharmony_ci clocks = <&ext_26m>; 60862306a36Sopenharmony_ci clock-names = "apb_pclk"; 60962306a36Sopenharmony_ci 61062306a36Sopenharmony_ci out-ports { 61162306a36Sopenharmony_ci port { 61262306a36Sopenharmony_ci etm3_out: endpoint { 61362306a36Sopenharmony_ci remote-endpoint = 61462306a36Sopenharmony_ci <&cluster0_funnel_in_port3>; 61562306a36Sopenharmony_ci }; 61662306a36Sopenharmony_ci }; 61762306a36Sopenharmony_ci }; 61862306a36Sopenharmony_ci }; 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_ci etm@11840000 { 62162306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 62262306a36Sopenharmony_ci reg = <0 0x11840000 0 0x1000>; 62362306a36Sopenharmony_ci cpu = <&CPU4>; 62462306a36Sopenharmony_ci clocks = <&ext_26m>; 62562306a36Sopenharmony_ci clock-names = "apb_pclk"; 62662306a36Sopenharmony_ci 62762306a36Sopenharmony_ci out-ports { 62862306a36Sopenharmony_ci port { 62962306a36Sopenharmony_ci etm4_out: endpoint { 63062306a36Sopenharmony_ci remote-endpoint = 63162306a36Sopenharmony_ci <&cluster1_funnel_in_port0>; 63262306a36Sopenharmony_ci }; 63362306a36Sopenharmony_ci }; 63462306a36Sopenharmony_ci }; 63562306a36Sopenharmony_ci }; 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_ci etm@11940000 { 63862306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 63962306a36Sopenharmony_ci reg = <0 0x11940000 0 0x1000>; 64062306a36Sopenharmony_ci cpu = <&CPU5>; 64162306a36Sopenharmony_ci clocks = <&ext_26m>; 64262306a36Sopenharmony_ci clock-names = "apb_pclk"; 64362306a36Sopenharmony_ci 64462306a36Sopenharmony_ci out-ports { 64562306a36Sopenharmony_ci port { 64662306a36Sopenharmony_ci etm5_out: endpoint { 64762306a36Sopenharmony_ci remote-endpoint = 64862306a36Sopenharmony_ci <&cluster1_funnel_in_port1>; 64962306a36Sopenharmony_ci }; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci }; 65262306a36Sopenharmony_ci }; 65362306a36Sopenharmony_ci 65462306a36Sopenharmony_ci etm@11a40000 { 65562306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 65662306a36Sopenharmony_ci reg = <0 0x11a40000 0 0x1000>; 65762306a36Sopenharmony_ci cpu = <&CPU6>; 65862306a36Sopenharmony_ci clocks = <&ext_26m>; 65962306a36Sopenharmony_ci clock-names = "apb_pclk"; 66062306a36Sopenharmony_ci 66162306a36Sopenharmony_ci out-ports { 66262306a36Sopenharmony_ci port { 66362306a36Sopenharmony_ci etm6_out: endpoint { 66462306a36Sopenharmony_ci remote-endpoint = 66562306a36Sopenharmony_ci <&cluster1_funnel_in_port2>; 66662306a36Sopenharmony_ci }; 66762306a36Sopenharmony_ci }; 66862306a36Sopenharmony_ci }; 66962306a36Sopenharmony_ci }; 67062306a36Sopenharmony_ci 67162306a36Sopenharmony_ci etm@11b40000 { 67262306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 67362306a36Sopenharmony_ci reg = <0 0x11b40000 0 0x1000>; 67462306a36Sopenharmony_ci cpu = <&CPU7>; 67562306a36Sopenharmony_ci clocks = <&ext_26m>; 67662306a36Sopenharmony_ci clock-names = "apb_pclk"; 67762306a36Sopenharmony_ci 67862306a36Sopenharmony_ci out-ports { 67962306a36Sopenharmony_ci port { 68062306a36Sopenharmony_ci etm7_out: endpoint { 68162306a36Sopenharmony_ci remote-endpoint = 68262306a36Sopenharmony_ci <&cluster1_funnel_in_port3>; 68362306a36Sopenharmony_ci }; 68462306a36Sopenharmony_ci }; 68562306a36Sopenharmony_ci }; 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ci gpio-keys { 68962306a36Sopenharmony_ci compatible = "gpio-keys"; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ci key-volumedown { 69262306a36Sopenharmony_ci label = "Volume Down Key"; 69362306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 69462306a36Sopenharmony_ci gpios = <&eic_debounce 2 GPIO_ACTIVE_LOW>; 69562306a36Sopenharmony_ci debounce-interval = <2>; 69662306a36Sopenharmony_ci wakeup-source; 69762306a36Sopenharmony_ci }; 69862306a36Sopenharmony_ci 69962306a36Sopenharmony_ci key-volumeup { 70062306a36Sopenharmony_ci label = "Volume Up Key"; 70162306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 70262306a36Sopenharmony_ci gpios = <&pmic_eic 10 GPIO_ACTIVE_HIGH>; 70362306a36Sopenharmony_ci debounce-interval = <2>; 70462306a36Sopenharmony_ci wakeup-source; 70562306a36Sopenharmony_ci }; 70662306a36Sopenharmony_ci 70762306a36Sopenharmony_ci key-power { 70862306a36Sopenharmony_ci label = "Power Key"; 70962306a36Sopenharmony_ci linux,code = <KEY_POWER>; 71062306a36Sopenharmony_ci gpios = <&pmic_eic 1 GPIO_ACTIVE_HIGH>; 71162306a36Sopenharmony_ci debounce-interval = <2>; 71262306a36Sopenharmony_ci wakeup-source; 71362306a36Sopenharmony_ci }; 71462306a36Sopenharmony_ci }; 71562306a36Sopenharmony_ci }; 71662306a36Sopenharmony_ci}; 717