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

sun50i-h5.dtsi (6700B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2// Copyright (C) 2016 ARM Ltd.
      3
      4#include <arm/sunxi-h3-h5.dtsi>
      5
      6#include <dt-bindings/thermal/thermal.h>
      7
      8/ {
      9	cpus {
     10		#address-cells = <1>;
     11		#size-cells = <0>;
     12
     13		cpu0: cpu@0 {
     14			compatible = "arm,cortex-a53";
     15			device_type = "cpu";
     16			reg = <0>;
     17			enable-method = "psci";
     18			clocks = <&ccu CLK_CPUX>;
     19			clock-latency-ns = <244144>; /* 8 32k periods */
     20			#cooling-cells = <2>;
     21		};
     22
     23		cpu1: cpu@1 {
     24			compatible = "arm,cortex-a53";
     25			device_type = "cpu";
     26			reg = <1>;
     27			enable-method = "psci";
     28			clocks = <&ccu CLK_CPUX>;
     29			clock-latency-ns = <244144>; /* 8 32k periods */
     30			#cooling-cells = <2>;
     31		};
     32
     33		cpu2: cpu@2 {
     34			compatible = "arm,cortex-a53";
     35			device_type = "cpu";
     36			reg = <2>;
     37			enable-method = "psci";
     38			clocks = <&ccu CLK_CPUX>;
     39			clock-latency-ns = <244144>; /* 8 32k periods */
     40			#cooling-cells = <2>;
     41		};
     42
     43		cpu3: cpu@3 {
     44			compatible = "arm,cortex-a53";
     45			device_type = "cpu";
     46			reg = <3>;
     47			enable-method = "psci";
     48			clocks = <&ccu CLK_CPUX>;
     49			clock-latency-ns = <244144>; /* 8 32k periods */
     50			#cooling-cells = <2>;
     51		};
     52	};
     53
     54	pmu {
     55		compatible = "arm,cortex-a53-pmu";
     56		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
     57			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
     58			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
     59			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
     60		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
     61	};
     62
     63	psci {
     64		compatible = "arm,psci-0.2";
     65		method = "smc";
     66	};
     67
     68	timer {
     69		compatible = "arm,armv8-timer";
     70		arm,no-tick-in-suspend;
     71		interrupts = <GIC_PPI 13
     72				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
     73			     <GIC_PPI 14
     74				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
     75			     <GIC_PPI 11
     76				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
     77			     <GIC_PPI 10
     78				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
     79	};
     80
     81	soc {
     82		syscon: system-control@1c00000 {
     83			compatible = "allwinner,sun50i-h5-system-control";
     84			reg = <0x01c00000 0x1000>;
     85			#address-cells = <1>;
     86			#size-cells = <1>;
     87			ranges;
     88
     89			sram_c1: sram@18000 {
     90				compatible = "mmio-sram";
     91				reg = <0x00018000 0x1c000>;
     92				#address-cells = <1>;
     93				#size-cells = <1>;
     94				ranges = <0 0x00018000 0x1c000>;
     95
     96				ve_sram: sram-section@0 {
     97					compatible = "allwinner,sun50i-h5-sram-c1",
     98						     "allwinner,sun4i-a10-sram-c1";
     99					reg = <0x000000 0x1c000>;
    100				};
    101			};
    102		};
    103
    104		video-codec@1c0e000 {
    105			compatible = "allwinner,sun50i-h5-video-engine";
    106			reg = <0x01c0e000 0x1000>;
    107			clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
    108				 <&ccu CLK_DRAM_VE>;
    109			clock-names = "ahb", "mod", "ram";
    110			resets = <&ccu RST_BUS_VE>;
    111			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
    112			allwinner,sram = <&ve_sram 1>;
    113		};
    114
    115		crypto: crypto@1c15000 {
    116			compatible = "allwinner,sun50i-h5-crypto";
    117			reg = <0x01c15000 0x1000>;
    118			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
    119			clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
    120			clock-names = "bus", "mod";
    121			resets = <&ccu RST_BUS_CE>;
    122		};
    123
    124		deinterlace: deinterlace@1e00000 {
    125			compatible = "allwinner,sun8i-h3-deinterlace";
    126			reg = <0x01e00000 0x20000>;
    127			clocks = <&ccu CLK_BUS_DEINTERLACE>,
    128				 <&ccu CLK_DEINTERLACE>,
    129				 <&ccu CLK_DRAM_DEINTERLACE>;
    130			clock-names = "bus", "mod", "ram";
    131			resets = <&ccu RST_BUS_DEINTERLACE>;
    132			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
    133			interconnects = <&mbus 9>;
    134			interconnect-names = "dma-mem";
    135		};
    136
    137		mali: gpu@1e80000 {
    138			compatible = "allwinner,sun50i-h5-mali", "arm,mali-450";
    139			reg = <0x01e80000 0x30000>;
    140			/*
    141			 * While the datasheet lists an interrupt for the
    142			 * PMU, the actual silicon does not have the PMU
    143			 * block. Reads all return zero, and writes are
    144			 * ignored.
    145			 */
    146			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
    147				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
    148				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
    149				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
    150				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
    151				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
    152				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
    153				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
    154				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
    155				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
    156				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
    157			interrupt-names = "gp",
    158					  "gpmmu",
    159					  "pp",
    160					  "pp0",
    161					  "ppmmu0",
    162					  "pp1",
    163					  "ppmmu1",
    164					  "pp2",
    165					  "ppmmu2",
    166					  "pp3",
    167					  "ppmmu3";
    168			clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
    169			clock-names = "bus", "core";
    170			resets = <&ccu RST_BUS_GPU>;
    171
    172			assigned-clocks = <&ccu CLK_GPU>;
    173			assigned-clock-rates = <384000000>;
    174		};
    175
    176		ths: thermal-sensor@1c25000 {
    177			compatible = "allwinner,sun50i-h5-ths";
    178			reg = <0x01c25000 0x400>;
    179			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
    180			resets = <&ccu RST_BUS_THS>;
    181			clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
    182			clock-names = "bus", "mod";
    183			nvmem-cells = <&ths_calibration>;
    184			nvmem-cell-names = "calibration";
    185			#thermal-sensor-cells = <1>;
    186		};
    187	};
    188
    189	thermal-zones {
    190		cpu_thermal: cpu-thermal {
    191			polling-delay-passive = <0>;
    192			polling-delay = <0>;
    193			thermal-sensors = <&ths 0>;
    194
    195			trips {
    196				cpu_hot_trip: cpu-hot {
    197					temperature = <80000>;
    198					hysteresis = <2000>;
    199					type = "passive";
    200				};
    201
    202				cpu_very_hot_trip: cpu-very-hot {
    203					temperature = <100000>;
    204					hysteresis = <0>;
    205					type = "critical";
    206				};
    207			};
    208
    209			cooling-maps {
    210				cpu-hot-limit {
    211					trip = <&cpu_hot_trip>;
    212					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    213							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    214							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    215							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    216				};
    217			};
    218		};
    219
    220		gpu-thermal {
    221			polling-delay-passive = <0>;
    222			polling-delay = <0>;
    223			thermal-sensors = <&ths 1>;
    224		};
    225	};
    226};
    227
    228&ccu {
    229	compatible = "allwinner,sun50i-h5-ccu";
    230};
    231
    232&display_clocks {
    233	compatible = "allwinner,sun50i-h5-de2-clk";
    234};
    235
    236&mbus {
    237	compatible = "allwinner,sun50i-h5-mbus";
    238};
    239
    240&mmc0 {
    241	compatible = "allwinner,sun50i-h5-mmc",
    242		     "allwinner,sun50i-a64-mmc";
    243	clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
    244	clock-names = "ahb", "mmc";
    245};
    246
    247&mmc1 {
    248	compatible = "allwinner,sun50i-h5-mmc",
    249		     "allwinner,sun50i-a64-mmc";
    250	clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
    251	clock-names = "ahb", "mmc";
    252};
    253
    254&mmc2 {
    255	compatible = "allwinner,sun50i-h5-emmc",
    256		     "allwinner,sun50i-a64-emmc";
    257	clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
    258	clock-names = "ahb", "mmc";
    259};
    260
    261&pio {
    262	interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
    263		     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
    264		     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
    265	compatible = "allwinner,sun50i-h5-pinctrl";
    266};
    267
    268&rtc {
    269	compatible = "allwinner,sun50i-h5-rtc";
    270};
    271
    272&sid {
    273	compatible = "allwinner,sun50i-h5-sid";
    274};