1c46388a5SZhizhou Zhang/* 2c46388a5SZhizhou Zhang * Spreadtrum SC9836 SoC DTS file 3c46388a5SZhizhou Zhang * 4c46388a5SZhizhou Zhang * Copyright (C) 2014, Spreadtrum Communications Inc. 5c46388a5SZhizhou Zhang * 6c46388a5SZhizhou Zhang * This file is licensed under a dual GPLv2 or X11 license. 7c46388a5SZhizhou Zhang */ 8c46388a5SZhizhou Zhang 9c46388a5SZhizhou Zhang#include "sharkl64.dtsi" 10c46388a5SZhizhou Zhang#include <dt-bindings/interrupt-controller/arm-gic.h> 11c46388a5SZhizhou Zhang 12c46388a5SZhizhou Zhang/ { 13c46388a5SZhizhou Zhang compatible = "sprd,sc9836"; 14c46388a5SZhizhou Zhang 15c46388a5SZhizhou Zhang cpus { 16c46388a5SZhizhou Zhang #address-cells = <2>; 17c46388a5SZhizhou Zhang #size-cells = <0>; 18c46388a5SZhizhou Zhang 19fe467ad1SChunyan Zhang cpu0: cpu@0 { 20c46388a5SZhizhou Zhang device_type = "cpu"; 2131af04cdSRob Herring compatible = "arm,cortex-a53"; 22c46388a5SZhizhou Zhang reg = <0x0 0x0>; 23c46388a5SZhizhou Zhang enable-method = "psci"; 24c46388a5SZhizhou Zhang }; 25c46388a5SZhizhou Zhang 26fe467ad1SChunyan Zhang cpu1: cpu@1 { 27c46388a5SZhizhou Zhang device_type = "cpu"; 2831af04cdSRob Herring compatible = "arm,cortex-a53"; 29c46388a5SZhizhou Zhang reg = <0x0 0x1>; 30c46388a5SZhizhou Zhang enable-method = "psci"; 31c46388a5SZhizhou Zhang }; 32c46388a5SZhizhou Zhang 33fe467ad1SChunyan Zhang cpu2: cpu@2 { 34c46388a5SZhizhou Zhang device_type = "cpu"; 3531af04cdSRob Herring compatible = "arm,cortex-a53"; 36c46388a5SZhizhou Zhang reg = <0x0 0x2>; 37c46388a5SZhizhou Zhang enable-method = "psci"; 38c46388a5SZhizhou Zhang }; 39c46388a5SZhizhou Zhang 40fe467ad1SChunyan Zhang cpu3: cpu@3 { 41c46388a5SZhizhou Zhang device_type = "cpu"; 4231af04cdSRob Herring compatible = "arm,cortex-a53"; 43c46388a5SZhizhou Zhang reg = <0x0 0x3>; 44c46388a5SZhizhou Zhang enable-method = "psci"; 45c46388a5SZhizhou Zhang }; 46c46388a5SZhizhou Zhang }; 47c46388a5SZhizhou Zhang 483341ada4SChunyan Zhang etf@10003000 { 493341ada4SChunyan Zhang compatible = "arm,coresight-tmc", "arm,primecell"; 503341ada4SChunyan Zhang reg = <0 0x10003000 0 0x1000>; 513341ada4SChunyan Zhang clocks = <&clk26mhz>; 523341ada4SChunyan Zhang clock-names = "apb_pclk"; 531a9e7796SSuzuki K Poulose in-ports { 543341ada4SChunyan Zhang port { 553341ada4SChunyan Zhang etf_in: endpoint { 563341ada4SChunyan Zhang remote-endpoint = <&funnel_out_port0>; 573341ada4SChunyan Zhang }; 583341ada4SChunyan Zhang }; 593341ada4SChunyan Zhang }; 601a9e7796SSuzuki K Poulose }; 613341ada4SChunyan Zhang 623341ada4SChunyan Zhang funnel@10001000 { 63*b8b89a84SLeo Yan compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 643341ada4SChunyan Zhang reg = <0 0x10001000 0 0x1000>; 653341ada4SChunyan Zhang clocks = <&clk26mhz>; 663341ada4SChunyan Zhang clock-names = "apb_pclk"; 673341ada4SChunyan Zhang 681a9e7796SSuzuki K Poulose out-ports { 691a9e7796SSuzuki K Poulose port { 703341ada4SChunyan Zhang funnel_out_port0: endpoint { 713341ada4SChunyan Zhang remote-endpoint = <&etf_in>; 723341ada4SChunyan Zhang }; 733341ada4SChunyan Zhang }; 741a9e7796SSuzuki K Poulose }; 753341ada4SChunyan Zhang 761a9e7796SSuzuki K Poulose in-ports { 771a9e7796SSuzuki K Poulose #address-cells = <1>; 781a9e7796SSuzuki K Poulose #size-cells = <0>; 791a9e7796SSuzuki K Poulose 801a9e7796SSuzuki K Poulose port@0 { 81fe467ad1SChunyan Zhang reg = <0>; 82fe467ad1SChunyan Zhang funnel_in_port0: endpoint { 83fe467ad1SChunyan Zhang remote-endpoint = <&etm0_out>; 84fe467ad1SChunyan Zhang }; 85fe467ad1SChunyan Zhang }; 86fe467ad1SChunyan Zhang 871a9e7796SSuzuki K Poulose port@1 { 88fe467ad1SChunyan Zhang reg = <1>; 89fe467ad1SChunyan Zhang funnel_in_port1: endpoint { 90fe467ad1SChunyan Zhang remote-endpoint = <&etm1_out>; 91fe467ad1SChunyan Zhang }; 92fe467ad1SChunyan Zhang }; 93fe467ad1SChunyan Zhang 941a9e7796SSuzuki K Poulose port@2 { 95fe467ad1SChunyan Zhang reg = <2>; 96fe467ad1SChunyan Zhang funnel_in_port2: endpoint { 97fe467ad1SChunyan Zhang remote-endpoint = <&etm2_out>; 98fe467ad1SChunyan Zhang }; 99fe467ad1SChunyan Zhang }; 100fe467ad1SChunyan Zhang 1011a9e7796SSuzuki K Poulose port@3 { 102fe467ad1SChunyan Zhang reg = <3>; 103fe467ad1SChunyan Zhang funnel_in_port3: endpoint { 104fe467ad1SChunyan Zhang remote-endpoint = <&etm3_out>; 105fe467ad1SChunyan Zhang }; 106fe467ad1SChunyan Zhang }; 107fe467ad1SChunyan Zhang 1081a9e7796SSuzuki K Poulose port@4 { 1093341ada4SChunyan Zhang reg = <4>; 1103341ada4SChunyan Zhang funnel_in_port4: endpoint { 1113341ada4SChunyan Zhang remote-endpoint = <&stm_out>; 1123341ada4SChunyan Zhang }; 1133341ada4SChunyan Zhang }; 114fe467ad1SChunyan Zhang /* Other input ports aren't connected to anyone */ 115fe467ad1SChunyan Zhang }; 116fe467ad1SChunyan Zhang }; 117fe467ad1SChunyan Zhang 118fe467ad1SChunyan Zhang etm@10440000 { 119fe467ad1SChunyan Zhang compatible = "arm,coresight-etm4x", "arm,primecell"; 120fe467ad1SChunyan Zhang reg = <0 0x10440000 0 0x1000>; 121fe467ad1SChunyan Zhang 122fe467ad1SChunyan Zhang cpu = <&cpu0>; 123fe467ad1SChunyan Zhang clocks = <&clk26mhz>; 124fe467ad1SChunyan Zhang clock-names = "apb_pclk"; 1251a9e7796SSuzuki K Poulose out-ports { 126fe467ad1SChunyan Zhang port { 127fe467ad1SChunyan Zhang etm0_out: endpoint { 128fe467ad1SChunyan Zhang remote-endpoint = <&funnel_in_port0>; 129fe467ad1SChunyan Zhang }; 130fe467ad1SChunyan Zhang }; 131fe467ad1SChunyan Zhang }; 1321a9e7796SSuzuki K Poulose }; 133fe467ad1SChunyan Zhang 134fe467ad1SChunyan Zhang etm@10540000 { 135fe467ad1SChunyan Zhang compatible = "arm,coresight-etm4x", "arm,primecell"; 136fe467ad1SChunyan Zhang reg = <0 0x10540000 0 0x1000>; 137fe467ad1SChunyan Zhang 138fe467ad1SChunyan Zhang cpu = <&cpu1>; 139fe467ad1SChunyan Zhang clocks = <&clk26mhz>; 140fe467ad1SChunyan Zhang clock-names = "apb_pclk"; 1411a9e7796SSuzuki K Poulose out-ports { 142fe467ad1SChunyan Zhang port { 143fe467ad1SChunyan Zhang etm1_out: endpoint { 144fe467ad1SChunyan Zhang remote-endpoint = <&funnel_in_port1>; 145fe467ad1SChunyan Zhang }; 146fe467ad1SChunyan Zhang }; 147fe467ad1SChunyan Zhang }; 1481a9e7796SSuzuki K Poulose }; 149fe467ad1SChunyan Zhang 150fe467ad1SChunyan Zhang etm@10640000 { 151fe467ad1SChunyan Zhang compatible = "arm,coresight-etm4x", "arm,primecell"; 152fe467ad1SChunyan Zhang reg = <0 0x10640000 0 0x1000>; 153fe467ad1SChunyan Zhang 154fe467ad1SChunyan Zhang cpu = <&cpu2>; 155fe467ad1SChunyan Zhang clocks = <&clk26mhz>; 156fe467ad1SChunyan Zhang clock-names = "apb_pclk"; 1571a9e7796SSuzuki K Poulose out-ports { 158fe467ad1SChunyan Zhang port { 159fe467ad1SChunyan Zhang etm2_out: endpoint { 160fe467ad1SChunyan Zhang remote-endpoint = <&funnel_in_port2>; 161fe467ad1SChunyan Zhang }; 162fe467ad1SChunyan Zhang }; 163fe467ad1SChunyan Zhang }; 1641a9e7796SSuzuki K Poulose }; 165fe467ad1SChunyan Zhang 166fe467ad1SChunyan Zhang etm@10740000 { 167fe467ad1SChunyan Zhang compatible = "arm,coresight-etm4x", "arm,primecell"; 168fe467ad1SChunyan Zhang reg = <0 0x10740000 0 0x1000>; 169fe467ad1SChunyan Zhang 170fe467ad1SChunyan Zhang cpu = <&cpu3>; 171fe467ad1SChunyan Zhang clocks = <&clk26mhz>; 172fe467ad1SChunyan Zhang clock-names = "apb_pclk"; 1731a9e7796SSuzuki K Poulose out-ports { 174fe467ad1SChunyan Zhang port { 175fe467ad1SChunyan Zhang etm3_out: endpoint { 176fe467ad1SChunyan Zhang remote-endpoint = <&funnel_in_port3>; 177fe467ad1SChunyan Zhang }; 1783341ada4SChunyan Zhang }; 1793341ada4SChunyan Zhang }; 1801a9e7796SSuzuki K Poulose }; 1813341ada4SChunyan Zhang 1823341ada4SChunyan Zhang stm@10006000 { 1833341ada4SChunyan Zhang compatible = "arm,coresight-stm", "arm,primecell"; 1843341ada4SChunyan Zhang reg = <0 0x10006000 0 0x1000>, 1853341ada4SChunyan Zhang <0 0x01000000 0 0x180000>; 1863341ada4SChunyan Zhang reg-names = "stm-base", "stm-stimulus-base"; 1873341ada4SChunyan Zhang clocks = <&clk26mhz>; 1883341ada4SChunyan Zhang clock-names = "apb_pclk"; 1891a9e7796SSuzuki K Poulose out-ports { 1903341ada4SChunyan Zhang port { 1913341ada4SChunyan Zhang stm_out: endpoint { 1923341ada4SChunyan Zhang remote-endpoint = <&funnel_in_port4>; 1933341ada4SChunyan Zhang }; 1943341ada4SChunyan Zhang }; 1953341ada4SChunyan Zhang }; 1961a9e7796SSuzuki K Poulose }; 1973341ada4SChunyan Zhang 198c46388a5SZhizhou Zhang gic: interrupt-controller@12001000 { 199c46388a5SZhizhou Zhang compatible = "arm,gic-400"; 200c46388a5SZhizhou Zhang reg = <0 0x12001000 0 0x1000>, 201c46388a5SZhizhou Zhang <0 0x12002000 0 0x2000>, 202c46388a5SZhizhou Zhang <0 0x12004000 0 0x2000>, 203c46388a5SZhizhou Zhang <0 0x12006000 0 0x2000>; 204c46388a5SZhizhou Zhang #interrupt-cells = <3>; 205c46388a5SZhizhou Zhang interrupt-controller; 206c46388a5SZhizhou Zhang interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 207c46388a5SZhizhou Zhang }; 208c46388a5SZhizhou Zhang 209c46388a5SZhizhou Zhang psci { 210c46388a5SZhizhou Zhang compatible = "arm,psci"; 211c46388a5SZhizhou Zhang method = "smc"; 212c46388a5SZhizhou Zhang cpu_on = <0xc4000003>; 213c46388a5SZhizhou Zhang cpu_off = <0x84000002>; 214c46388a5SZhizhou Zhang cpu_suspend = <0xc4000001>; 215c46388a5SZhizhou Zhang }; 216c46388a5SZhizhou Zhang 217c46388a5SZhizhou Zhang timer { 218c46388a5SZhizhou Zhang compatible = "arm,armv8-timer"; 219c46388a5SZhizhou Zhang interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 220c46388a5SZhizhou Zhang <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 221c46388a5SZhizhou Zhang <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 222c46388a5SZhizhou Zhang <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 223c46388a5SZhizhou Zhang }; 224c46388a5SZhizhou Zhang}; 225