Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 // Copyright (C) 2016 ARM Ltd.
0003 
0004 #include <arm/sunxi-h3-h5.dtsi>
0005 
0006 #include <dt-bindings/thermal/thermal.h>
0007 
0008 / {
0009         cpus {
0010                 #address-cells = <1>;
0011                 #size-cells = <0>;
0012 
0013                 cpu0: cpu@0 {
0014                         compatible = "arm,cortex-a53";
0015                         device_type = "cpu";
0016                         reg = <0>;
0017                         enable-method = "psci";
0018                         clocks = <&ccu CLK_CPUX>;
0019                         clock-latency-ns = <244144>; /* 8 32k periods */
0020                         #cooling-cells = <2>;
0021                 };
0022 
0023                 cpu1: cpu@1 {
0024                         compatible = "arm,cortex-a53";
0025                         device_type = "cpu";
0026                         reg = <1>;
0027                         enable-method = "psci";
0028                         clocks = <&ccu CLK_CPUX>;
0029                         clock-latency-ns = <244144>; /* 8 32k periods */
0030                         #cooling-cells = <2>;
0031                 };
0032 
0033                 cpu2: cpu@2 {
0034                         compatible = "arm,cortex-a53";
0035                         device_type = "cpu";
0036                         reg = <2>;
0037                         enable-method = "psci";
0038                         clocks = <&ccu CLK_CPUX>;
0039                         clock-latency-ns = <244144>; /* 8 32k periods */
0040                         #cooling-cells = <2>;
0041                 };
0042 
0043                 cpu3: cpu@3 {
0044                         compatible = "arm,cortex-a53";
0045                         device_type = "cpu";
0046                         reg = <3>;
0047                         enable-method = "psci";
0048                         clocks = <&ccu CLK_CPUX>;
0049                         clock-latency-ns = <244144>; /* 8 32k periods */
0050                         #cooling-cells = <2>;
0051                 };
0052         };
0053 
0054         pmu {
0055                 compatible = "arm,cortex-a53-pmu";
0056                 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
0057                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
0058                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
0059                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
0060                 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
0061         };
0062 
0063         psci {
0064                 compatible = "arm,psci-0.2";
0065                 method = "smc";
0066         };
0067 
0068         timer {
0069                 compatible = "arm,armv8-timer";
0070                 arm,no-tick-in-suspend;
0071                 interrupts = <GIC_PPI 13
0072                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
0073                              <GIC_PPI 14
0074                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
0075                              <GIC_PPI 11
0076                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
0077                              <GIC_PPI 10
0078                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
0079         };
0080 
0081         soc {
0082                 syscon: system-control@1c00000 {
0083                         compatible = "allwinner,sun50i-h5-system-control";
0084                         reg = <0x01c00000 0x1000>;
0085                         #address-cells = <1>;
0086                         #size-cells = <1>;
0087                         ranges;
0088 
0089                         sram_c1: sram@18000 {
0090                                 compatible = "mmio-sram";
0091                                 reg = <0x00018000 0x1c000>;
0092                                 #address-cells = <1>;
0093                                 #size-cells = <1>;
0094                                 ranges = <0 0x00018000 0x1c000>;
0095 
0096                                 ve_sram: sram-section@0 {
0097                                         compatible = "allwinner,sun50i-h5-sram-c1",
0098                                                      "allwinner,sun4i-a10-sram-c1";
0099                                         reg = <0x000000 0x1c000>;
0100                                 };
0101                         };
0102                 };
0103 
0104                 video-codec@1c0e000 {
0105                         compatible = "allwinner,sun50i-h5-video-engine";
0106                         reg = <0x01c0e000 0x1000>;
0107                         clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
0108                                  <&ccu CLK_DRAM_VE>;
0109                         clock-names = "ahb", "mod", "ram";
0110                         resets = <&ccu RST_BUS_VE>;
0111                         interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
0112                         allwinner,sram = <&ve_sram 1>;
0113                 };
0114 
0115                 crypto: crypto@1c15000 {
0116                         compatible = "allwinner,sun50i-h5-crypto";
0117                         reg = <0x01c15000 0x1000>;
0118                         interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
0119                         clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
0120                         clock-names = "bus", "mod";
0121                         resets = <&ccu RST_BUS_CE>;
0122                 };
0123 
0124                 deinterlace: deinterlace@1e00000 {
0125                         compatible = "allwinner,sun8i-h3-deinterlace";
0126                         reg = <0x01e00000 0x20000>;
0127                         clocks = <&ccu CLK_BUS_DEINTERLACE>,
0128                                  <&ccu CLK_DEINTERLACE>,
0129                                  <&ccu CLK_DRAM_DEINTERLACE>;
0130                         clock-names = "bus", "mod", "ram";
0131                         resets = <&ccu RST_BUS_DEINTERLACE>;
0132                         interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
0133                         interconnects = <&mbus 9>;
0134                         interconnect-names = "dma-mem";
0135                 };
0136 
0137                 mali: gpu@1e80000 {
0138                         compatible = "allwinner,sun50i-h5-mali", "arm,mali-450";
0139                         reg = <0x01e80000 0x30000>;
0140                         /*
0141                          * While the datasheet lists an interrupt for the
0142                          * PMU, the actual silicon does not have the PMU
0143                          * block. Reads all return zero, and writes are
0144                          * ignored.
0145                          */
0146                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
0147                                      <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
0148                                      <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
0149                                      <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
0150                                      <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
0151                                      <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
0152                                      <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
0153                                      <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
0154                                      <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
0155                                      <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
0156                                      <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
0157                         interrupt-names = "gp",
0158                                           "gpmmu",
0159                                           "pp",
0160                                           "pp0",
0161                                           "ppmmu0",
0162                                           "pp1",
0163                                           "ppmmu1",
0164                                           "pp2",
0165                                           "ppmmu2",
0166                                           "pp3",
0167                                           "ppmmu3";
0168                         clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
0169                         clock-names = "bus", "core";
0170                         resets = <&ccu RST_BUS_GPU>;
0171 
0172                         assigned-clocks = <&ccu CLK_GPU>;
0173                         assigned-clock-rates = <384000000>;
0174                 };
0175 
0176                 ths: thermal-sensor@1c25000 {
0177                         compatible = "allwinner,sun50i-h5-ths";
0178                         reg = <0x01c25000 0x400>;
0179                         interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0180                         resets = <&ccu RST_BUS_THS>;
0181                         clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
0182                         clock-names = "bus", "mod";
0183                         nvmem-cells = <&ths_calibration>;
0184                         nvmem-cell-names = "calibration";
0185                         #thermal-sensor-cells = <1>;
0186                 };
0187         };
0188 
0189         thermal-zones {
0190                 cpu_thermal: cpu-thermal {
0191                         polling-delay-passive = <0>;
0192                         polling-delay = <0>;
0193                         thermal-sensors = <&ths 0>;
0194 
0195                         trips {
0196                                 cpu_hot_trip: cpu-hot {
0197                                         temperature = <80000>;
0198                                         hysteresis = <2000>;
0199                                         type = "passive";
0200                                 };
0201 
0202                                 cpu_very_hot_trip: cpu-very-hot {
0203                                         temperature = <100000>;
0204                                         hysteresis = <0>;
0205                                         type = "critical";
0206                                 };
0207                         };
0208 
0209                         cooling-maps {
0210                                 cpu-hot-limit {
0211                                         trip = <&cpu_hot_trip>;
0212                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0213                                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0214                                                          <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0215                                                          <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0216                                 };
0217                         };
0218                 };
0219 
0220                 gpu-thermal {
0221                         polling-delay-passive = <0>;
0222                         polling-delay = <0>;
0223                         thermal-sensors = <&ths 1>;
0224                 };
0225         };
0226 };
0227 
0228 &ccu {
0229         compatible = "allwinner,sun50i-h5-ccu";
0230 };
0231 
0232 &display_clocks {
0233         compatible = "allwinner,sun50i-h5-de2-clk";
0234 };
0235 
0236 &mbus {
0237         compatible = "allwinner,sun50i-h5-mbus";
0238 };
0239 
0240 &mmc0 {
0241         compatible = "allwinner,sun50i-h5-mmc",
0242                      "allwinner,sun50i-a64-mmc";
0243         clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
0244         clock-names = "ahb", "mmc";
0245 };
0246 
0247 &mmc1 {
0248         compatible = "allwinner,sun50i-h5-mmc",
0249                      "allwinner,sun50i-a64-mmc";
0250         clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
0251         clock-names = "ahb", "mmc";
0252 };
0253 
0254 &mmc2 {
0255         compatible = "allwinner,sun50i-h5-emmc",
0256                      "allwinner,sun50i-a64-emmc";
0257         clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
0258         clock-names = "ahb", "mmc";
0259 };
0260 
0261 &pio {
0262         interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
0263                      <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
0264                      <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
0265         compatible = "allwinner,sun50i-h5-pinctrl";
0266 };
0267 
0268 &rtc {
0269         compatible = "allwinner,sun50i-h5-rtc";
0270 };
0271 
0272 &sid {
0273         compatible = "allwinner,sun50i-h5-sid";
0274 };