1*91f16700Schasinglulu// SPDX-License-Identifier: (GPL-2.0 or BSD-3-Clause) 2*91f16700Schasinglulu/* 3*91f16700Schasinglulu * Copyright (c) 2019-2020, Arm Limited. 4*91f16700Schasinglulu */ 5*91f16700Schasinglulu 6*91f16700Schasinglulu#include <dt-bindings/interrupt-controller/arm-gic.h> 7*91f16700Schasinglulu 8*91f16700Schasinglulu/ { 9*91f16700Schasinglulu interrupt-parent = <&gic>; 10*91f16700Schasinglulu #address-cells = <2>; 11*91f16700Schasinglulu #size-cells = <2>; 12*91f16700Schasinglulu 13*91f16700Schasinglulu cpus { 14*91f16700Schasinglulu #address-cells = <2>; 15*91f16700Schasinglulu #size-cells = <0>; 16*91f16700Schasinglulu 17*91f16700Schasinglulu cpu0@0 { 18*91f16700Schasinglulu compatible = "arm,neoverse-n1"; 19*91f16700Schasinglulu reg = <0x0 0x0>; 20*91f16700Schasinglulu device_type = "cpu"; 21*91f16700Schasinglulu enable-method = "psci"; 22*91f16700Schasinglulu numa-node-id = <0>; 23*91f16700Schasinglulu }; 24*91f16700Schasinglulu cpu1@100 { 25*91f16700Schasinglulu compatible = "arm,neoverse-n1"; 26*91f16700Schasinglulu reg = <0x0 0x100>; 27*91f16700Schasinglulu device_type = "cpu"; 28*91f16700Schasinglulu enable-method = "psci"; 29*91f16700Schasinglulu numa-node-id = <0>; 30*91f16700Schasinglulu }; 31*91f16700Schasinglulu cpu2@10000 { 32*91f16700Schasinglulu compatible = "arm,neoverse-n1"; 33*91f16700Schasinglulu reg = <0x0 0x10000>; 34*91f16700Schasinglulu device_type = "cpu"; 35*91f16700Schasinglulu enable-method = "psci"; 36*91f16700Schasinglulu numa-node-id = <0>; 37*91f16700Schasinglulu }; 38*91f16700Schasinglulu cpu3@10100 { 39*91f16700Schasinglulu compatible = "arm,neoverse-n1"; 40*91f16700Schasinglulu reg = <0x0 0x10100>; 41*91f16700Schasinglulu device_type = "cpu"; 42*91f16700Schasinglulu enable-method = "psci"; 43*91f16700Schasinglulu numa-node-id = <0>; 44*91f16700Schasinglulu }; 45*91f16700Schasinglulu }; 46*91f16700Schasinglulu 47*91f16700Schasinglulu pmu { 48*91f16700Schasinglulu compatible = "arm,armv8-pmuv3"; 49*91f16700Schasinglulu interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 50*91f16700Schasinglulu }; 51*91f16700Schasinglulu 52*91f16700Schasinglulu spe-pmu { 53*91f16700Schasinglulu compatible = "arm,statistical-profiling-extension-v1"; 54*91f16700Schasinglulu interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>; 55*91f16700Schasinglulu }; 56*91f16700Schasinglulu 57*91f16700Schasinglulu psci { 58*91f16700Schasinglulu compatible = "arm,psci-0.2"; 59*91f16700Schasinglulu method = "smc"; 60*91f16700Schasinglulu }; 61*91f16700Schasinglulu 62*91f16700Schasinglulu timer { 63*91f16700Schasinglulu compatible = "arm,armv8-timer"; 64*91f16700Schasinglulu interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 65*91f16700Schasinglulu <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 66*91f16700Schasinglulu <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 67*91f16700Schasinglulu <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 68*91f16700Schasinglulu }; 69*91f16700Schasinglulu 70*91f16700Schasinglulu soc_refclk100mhz: refclk100mhz { 71*91f16700Schasinglulu compatible = "fixed-clock"; 72*91f16700Schasinglulu #clock-cells = <0>; 73*91f16700Schasinglulu clock-frequency = <100000000>; 74*91f16700Schasinglulu clock-output-names = "apb_pclk"; 75*91f16700Schasinglulu }; 76*91f16700Schasinglulu 77*91f16700Schasinglulu soc_uartclk: uartclk { 78*91f16700Schasinglulu compatible = "fixed-clock"; 79*91f16700Schasinglulu #clock-cells = <0>; 80*91f16700Schasinglulu clock-frequency = <50000000>; 81*91f16700Schasinglulu clock-output-names = "uartclk"; 82*91f16700Schasinglulu }; 83*91f16700Schasinglulu 84*91f16700Schasinglulu soc { 85*91f16700Schasinglulu compatible = "arm,neoverse-n1-soc", "simple-bus"; 86*91f16700Schasinglulu #address-cells = <2>; 87*91f16700Schasinglulu #size-cells = <2>; 88*91f16700Schasinglulu ranges; 89*91f16700Schasinglulu 90*91f16700Schasinglulu gic: interrupt-controller@30000000 { 91*91f16700Schasinglulu compatible = "arm,gic-v3"; 92*91f16700Schasinglulu #address-cells = <2>; 93*91f16700Schasinglulu #interrupt-cells = <3>; 94*91f16700Schasinglulu #size-cells = <2>; 95*91f16700Schasinglulu ranges; 96*91f16700Schasinglulu interrupt-controller; 97*91f16700Schasinglulu reg = <0x0 0x30000000 0 0x10000>, /* GICD */ 98*91f16700Schasinglulu <0x0 0x300c0000 0 0x80000>; /* GICR */ 99*91f16700Schasinglulu 100*91f16700Schasinglulu interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 101*91f16700Schasinglulu 102*91f16700Schasinglulu its1: its@30040000 { 103*91f16700Schasinglulu compatible = "arm,gic-v3-its"; 104*91f16700Schasinglulu msi-controller; 105*91f16700Schasinglulu #msi-cells = <1>; 106*91f16700Schasinglulu reg = <0x0 0x30040000 0x0 0x20000>; 107*91f16700Schasinglulu }; 108*91f16700Schasinglulu 109*91f16700Schasinglulu its2: its@30060000 { 110*91f16700Schasinglulu compatible = "arm,gic-v3-its"; 111*91f16700Schasinglulu msi-controller; 112*91f16700Schasinglulu #msi-cells = <1>; 113*91f16700Schasinglulu reg = <0x0 0x30060000 0x0 0x20000>; 114*91f16700Schasinglulu }; 115*91f16700Schasinglulu 116*91f16700Schasinglulu its_ccix: its@30080000 { 117*91f16700Schasinglulu compatible = "arm,gic-v3-its"; 118*91f16700Schasinglulu msi-controller; 119*91f16700Schasinglulu #msi-cells = <1>; 120*91f16700Schasinglulu reg = <0x0 0x30080000 0x0 0x20000>; 121*91f16700Schasinglulu }; 122*91f16700Schasinglulu 123*91f16700Schasinglulu its_pcie: its@300a0000 { 124*91f16700Schasinglulu compatible = "arm,gic-v3-its"; 125*91f16700Schasinglulu msi-controller; 126*91f16700Schasinglulu #msi-cells = <1>; 127*91f16700Schasinglulu reg = <0x0 0x300a0000 0x0 0x20000>; 128*91f16700Schasinglulu }; 129*91f16700Schasinglulu }; 130*91f16700Schasinglulu 131*91f16700Schasinglulu smmu_ccix: iommu@4f000000 { 132*91f16700Schasinglulu compatible = "arm,smmu-v3"; 133*91f16700Schasinglulu reg = <0 0x4f000000 0 0x40000>; 134*91f16700Schasinglulu interrupts = <GIC_SPI 228 IRQ_TYPE_EDGE_RISING>, 135*91f16700Schasinglulu <GIC_SPI 229 IRQ_TYPE_EDGE_RISING>, 136*91f16700Schasinglulu <GIC_SPI 230 IRQ_TYPE_EDGE_RISING>; 137*91f16700Schasinglulu interrupt-names = "eventq", "cmdq-sync", "gerror"; 138*91f16700Schasinglulu msi-parent = <&its1 0>; 139*91f16700Schasinglulu #iommu-cells = <1>; 140*91f16700Schasinglulu dma-coherent; 141*91f16700Schasinglulu }; 142*91f16700Schasinglulu 143*91f16700Schasinglulu smmu_pcie: iommu@4f400000 { 144*91f16700Schasinglulu compatible = "arm,smmu-v3"; 145*91f16700Schasinglulu reg = <0 0x4f400000 0 0x40000>; 146*91f16700Schasinglulu interrupts = <GIC_SPI 235 IRQ_TYPE_EDGE_RISING>, 147*91f16700Schasinglulu <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>, 148*91f16700Schasinglulu <GIC_SPI 237 IRQ_TYPE_EDGE_RISING>; 149*91f16700Schasinglulu interrupt-names = "eventq", "cmdq-sync", "gerror"; 150*91f16700Schasinglulu msi-parent = <&its2 0>; 151*91f16700Schasinglulu #iommu-cells = <1>; 152*91f16700Schasinglulu dma-coherent; 153*91f16700Schasinglulu }; 154*91f16700Schasinglulu 155*91f16700Schasinglulu pcie_ctlr: pcie@70000000 { 156*91f16700Schasinglulu compatible = "arm,n1sdp-pcie"; 157*91f16700Schasinglulu device_type = "pci"; 158*91f16700Schasinglulu reg = <0 0x70000000 0 0x1200000>; 159*91f16700Schasinglulu bus-range = <0 17>; 160*91f16700Schasinglulu linux,pci-domain = <0>; 161*91f16700Schasinglulu #address-cells = <3>; 162*91f16700Schasinglulu #size-cells = <2>; 163*91f16700Schasinglulu dma-coherent; 164*91f16700Schasinglulu ranges = <0x01000000 0x00 0x00000000 0x00 0x75200000 0x00 0x00010000>, 165*91f16700Schasinglulu <0x02000000 0x00 0x71200000 0x00 0x71200000 0x00 0x04000000>, 166*91f16700Schasinglulu <0x42000000 0x09 0x00000000 0x09 0x00000000 0x20 0x00000000>; 167*91f16700Schasinglulu #interrupt-cells = <1>; 168*91f16700Schasinglulu interrupt-map-mask = <0 0 0 7>; 169*91f16700Schasinglulu interrupt-map = <0 0 0 1 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>, 170*91f16700Schasinglulu <0 0 0 2 &gic 0 0 0 170 IRQ_TYPE_LEVEL_HIGH>, 171*91f16700Schasinglulu <0 0 0 3 &gic 0 0 0 171 IRQ_TYPE_LEVEL_HIGH>, 172*91f16700Schasinglulu <0 0 0 4 &gic 0 0 0 172 IRQ_TYPE_LEVEL_HIGH>; 173*91f16700Schasinglulu msi-map = <0 &its_pcie 0 0x10000>; 174*91f16700Schasinglulu iommu-map = <0 &smmu_pcie 0 0x10000>; 175*91f16700Schasinglulu status = "disabled"; 176*91f16700Schasinglulu }; 177*91f16700Schasinglulu 178*91f16700Schasinglulu ccix_pcie_ctlr: pcie@68000000 { 179*91f16700Schasinglulu compatible = "arm,n1sdp-pcie"; 180*91f16700Schasinglulu device_type = "pci"; 181*91f16700Schasinglulu reg = <0 0x68000000 0 0x1200000>; 182*91f16700Schasinglulu bus-range = <0 17>; 183*91f16700Schasinglulu linux,pci-domain = <1>; 184*91f16700Schasinglulu #address-cells = <3>; 185*91f16700Schasinglulu #size-cells = <2>; 186*91f16700Schasinglulu dma-coherent; 187*91f16700Schasinglulu ranges = <0x01000000 0x00 0x00000000 0x00 0x6d200000 0x00 0x00010000>, 188*91f16700Schasinglulu <0x02000000 0x00 0x69200000 0x00 0x69200000 0x00 0x04000000>, 189*91f16700Schasinglulu <0x42000000 0x29 0x00000000 0x29 0x00000000 0x20 0x00000000>; 190*91f16700Schasinglulu #interrupt-cells = <1>; 191*91f16700Schasinglulu interrupt-map-mask = <0 0 0 7>; 192*91f16700Schasinglulu interrupt-map = <0 0 0 1 &gic 0 0 0 201 IRQ_TYPE_LEVEL_HIGH>, 193*91f16700Schasinglulu <0 0 0 2 &gic 0 0 0 202 IRQ_TYPE_LEVEL_HIGH>, 194*91f16700Schasinglulu <0 0 0 3 &gic 0 0 0 203 IRQ_TYPE_LEVEL_HIGH>, 195*91f16700Schasinglulu <0 0 0 4 &gic 0 0 0 204 IRQ_TYPE_LEVEL_HIGH>; 196*91f16700Schasinglulu msi-map = <0 &its_ccix 0 0x10000>; 197*91f16700Schasinglulu iommu-map = <0 &smmu_ccix 0 0x10000>; 198*91f16700Schasinglulu status = "disabled"; 199*91f16700Schasinglulu }; 200*91f16700Schasinglulu 201*91f16700Schasinglulu soc_uart0: serial@2a400000 { 202*91f16700Schasinglulu compatible = "arm,pl011", "arm,primecell"; 203*91f16700Schasinglulu reg = <0x0 0x2a400000 0x0 0x1000>; 204*91f16700Schasinglulu interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 205*91f16700Schasinglulu clocks = <&soc_uartclk>, <&soc_refclk100mhz>; 206*91f16700Schasinglulu clock-names = "uartclk", "apb_pclk"; 207*91f16700Schasinglulu status = "disabled"; 208*91f16700Schasinglulu }; 209*91f16700Schasinglulu }; 210*91f16700Schasinglulu}; 211