cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

alpine-v3.dtsi (9496B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Copyright 2020, Amazon.com, Inc. or its affiliates. All Rights Reserved
      4 */
      5
      6/dts-v1/;
      7
      8#include <dt-bindings/interrupt-controller/arm-gic.h>
      9
     10/ {
     11	model = "Amazon's Annapurna Labs Alpine v3";
     12	compatible = "amazon,al-alpine-v3";
     13
     14	interrupt-parent = <&gic>;
     15
     16	#address-cells = <2>;
     17	#size-cells = <2>;
     18
     19	cpus {
     20		#address-cells = <1>;
     21		#size-cells = <0>;
     22
     23		cpu@0 {
     24			device_type = "cpu";
     25			compatible = "arm,cortex-a72";
     26			reg = <0x0>;
     27			enable-method = "psci";
     28			d-cache-size = <0x8000>;
     29			d-cache-line-size = <64>;
     30			d-cache-sets = <256>;
     31			i-cache-size = <0xc000>;
     32			i-cache-line-size = <64>;
     33			i-cache-sets = <256>;
     34			next-level-cache = <&cluster0_l2>;
     35		};
     36
     37		cpu@1 {
     38			device_type = "cpu";
     39			compatible = "arm,cortex-a72";
     40			reg = <0x1>;
     41			enable-method = "psci";
     42			d-cache-size = <0x8000>;
     43			d-cache-line-size = <64>;
     44			d-cache-sets = <256>;
     45			i-cache-size = <0xc000>;
     46			i-cache-line-size = <64>;
     47			i-cache-sets = <256>;
     48			next-level-cache = <&cluster0_l2>;
     49		};
     50
     51		cpu@2 {
     52			device_type = "cpu";
     53			compatible = "arm,cortex-a72";
     54			reg = <0x2>;
     55			enable-method = "psci";
     56			d-cache-size = <0x8000>;
     57			d-cache-line-size = <64>;
     58			d-cache-sets = <256>;
     59			i-cache-size = <0xc000>;
     60			i-cache-line-size = <64>;
     61			i-cache-sets = <256>;
     62			next-level-cache = <&cluster0_l2>;
     63		};
     64
     65		cpu@3 {
     66			device_type = "cpu";
     67			compatible = "arm,cortex-a72";
     68			reg = <0x3>;
     69			enable-method = "psci";
     70			d-cache-size = <0x8000>;
     71			d-cache-line-size = <64>;
     72			d-cache-sets = <256>;
     73			i-cache-size = <0xc000>;
     74			i-cache-line-size = <64>;
     75			i-cache-sets = <256>;
     76			next-level-cache = <&cluster0_l2>;
     77		};
     78
     79		cpu@100 {
     80			device_type = "cpu";
     81			compatible = "arm,cortex-a72";
     82			reg = <0x100>;
     83			enable-method = "psci";
     84			d-cache-size = <0x8000>;
     85			d-cache-line-size = <64>;
     86			d-cache-sets = <256>;
     87			i-cache-size = <0xc000>;
     88			i-cache-line-size = <64>;
     89			i-cache-sets = <256>;
     90			next-level-cache = <&cluster1_l2>;
     91		};
     92
     93		cpu@101 {
     94			device_type = "cpu";
     95			compatible = "arm,cortex-a72";
     96			reg = <0x101>;
     97			enable-method = "psci";
     98			d-cache-size = <0x8000>;
     99			d-cache-line-size = <64>;
    100			d-cache-sets = <256>;
    101			i-cache-size = <0xc000>;
    102			i-cache-line-size = <64>;
    103			i-cache-sets = <256>;
    104			next-level-cache = <&cluster1_l2>;
    105		};
    106
    107		cpu@102 {
    108			device_type = "cpu";
    109			compatible = "arm,cortex-a72";
    110			reg = <0x102>;
    111			enable-method = "psci";
    112			d-cache-size = <0x8000>;
    113			d-cache-line-size = <64>;
    114			d-cache-sets = <256>;
    115			i-cache-size = <0xc000>;
    116			i-cache-line-size = <64>;
    117			i-cache-sets = <256>;
    118			next-level-cache = <&cluster1_l2>;
    119		};
    120
    121		cpu@103 {
    122			device_type = "cpu";
    123			compatible = "arm,cortex-a72";
    124			reg = <0x103>;
    125			enable-method = "psci";
    126			d-cache-size = <0x8000>;
    127			d-cache-line-size = <64>;
    128			d-cache-sets = <256>;
    129			i-cache-size = <0xc000>;
    130			i-cache-line-size = <64>;
    131			i-cache-sets = <256>;
    132			next-level-cache = <&cluster1_l2>;
    133		};
    134
    135		cpu@200 {
    136			device_type = "cpu";
    137			compatible = "arm,cortex-a72";
    138			reg = <0x200>;
    139			enable-method = "psci";
    140			d-cache-size = <0x8000>;
    141			d-cache-line-size = <64>;
    142			d-cache-sets = <256>;
    143			i-cache-size = <0xc000>;
    144			i-cache-line-size = <64>;
    145			i-cache-sets = <256>;
    146			next-level-cache = <&cluster2_l2>;
    147		};
    148
    149		cpu@201 {
    150			device_type = "cpu";
    151			compatible = "arm,cortex-a72";
    152			reg = <0x201>;
    153			enable-method = "psci";
    154			d-cache-size = <0x8000>;
    155			d-cache-line-size = <64>;
    156			d-cache-sets = <256>;
    157			i-cache-size = <0xc000>;
    158			i-cache-line-size = <64>;
    159			i-cache-sets = <256>;
    160			next-level-cache = <&cluster2_l2>;
    161		};
    162
    163		cpu@202 {
    164			device_type = "cpu";
    165			compatible = "arm,cortex-a72";
    166			reg = <0x202>;
    167			enable-method = "psci";
    168			d-cache-size = <0x8000>;
    169			d-cache-line-size = <64>;
    170			d-cache-sets = <256>;
    171			i-cache-size = <0xc000>;
    172			i-cache-line-size = <64>;
    173			i-cache-sets = <256>;
    174			next-level-cache = <&cluster2_l2>;
    175		};
    176
    177		cpu@203 {
    178			device_type = "cpu";
    179			compatible = "arm,cortex-a72";
    180			reg = <0x203>;
    181			enable-method = "psci";
    182			d-cache-size = <0x8000>;
    183			d-cache-line-size = <64>;
    184			d-cache-sets = <256>;
    185			i-cache-size = <0xc000>;
    186			i-cache-line-size = <64>;
    187			i-cache-sets = <256>;
    188			next-level-cache = <&cluster2_l2>;
    189		};
    190
    191		cpu@300 {
    192			device_type = "cpu";
    193			compatible = "arm,cortex-a72";
    194			reg = <0x300>;
    195			enable-method = "psci";
    196			d-cache-size = <0x8000>;
    197			d-cache-line-size = <64>;
    198			d-cache-sets = <256>;
    199			i-cache-size = <0xc000>;
    200			i-cache-line-size = <64>;
    201			i-cache-sets = <256>;
    202			next-level-cache = <&cluster3_l2>;
    203		};
    204
    205		cpu@301 {
    206			device_type = "cpu";
    207			compatible = "arm,cortex-a72";
    208			reg = <0x301>;
    209			enable-method = "psci";
    210			d-cache-size = <0x8000>;
    211			d-cache-line-size = <64>;
    212			d-cache-sets = <256>;
    213			i-cache-size = <0xc000>;
    214			i-cache-line-size = <64>;
    215			i-cache-sets = <256>;
    216			next-level-cache = <&cluster3_l2>;
    217		};
    218
    219		cpu@302 {
    220			device_type = "cpu";
    221			compatible = "arm,cortex-a72";
    222			reg = <0x302>;
    223			enable-method = "psci";
    224			d-cache-size = <0x8000>;
    225			d-cache-line-size = <64>;
    226			d-cache-sets = <256>;
    227			i-cache-size = <0xc000>;
    228			i-cache-line-size = <64>;
    229			i-cache-sets = <256>;
    230			next-level-cache = <&cluster3_l2>;
    231		};
    232
    233		cpu@303 {
    234			device_type = "cpu";
    235			compatible = "arm,cortex-a72";
    236			reg = <0x303>;
    237			enable-method = "psci";
    238			d-cache-size = <0x8000>;
    239			d-cache-line-size = <64>;
    240			d-cache-sets = <256>;
    241			i-cache-size = <0xc000>;
    242			i-cache-line-size = <64>;
    243			i-cache-sets = <256>;
    244			next-level-cache = <&cluster3_l2>;
    245		};
    246
    247		cluster0_l2: cache@0 {
    248			compatible = "cache";
    249			cache-size = <0x200000>;
    250			cache-line-size = <64>;
    251			cache-sets = <2048>;
    252			cache-level = <2>;
    253		};
    254
    255		cluster1_l2: cache@100 {
    256			compatible = "cache";
    257			cache-size = <0x200000>;
    258			cache-line-size = <64>;
    259			cache-sets = <2048>;
    260			cache-level = <2>;
    261		};
    262
    263		cluster2_l2: cache@200 {
    264			compatible = "cache";
    265			cache-size = <0x200000>;
    266			cache-line-size = <64>;
    267			cache-sets = <2048>;
    268			cache-level = <2>;
    269		};
    270
    271		cluster3_l2: cache@300 {
    272			compatible = "cache";
    273			cache-size = <0x200000>;
    274			cache-line-size = <64>;
    275			cache-sets = <2048>;
    276			cache-level = <2>;
    277		};
    278
    279	};
    280
    281	reserved-memory {
    282		#address-cells = <2>;
    283		#size-cells = <2>;
    284		ranges;
    285
    286		secmon@0 {
    287			reg = <0x0 0x0 0x0 0x100000>;
    288			no-map;
    289		};
    290	};
    291
    292	psci {
    293		compatible = "arm,psci-0.2";
    294		method = "smc";
    295	};
    296
    297	timer {
    298		compatible = "arm,armv8-timer";
    299		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
    300			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
    301			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
    302			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
    303	};
    304
    305	pmu {
    306		compatible = "arm,cortex-a72-pmu";
    307		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
    308	};
    309
    310
    311	soc {
    312		compatible = "simple-bus";
    313		#address-cells = <2>;
    314		#size-cells = <2>;
    315		ranges;
    316
    317		gic: interrupt-controller@f0000000 {
    318			compatible = "arm,gic-v3";
    319			#interrupt-cells = <3>;
    320			interrupt-controller;
    321			reg = <0x0 0xf0800000 0 0x10000>,	/* GICD */
    322			      <0x0 0xf0a00000 0 0x200000>,	/* GICR */
    323			      <0x0 0xf0000000 0 0x2000>,	/* GICC */
    324			      <0x0 0xf0010000 0 0x1000>,	/* GICH */
    325			      <0x0 0xf0020000 0 0x2000>;	/* GICV */
    326			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
    327		};
    328
    329		pcie@fbd00000 {
    330			compatible = "pci-host-ecam-generic";
    331			device_type = "pci";
    332			#size-cells = <2>;
    333			#address-cells = <3>;
    334			#interrupt-cells = <1>;
    335			reg = <0x0 0xfbd00000 0x0 0x100000>;
    336			interrupt-map-mask = <0xf800 0 0 7>;
    337			/* 8 x legacy interrupts for SATA only */
    338			interrupt-map = <0x4000 0 0 1 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
    339					<0x4800 0 0 1 &gic 0 58 IRQ_TYPE_LEVEL_HIGH>,
    340					<0x5000 0 0 1 &gic 0 59 IRQ_TYPE_LEVEL_HIGH>,
    341					<0x5800 0 0 1 &gic 0 60 IRQ_TYPE_LEVEL_HIGH>,
    342					<0x6000 0 0 1 &gic 0 61 IRQ_TYPE_LEVEL_HIGH>,
    343					<0x6800 0 0 1 &gic 0 62 IRQ_TYPE_LEVEL_HIGH>,
    344					<0x7000 0 0 1 &gic 0 63 IRQ_TYPE_LEVEL_HIGH>,
    345					<0x7800 0 0 1 &gic 0 64 IRQ_TYPE_LEVEL_HIGH>;
    346			ranges = <0x02000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
    347			bus-range = <0x00 0x00>;
    348			msi-parent = <&msix>;
    349		};
    350
    351		msix: msix@fbe00000 {
    352			compatible = "al,alpine-msix";
    353			reg = <0x0 0xfbe00000 0x0 0x100000>;
    354			interrupt-controller;
    355			msi-controller;
    356			al,msi-base-spi = <336>;
    357			al,msi-num-spis = <959>;
    358			interrupt-parent = <&gic>;
    359		};
    360
    361		io-fabric {
    362			compatible = "simple-bus";
    363			#address-cells = <1>;
    364			#size-cells = <1>;
    365			ranges = <0x0 0x0 0xfc000000 0x2000000>;
    366
    367			uart0: serial@1883000 {
    368				compatible = "ns16550a";
    369				reg = <0x1883000 0x1000>;
    370				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
    371				clock-frequency = <0>; /* Filled by firmware */
    372				reg-shift = <2>;
    373				reg-io-width = <4>;
    374				status = "disabled";
    375			};
    376
    377			uart1: serial@1884000 {
    378				compatible = "ns16550a";
    379				reg = <0x1884000 0x1000>;
    380				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
    381				clock-frequency = <0>; /* Filled by firmware */
    382				reg-shift = <2>;
    383				reg-io-width = <4>;
    384				status = "disabled";
    385			};
    386
    387			uart2: serial@1885000 {
    388				compatible = "ns16550a";
    389				reg = <0x1885000 0x1000>;
    390				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
    391				clock-frequency = <0>; /* Filled by firmware */
    392				reg-shift = <2>;
    393				reg-io-width = <4>;
    394				status = "disabled";
    395			};
    396
    397			uart3: serial@1886000 {
    398				compatible = "ns16550a";
    399				reg = <0x1886000 0x1000>;
    400				interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
    401				clock-frequency = <0>; /* Filled by firmware */
    402				reg-shift = <2>;
    403				reg-io-width = <4>;
    404				status = "disabled";
    405			};
    406		};
    407	};
    408};