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/ { 7 cpus { 8 #address-cells = <1>; 9 #size-cells = <0>; 10 11 cpu0: cpu@0 { 12 compatible = "arm,cortex-a53"; 13 device_type = "cpu"; 14 reg = <0>; 15 enable-method = "psci"; 16 }; 17 18 cpu1: cpu@1 { 19 compatible = "arm,cortex-a53"; 20 device_type = "cpu"; 21 reg = <1>; 22 enable-method = "psci"; 23 }; 24 25 cpu2: cpu@2 { 26 compatible = "arm,cortex-a53"; 27 device_type = "cpu"; 28 reg = <2>; 29 enable-method = "psci"; 30 }; 31 32 cpu3: cpu@3 { 33 compatible = "arm,cortex-a53"; 34 device_type = "cpu"; 35 reg = <3>; 36 enable-method = "psci"; 37 }; 38 }; 39 40 pmu { 41 compatible = "arm,cortex-a53-pmu", 42 "arm,armv8-pmuv3"; 43 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 44 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 45 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 46 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 47 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 48 }; 49 50 psci { 51 compatible = "arm,psci-0.2"; 52 method = "smc"; 53 }; 54 55 timer { 56 compatible = "arm,armv8-timer"; 57 interrupts = <GIC_PPI 13 58 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 59 <GIC_PPI 14 60 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 61 <GIC_PPI 11 62 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63 <GIC_PPI 10 64 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 65 }; 66 67 soc { 68 syscon: system-control@1c00000 { 69 compatible = "allwinner,sun50i-h5-system-control"; 70 reg = <0x01c00000 0x1000>; 71 #address-cells = <1>; 72 #size-cells = <1>; 73 ranges; 74 75 sram_c1: sram@18000 { 76 compatible = "mmio-sram"; 77 reg = <0x00018000 0x1c000>; 78 #address-cells = <1>; 79 #size-cells = <1>; 80 ranges = <0 0x00018000 0x1c000>; 81 82 ve_sram: sram-section@0 { 83 compatible = "allwinner,sun50i-h5-sram-c1", 84 "allwinner,sun4i-a10-sram-c1"; 85 reg = <0x000000 0x1c000>; 86 }; 87 }; 88 }; 89 90 video-codec@1c0e000 { 91 compatible = "allwinner,sun50i-h5-video-engine"; 92 reg = <0x01c0e000 0x1000>; 93 clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, 94 <&ccu CLK_DRAM_VE>; 95 clock-names = "ahb", "mod", "ram"; 96 resets = <&ccu RST_BUS_VE>; 97 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 98 allwinner,sram = <&ve_sram 1>; 99 }; 100 101 crypto: crypto@1c15000 { 102 compatible = "allwinner,sun50i-h5-crypto"; 103 reg = <0x01c15000 0x1000>; 104 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 105 clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>; 106 clock-names = "bus", "mod"; 107 resets = <&ccu RST_BUS_CE>; 108 }; 109 110 mali: gpu@1e80000 { 111 compatible = "allwinner,sun50i-h5-mali", "arm,mali-450"; 112 reg = <0x01e80000 0x30000>; 113 /* 114 * While the datasheet lists an interrupt for the 115 * PMU, the actual silicon does not have the PMU 116 * block. Reads all return zero, and writes are 117 * ignored. 118 */ 119 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 120 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 121 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 122 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 123 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 124 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 125 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 126 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 127 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 128 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 129 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 130 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 131 interrupt-names = "gp", 132 "gpmmu", 133 "pp", 134 "pp0", 135 "ppmmu0", 136 "pp1", 137 "ppmmu1", 138 "pp2", 139 "ppmmu2", 140 "pp3", 141 "ppmmu3", 142 "pmu"; 143 clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 144 clock-names = "bus", "core"; 145 resets = <&ccu RST_BUS_GPU>; 146 147 assigned-clocks = <&ccu CLK_GPU>; 148 assigned-clock-rates = <384000000>; 149 }; 150 151 ths: thermal-sensor@1c25000 { 152 compatible = "allwinner,sun50i-h5-ths"; 153 reg = <0x01c25000 0x400>; 154 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 155 resets = <&ccu RST_BUS_THS>; 156 clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; 157 clock-names = "bus", "mod"; 158 nvmem-cells = <&ths_calibration>; 159 nvmem-cell-names = "calibration"; 160 #thermal-sensor-cells = <1>; 161 }; 162 }; 163 164 thermal-zones { 165 cpu_thermal: cpu-thermal { 166 polling-delay-passive = <0>; 167 polling-delay = <0>; 168 thermal-sensors = <&ths 0>; 169 }; 170 171 gpu_thermal { 172 polling-delay-passive = <0>; 173 polling-delay = <0>; 174 thermal-sensors = <&ths 1>; 175 }; 176 }; 177}; 178 179&ccu { 180 compatible = "allwinner,sun50i-h5-ccu"; 181}; 182 183&display_clocks { 184 compatible = "allwinner,sun50i-h5-de2-clk"; 185}; 186 187&mmc0 { 188 compatible = "allwinner,sun50i-h5-mmc", 189 "allwinner,sun50i-a64-mmc"; 190 clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 191 clock-names = "ahb", "mmc"; 192}; 193 194&mmc1 { 195 compatible = "allwinner,sun50i-h5-mmc", 196 "allwinner,sun50i-a64-mmc"; 197 clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 198 clock-names = "ahb", "mmc"; 199}; 200 201&mmc2 { 202 compatible = "allwinner,sun50i-h5-emmc", 203 "allwinner,sun50i-a64-emmc"; 204 clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 205 clock-names = "ahb", "mmc"; 206}; 207 208&pio { 209 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 210 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 211 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 212 compatible = "allwinner,sun50i-h5-pinctrl"; 213}; 214 215&rtc { 216 compatible = "allwinner,sun50i-h5-rtc"; 217}; 218 219&sid { 220 compatible = "allwinner,sun50i-h5-sid"; 221}; 222