~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 // Copyright (C) 2016 ARM Ltd.
  3 
  4 #include <arm/allwinner/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 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php