1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * dtsi file for Cavium ThunderX2 CN99XX processor 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2017 Cavium Inc. 6*4882a593Smuzhiyun * Copyright (c) 2013-2016 Broadcom 7*4882a593Smuzhiyun * Author: Zi Shen Lim <zlim@broadcom.com> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/ { 13*4882a593Smuzhiyun model = "Cavium ThunderX2 CN99XX"; 14*4882a593Smuzhiyun compatible = "cavium,thunderx2-cn9900", "brcm,vulcan-soc"; 15*4882a593Smuzhiyun interrupt-parent = <&gic>; 16*4882a593Smuzhiyun #address-cells = <2>; 17*4882a593Smuzhiyun #size-cells = <2>; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* just 4 cpus now, 128 needed in full config */ 20*4882a593Smuzhiyun cpus { 21*4882a593Smuzhiyun #address-cells = <0x2>; 22*4882a593Smuzhiyun #size-cells = <0x0>; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun cpu@0 { 25*4882a593Smuzhiyun device_type = "cpu"; 26*4882a593Smuzhiyun compatible = "cavium,thunder2", "brcm,vulcan"; 27*4882a593Smuzhiyun reg = <0x0 0x0>; 28*4882a593Smuzhiyun enable-method = "psci"; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun cpu@1 { 32*4882a593Smuzhiyun device_type = "cpu"; 33*4882a593Smuzhiyun compatible = "cavium,thunder2", "brcm,vulcan"; 34*4882a593Smuzhiyun reg = <0x0 0x1>; 35*4882a593Smuzhiyun enable-method = "psci"; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun cpu@2 { 39*4882a593Smuzhiyun device_type = "cpu"; 40*4882a593Smuzhiyun compatible = "cavium,thunder2", "brcm,vulcan"; 41*4882a593Smuzhiyun reg = <0x0 0x2>; 42*4882a593Smuzhiyun enable-method = "psci"; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun cpu@3 { 46*4882a593Smuzhiyun device_type = "cpu"; 47*4882a593Smuzhiyun compatible = "cavium,thunder2", "brcm,vulcan"; 48*4882a593Smuzhiyun reg = <0x0 0x3>; 49*4882a593Smuzhiyun enable-method = "psci"; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun psci { 54*4882a593Smuzhiyun compatible = "arm,psci-0.2"; 55*4882a593Smuzhiyun method = "smc"; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun gic: interrupt-controller@400080000 { 59*4882a593Smuzhiyun compatible = "arm,gic-v3"; 60*4882a593Smuzhiyun #interrupt-cells = <3>; 61*4882a593Smuzhiyun #address-cells = <2>; 62*4882a593Smuzhiyun #size-cells = <2>; 63*4882a593Smuzhiyun ranges; 64*4882a593Smuzhiyun interrupt-controller; 65*4882a593Smuzhiyun #redistributor-regions = <1>; 66*4882a593Smuzhiyun reg = <0x04 0x00080000 0x0 0x20000>, /* GICD */ 67*4882a593Smuzhiyun <0x04 0x01000000 0x0 0x1000000>; /* GICR */ 68*4882a593Smuzhiyun interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun gicits: gic-its@40010000 { 71*4882a593Smuzhiyun compatible = "arm,gic-v3-its"; 72*4882a593Smuzhiyun msi-controller; 73*4882a593Smuzhiyun reg = <0x04 0x00100000 0x0 0x20000>; /* GIC ITS */ 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun timer { 78*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 79*4882a593Smuzhiyun interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 80*4882a593Smuzhiyun <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 81*4882a593Smuzhiyun <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 82*4882a593Smuzhiyun <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun pmu { 86*4882a593Smuzhiyun compatible = "brcm,vulcan-pmu", "arm,armv8-pmuv3"; 87*4882a593Smuzhiyun interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; /* PMU overflow */ 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun clk125mhz: uart_clk125mhz { 91*4882a593Smuzhiyun compatible = "fixed-clock"; 92*4882a593Smuzhiyun #clock-cells = <0>; 93*4882a593Smuzhiyun clock-frequency = <125000000>; 94*4882a593Smuzhiyun clock-output-names = "clk125mhz"; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun pcie@30000000 { 98*4882a593Smuzhiyun compatible = "pci-host-ecam-generic"; 99*4882a593Smuzhiyun device_type = "pci"; 100*4882a593Smuzhiyun #interrupt-cells = <1>; 101*4882a593Smuzhiyun #address-cells = <3>; 102*4882a593Smuzhiyun #size-cells = <2>; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun /* ECAM at 0x3000_0000 - 0x4000_0000 */ 105*4882a593Smuzhiyun reg = <0x0 0x30000000 0x0 0x10000000>; 106*4882a593Smuzhiyun reg-names = "PCI ECAM"; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* 109*4882a593Smuzhiyun * PCI ranges: 110*4882a593Smuzhiyun * IO no supported 111*4882a593Smuzhiyun * MEM 0x4000_0000 - 0x6000_0000 112*4882a593Smuzhiyun * MEM64 pref 0x40_0000_0000 - 0x60_0000_0000 113*4882a593Smuzhiyun */ 114*4882a593Smuzhiyun ranges = 115*4882a593Smuzhiyun <0x02000000 0 0x40000000 0 0x40000000 0 0x20000000 116*4882a593Smuzhiyun 0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>; 117*4882a593Smuzhiyun bus-range = <0 0xff>; 118*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 119*4882a593Smuzhiyun interrupt-map = 120*4882a593Smuzhiyun /* addr pin ic icaddr icintr */ 121*4882a593Smuzhiyun <0 0 0 1 &gic 0 0 GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH 122*4882a593Smuzhiyun 0 0 0 2 &gic 0 0 GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 123*4882a593Smuzhiyun 0 0 0 3 &gic 0 0 GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH 124*4882a593Smuzhiyun 0 0 0 4 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 125*4882a593Smuzhiyun msi-parent = <&gicits>; 126*4882a593Smuzhiyun dma-coherent; 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun soc { 130*4882a593Smuzhiyun compatible = "simple-bus"; 131*4882a593Smuzhiyun #address-cells = <2>; 132*4882a593Smuzhiyun #size-cells = <2>; 133*4882a593Smuzhiyun ranges; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun uart0: serial@402020000 { 136*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 137*4882a593Smuzhiyun reg = <0x04 0x02020000 0x0 0x1000>; 138*4882a593Smuzhiyun interrupt-parent = <&gic>; 139*4882a593Smuzhiyun interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 140*4882a593Smuzhiyun clocks = <&clk125mhz>; 141*4882a593Smuzhiyun clock-names = "apb_pclk"; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun}; 146