18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 58c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun50i-h6-ccu.h> 68c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun50i-h6-r-ccu.h> 78c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun8i-de2.h> 88c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun8i-tcon-top.h> 98c2ecf20Sopenharmony_ci#include <dt-bindings/reset/sun50i-h6-ccu.h> 108c2ecf20Sopenharmony_ci#include <dt-bindings/reset/sun50i-h6-r-ccu.h> 118c2ecf20Sopenharmony_ci#include <dt-bindings/reset/sun8i-de2.h> 128c2ecf20Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci/ { 158c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 168c2ecf20Sopenharmony_ci #address-cells = <1>; 178c2ecf20Sopenharmony_ci #size-cells = <1>; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci cpus { 208c2ecf20Sopenharmony_ci #address-cells = <1>; 218c2ecf20Sopenharmony_ci #size-cells = <0>; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci cpu0: cpu@0 { 248c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 258c2ecf20Sopenharmony_ci device_type = "cpu"; 268c2ecf20Sopenharmony_ci reg = <0>; 278c2ecf20Sopenharmony_ci enable-method = "psci"; 288c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 298c2ecf20Sopenharmony_ci clock-latency-ns = <244144>; /* 8 32k periods */ 308c2ecf20Sopenharmony_ci #cooling-cells = <2>; 318c2ecf20Sopenharmony_ci }; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci cpu1: cpu@1 { 348c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 358c2ecf20Sopenharmony_ci device_type = "cpu"; 368c2ecf20Sopenharmony_ci reg = <1>; 378c2ecf20Sopenharmony_ci enable-method = "psci"; 388c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 398c2ecf20Sopenharmony_ci clock-latency-ns = <244144>; /* 8 32k periods */ 408c2ecf20Sopenharmony_ci #cooling-cells = <2>; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci cpu2: cpu@2 { 448c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 458c2ecf20Sopenharmony_ci device_type = "cpu"; 468c2ecf20Sopenharmony_ci reg = <2>; 478c2ecf20Sopenharmony_ci enable-method = "psci"; 488c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 498c2ecf20Sopenharmony_ci clock-latency-ns = <244144>; /* 8 32k periods */ 508c2ecf20Sopenharmony_ci #cooling-cells = <2>; 518c2ecf20Sopenharmony_ci }; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci cpu3: cpu@3 { 548c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 558c2ecf20Sopenharmony_ci device_type = "cpu"; 568c2ecf20Sopenharmony_ci reg = <3>; 578c2ecf20Sopenharmony_ci enable-method = "psci"; 588c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 598c2ecf20Sopenharmony_ci clock-latency-ns = <244144>; /* 8 32k periods */ 608c2ecf20Sopenharmony_ci #cooling-cells = <2>; 618c2ecf20Sopenharmony_ci }; 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci de: display-engine { 658c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-display-engine"; 668c2ecf20Sopenharmony_ci allwinner,pipelines = <&mixer0>; 678c2ecf20Sopenharmony_ci status = "disabled"; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci osc24M: osc24M_clk { 718c2ecf20Sopenharmony_ci #clock-cells = <0>; 728c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 738c2ecf20Sopenharmony_ci clock-frequency = <24000000>; 748c2ecf20Sopenharmony_ci clock-output-names = "osc24M"; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci pmu { 788c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 798c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 808c2ecf20Sopenharmony_ci <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 818c2ecf20Sopenharmony_ci <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 828c2ecf20Sopenharmony_ci <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 838c2ecf20Sopenharmony_ci interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 848c2ecf20Sopenharmony_ci }; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci psci { 878c2ecf20Sopenharmony_ci compatible = "arm,psci-0.2"; 888c2ecf20Sopenharmony_ci method = "smc"; 898c2ecf20Sopenharmony_ci }; 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci timer { 928c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 938c2ecf20Sopenharmony_ci arm,no-tick-in-suspend; 948c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 958c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 968c2ecf20Sopenharmony_ci <GIC_PPI 14 978c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 988c2ecf20Sopenharmony_ci <GIC_PPI 11 998c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1008c2ecf20Sopenharmony_ci <GIC_PPI 10 1018c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci soc { 1058c2ecf20Sopenharmony_ci compatible = "simple-bus"; 1068c2ecf20Sopenharmony_ci #address-cells = <1>; 1078c2ecf20Sopenharmony_ci #size-cells = <1>; 1088c2ecf20Sopenharmony_ci ranges; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci bus@1000000 { 1118c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-de3", 1128c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-de2"; 1138c2ecf20Sopenharmony_ci reg = <0x1000000 0x400000>; 1148c2ecf20Sopenharmony_ci allwinner,sram = <&de2_sram 1>; 1158c2ecf20Sopenharmony_ci #address-cells = <1>; 1168c2ecf20Sopenharmony_ci #size-cells = <1>; 1178c2ecf20Sopenharmony_ci ranges = <0 0x1000000 0x400000>; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci display_clocks: clock@0 { 1208c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-de3-clk"; 1218c2ecf20Sopenharmony_ci reg = <0x0 0x10000>; 1228c2ecf20Sopenharmony_ci clocks = <&ccu CLK_DE>, 1238c2ecf20Sopenharmony_ci <&ccu CLK_BUS_DE>; 1248c2ecf20Sopenharmony_ci clock-names = "mod", 1258c2ecf20Sopenharmony_ci "bus"; 1268c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_DE>; 1278c2ecf20Sopenharmony_ci #clock-cells = <1>; 1288c2ecf20Sopenharmony_ci #reset-cells = <1>; 1298c2ecf20Sopenharmony_ci }; 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci mixer0: mixer@100000 { 1328c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-de3-mixer-0"; 1338c2ecf20Sopenharmony_ci reg = <0x100000 0x100000>; 1348c2ecf20Sopenharmony_ci clocks = <&display_clocks CLK_BUS_MIXER0>, 1358c2ecf20Sopenharmony_ci <&display_clocks CLK_MIXER0>; 1368c2ecf20Sopenharmony_ci clock-names = "bus", 1378c2ecf20Sopenharmony_ci "mod"; 1388c2ecf20Sopenharmony_ci resets = <&display_clocks RST_MIXER0>; 1398c2ecf20Sopenharmony_ci iommus = <&iommu 0>; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci ports { 1428c2ecf20Sopenharmony_ci #address-cells = <1>; 1438c2ecf20Sopenharmony_ci #size-cells = <0>; 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci mixer0_out: port@1 { 1468c2ecf20Sopenharmony_ci reg = <1>; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci mixer0_out_tcon_top_mixer0: endpoint { 1498c2ecf20Sopenharmony_ci remote-endpoint = <&tcon_top_mixer0_in_mixer0>; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci }; 1528c2ecf20Sopenharmony_ci }; 1538c2ecf20Sopenharmony_ci }; 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci video-codec@1c0e000 { 1578c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-video-engine"; 1588c2ecf20Sopenharmony_ci reg = <0x01c0e000 0x2000>; 1598c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, 1608c2ecf20Sopenharmony_ci <&ccu CLK_MBUS_VE>; 1618c2ecf20Sopenharmony_ci clock-names = "ahb", "mod", "ram"; 1628c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_VE>; 1638c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 1648c2ecf20Sopenharmony_ci allwinner,sram = <&ve_sram 1>; 1658c2ecf20Sopenharmony_ci iommus = <&iommu 3>; 1668c2ecf20Sopenharmony_ci }; 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci gpu: gpu@1800000 { 1698c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-mali", 1708c2ecf20Sopenharmony_ci "arm,mali-t720"; 1718c2ecf20Sopenharmony_ci reg = <0x01800000 0x4000>; 1728c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, 1738c2ecf20Sopenharmony_ci <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 1748c2ecf20Sopenharmony_ci <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 1758c2ecf20Sopenharmony_ci interrupt-names = "job", "mmu", "gpu"; 1768c2ecf20Sopenharmony_ci clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>; 1778c2ecf20Sopenharmony_ci clock-names = "core", "bus"; 1788c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_GPU>; 1798c2ecf20Sopenharmony_ci status = "disabled"; 1808c2ecf20Sopenharmony_ci }; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci crypto: crypto@1904000 { 1838c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-crypto"; 1848c2ecf20Sopenharmony_ci reg = <0x01904000 0x1000>; 1858c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 1868c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>, <&ccu CLK_MBUS_CE>; 1878c2ecf20Sopenharmony_ci clock-names = "bus", "mod", "ram"; 1888c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_CE>; 1898c2ecf20Sopenharmony_ci }; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci syscon: syscon@3000000 { 1928c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-system-control", 1938c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-system-control"; 1948c2ecf20Sopenharmony_ci reg = <0x03000000 0x1000>; 1958c2ecf20Sopenharmony_ci #address-cells = <1>; 1968c2ecf20Sopenharmony_ci #size-cells = <1>; 1978c2ecf20Sopenharmony_ci ranges; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci sram_c: sram@28000 { 2008c2ecf20Sopenharmony_ci compatible = "mmio-sram"; 2018c2ecf20Sopenharmony_ci reg = <0x00028000 0x1e000>; 2028c2ecf20Sopenharmony_ci #address-cells = <1>; 2038c2ecf20Sopenharmony_ci #size-cells = <1>; 2048c2ecf20Sopenharmony_ci ranges = <0 0x00028000 0x1e000>; 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ci de2_sram: sram-section@0 { 2078c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-sram-c", 2088c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-sram-c"; 2098c2ecf20Sopenharmony_ci reg = <0x0000 0x1e000>; 2108c2ecf20Sopenharmony_ci }; 2118c2ecf20Sopenharmony_ci }; 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ci sram_c1: sram@1a00000 { 2148c2ecf20Sopenharmony_ci compatible = "mmio-sram"; 2158c2ecf20Sopenharmony_ci reg = <0x01a00000 0x200000>; 2168c2ecf20Sopenharmony_ci #address-cells = <1>; 2178c2ecf20Sopenharmony_ci #size-cells = <1>; 2188c2ecf20Sopenharmony_ci ranges = <0 0x01a00000 0x200000>; 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ci ve_sram: sram-section@0 { 2218c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-sram-c1", 2228c2ecf20Sopenharmony_ci "allwinner,sun4i-a10-sram-c1"; 2238c2ecf20Sopenharmony_ci reg = <0x000000 0x200000>; 2248c2ecf20Sopenharmony_ci }; 2258c2ecf20Sopenharmony_ci }; 2268c2ecf20Sopenharmony_ci }; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci ccu: clock@3001000 { 2298c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ccu"; 2308c2ecf20Sopenharmony_ci reg = <0x03001000 0x1000>; 2318c2ecf20Sopenharmony_ci clocks = <&osc24M>, <&rtc 0>, <&rtc 2>; 2328c2ecf20Sopenharmony_ci clock-names = "hosc", "losc", "iosc"; 2338c2ecf20Sopenharmony_ci #clock-cells = <1>; 2348c2ecf20Sopenharmony_ci #reset-cells = <1>; 2358c2ecf20Sopenharmony_ci }; 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci dma: dma-controller@3002000 { 2388c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-dma"; 2398c2ecf20Sopenharmony_ci reg = <0x03002000 0x1000>; 2408c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 2418c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; 2428c2ecf20Sopenharmony_ci clock-names = "bus", "mbus"; 2438c2ecf20Sopenharmony_ci dma-channels = <16>; 2448c2ecf20Sopenharmony_ci dma-requests = <46>; 2458c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_DMA>; 2468c2ecf20Sopenharmony_ci #dma-cells = <1>; 2478c2ecf20Sopenharmony_ci }; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci msgbox: mailbox@3003000 { 2508c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-msgbox", 2518c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-msgbox"; 2528c2ecf20Sopenharmony_ci reg = <0x03003000 0x1000>; 2538c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MSGBOX>; 2548c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MSGBOX>; 2558c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 2568c2ecf20Sopenharmony_ci #mbox-cells = <1>; 2578c2ecf20Sopenharmony_ci }; 2588c2ecf20Sopenharmony_ci 2598c2ecf20Sopenharmony_ci sid: efuse@3006000 { 2608c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-sid"; 2618c2ecf20Sopenharmony_ci reg = <0x03006000 0x400>; 2628c2ecf20Sopenharmony_ci #address-cells = <1>; 2638c2ecf20Sopenharmony_ci #size-cells = <1>; 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ci ths_calibration: thermal-sensor-calibration@14 { 2668c2ecf20Sopenharmony_ci reg = <0x14 0x8>; 2678c2ecf20Sopenharmony_ci }; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci cpu_speed_grade: cpu-speed-grade@1c { 2708c2ecf20Sopenharmony_ci reg = <0x1c 0x4>; 2718c2ecf20Sopenharmony_ci }; 2728c2ecf20Sopenharmony_ci }; 2738c2ecf20Sopenharmony_ci 2748c2ecf20Sopenharmony_ci watchdog: watchdog@30090a0 { 2758c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-wdt", 2768c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-wdt"; 2778c2ecf20Sopenharmony_ci reg = <0x030090a0 0x20>; 2788c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 2798c2ecf20Sopenharmony_ci clocks = <&osc24M>; 2808c2ecf20Sopenharmony_ci /* Broken on some H6 boards */ 2818c2ecf20Sopenharmony_ci status = "disabled"; 2828c2ecf20Sopenharmony_ci }; 2838c2ecf20Sopenharmony_ci 2848c2ecf20Sopenharmony_ci pwm: pwm@300a000 { 2858c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-pwm"; 2868c2ecf20Sopenharmony_ci reg = <0x0300a000 0x400>; 2878c2ecf20Sopenharmony_ci clocks = <&osc24M>, <&ccu CLK_BUS_PWM>; 2888c2ecf20Sopenharmony_ci clock-names = "mod", "bus"; 2898c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_PWM>; 2908c2ecf20Sopenharmony_ci #pwm-cells = <3>; 2918c2ecf20Sopenharmony_ci status = "disabled"; 2928c2ecf20Sopenharmony_ci }; 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci pio: pinctrl@300b000 { 2958c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-pinctrl"; 2968c2ecf20Sopenharmony_ci reg = <0x0300b000 0x400>; 2978c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 2988c2ecf20Sopenharmony_ci <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 2998c2ecf20Sopenharmony_ci <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 3008c2ecf20Sopenharmony_ci <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 3018c2ecf20Sopenharmony_ci clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>; 3028c2ecf20Sopenharmony_ci clock-names = "apb", "hosc", "losc"; 3038c2ecf20Sopenharmony_ci gpio-controller; 3048c2ecf20Sopenharmony_ci #gpio-cells = <3>; 3058c2ecf20Sopenharmony_ci interrupt-controller; 3068c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 3078c2ecf20Sopenharmony_ci 3088c2ecf20Sopenharmony_ci ext_rgmii_pins: rgmii-pins { 3098c2ecf20Sopenharmony_ci pins = "PD0", "PD1", "PD2", "PD3", "PD4", 3108c2ecf20Sopenharmony_ci "PD5", "PD7", "PD8", "PD9", "PD10", 3118c2ecf20Sopenharmony_ci "PD11", "PD12", "PD13", "PD19", "PD20"; 3128c2ecf20Sopenharmony_ci function = "emac"; 3138c2ecf20Sopenharmony_ci drive-strength = <40>; 3148c2ecf20Sopenharmony_ci }; 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci hdmi_pins: hdmi-pins { 3178c2ecf20Sopenharmony_ci pins = "PH8", "PH9", "PH10"; 3188c2ecf20Sopenharmony_ci function = "hdmi"; 3198c2ecf20Sopenharmony_ci }; 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_ci i2c0_pins: i2c0-pins { 3228c2ecf20Sopenharmony_ci pins = "PD25", "PD26"; 3238c2ecf20Sopenharmony_ci function = "i2c0"; 3248c2ecf20Sopenharmony_ci }; 3258c2ecf20Sopenharmony_ci 3268c2ecf20Sopenharmony_ci i2c1_pins: i2c1-pins { 3278c2ecf20Sopenharmony_ci pins = "PH5", "PH6"; 3288c2ecf20Sopenharmony_ci function = "i2c1"; 3298c2ecf20Sopenharmony_ci }; 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ci i2c2_pins: i2c2-pins { 3328c2ecf20Sopenharmony_ci pins = "PD23", "PD24"; 3338c2ecf20Sopenharmony_ci function = "i2c2"; 3348c2ecf20Sopenharmony_ci }; 3358c2ecf20Sopenharmony_ci 3368c2ecf20Sopenharmony_ci mmc0_pins: mmc0-pins { 3378c2ecf20Sopenharmony_ci pins = "PF0", "PF1", "PF2", "PF3", 3388c2ecf20Sopenharmony_ci "PF4", "PF5"; 3398c2ecf20Sopenharmony_ci function = "mmc0"; 3408c2ecf20Sopenharmony_ci drive-strength = <30>; 3418c2ecf20Sopenharmony_ci bias-pull-up; 3428c2ecf20Sopenharmony_ci }; 3438c2ecf20Sopenharmony_ci 3448c2ecf20Sopenharmony_ci /omit-if-no-ref/ 3458c2ecf20Sopenharmony_ci mmc1_pins: mmc1-pins { 3468c2ecf20Sopenharmony_ci pins = "PG0", "PG1", "PG2", "PG3", 3478c2ecf20Sopenharmony_ci "PG4", "PG5"; 3488c2ecf20Sopenharmony_ci function = "mmc1"; 3498c2ecf20Sopenharmony_ci drive-strength = <30>; 3508c2ecf20Sopenharmony_ci bias-pull-up; 3518c2ecf20Sopenharmony_ci }; 3528c2ecf20Sopenharmony_ci 3538c2ecf20Sopenharmony_ci mmc2_pins: mmc2-pins { 3548c2ecf20Sopenharmony_ci pins = "PC1", "PC4", "PC5", "PC6", 3558c2ecf20Sopenharmony_ci "PC7", "PC8", "PC9", "PC10", 3568c2ecf20Sopenharmony_ci "PC11", "PC12", "PC13", "PC14"; 3578c2ecf20Sopenharmony_ci function = "mmc2"; 3588c2ecf20Sopenharmony_ci drive-strength = <30>; 3598c2ecf20Sopenharmony_ci bias-pull-up; 3608c2ecf20Sopenharmony_ci }; 3618c2ecf20Sopenharmony_ci 3628c2ecf20Sopenharmony_ci /omit-if-no-ref/ 3638c2ecf20Sopenharmony_ci spi0_pins: spi0-pins { 3648c2ecf20Sopenharmony_ci pins = "PC0", "PC2", "PC3"; 3658c2ecf20Sopenharmony_ci function = "spi0"; 3668c2ecf20Sopenharmony_ci }; 3678c2ecf20Sopenharmony_ci 3688c2ecf20Sopenharmony_ci /* pin shared with MMC2-CMD (eMMC) */ 3698c2ecf20Sopenharmony_ci /omit-if-no-ref/ 3708c2ecf20Sopenharmony_ci spi0_cs_pin: spi0-cs-pin { 3718c2ecf20Sopenharmony_ci pins = "PC5"; 3728c2ecf20Sopenharmony_ci function = "spi0"; 3738c2ecf20Sopenharmony_ci }; 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ci /omit-if-no-ref/ 3768c2ecf20Sopenharmony_ci spi1_pins: spi1-pins { 3778c2ecf20Sopenharmony_ci pins = "PH4", "PH5", "PH6"; 3788c2ecf20Sopenharmony_ci function = "spi1"; 3798c2ecf20Sopenharmony_ci }; 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_ci /omit-if-no-ref/ 3828c2ecf20Sopenharmony_ci spi1_cs_pin: spi1-cs-pin { 3838c2ecf20Sopenharmony_ci pins = "PH3"; 3848c2ecf20Sopenharmony_ci function = "spi1"; 3858c2ecf20Sopenharmony_ci }; 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_ci spdif_tx_pin: spdif-tx-pin { 3888c2ecf20Sopenharmony_ci pins = "PH7"; 3898c2ecf20Sopenharmony_ci function = "spdif"; 3908c2ecf20Sopenharmony_ci }; 3918c2ecf20Sopenharmony_ci 3928c2ecf20Sopenharmony_ci uart0_ph_pins: uart0-ph-pins { 3938c2ecf20Sopenharmony_ci pins = "PH0", "PH1"; 3948c2ecf20Sopenharmony_ci function = "uart0"; 3958c2ecf20Sopenharmony_ci }; 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_ci uart1_pins: uart1-pins { 3988c2ecf20Sopenharmony_ci pins = "PG6", "PG7"; 3998c2ecf20Sopenharmony_ci function = "uart1"; 4008c2ecf20Sopenharmony_ci }; 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_ci uart1_rts_cts_pins: uart1-rts-cts-pins { 4038c2ecf20Sopenharmony_ci pins = "PG8", "PG9"; 4048c2ecf20Sopenharmony_ci function = "uart1"; 4058c2ecf20Sopenharmony_ci }; 4068c2ecf20Sopenharmony_ci }; 4078c2ecf20Sopenharmony_ci 4088c2ecf20Sopenharmony_ci gic: interrupt-controller@3021000 { 4098c2ecf20Sopenharmony_ci compatible = "arm,gic-400"; 4108c2ecf20Sopenharmony_ci reg = <0x03021000 0x1000>, 4118c2ecf20Sopenharmony_ci <0x03022000 0x2000>, 4128c2ecf20Sopenharmony_ci <0x03024000 0x2000>, 4138c2ecf20Sopenharmony_ci <0x03026000 0x2000>; 4148c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 4158c2ecf20Sopenharmony_ci interrupt-controller; 4168c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 4178c2ecf20Sopenharmony_ci }; 4188c2ecf20Sopenharmony_ci 4198c2ecf20Sopenharmony_ci iommu: iommu@30f0000 { 4208c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-iommu"; 4218c2ecf20Sopenharmony_ci reg = <0x030f0000 0x10000>; 4228c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 4238c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_IOMMU>; 4248c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_IOMMU>; 4258c2ecf20Sopenharmony_ci #iommu-cells = <1>; 4268c2ecf20Sopenharmony_ci }; 4278c2ecf20Sopenharmony_ci 4288c2ecf20Sopenharmony_ci mmc0: mmc@4020000 { 4298c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-mmc", 4308c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-mmc"; 4318c2ecf20Sopenharmony_ci reg = <0x04020000 0x1000>; 4328c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 4338c2ecf20Sopenharmony_ci clock-names = "ahb", "mmc"; 4348c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MMC0>; 4358c2ecf20Sopenharmony_ci reset-names = "ahb"; 4368c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 4378c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4388c2ecf20Sopenharmony_ci pinctrl-0 = <&mmc0_pins>; 4398c2ecf20Sopenharmony_ci max-frequency = <150000000>; 4408c2ecf20Sopenharmony_ci status = "disabled"; 4418c2ecf20Sopenharmony_ci #address-cells = <1>; 4428c2ecf20Sopenharmony_ci #size-cells = <0>; 4438c2ecf20Sopenharmony_ci }; 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_ci mmc1: mmc@4021000 { 4468c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-mmc", 4478c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-mmc"; 4488c2ecf20Sopenharmony_ci reg = <0x04021000 0x1000>; 4498c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 4508c2ecf20Sopenharmony_ci clock-names = "ahb", "mmc"; 4518c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MMC1>; 4528c2ecf20Sopenharmony_ci reset-names = "ahb"; 4538c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 4548c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4558c2ecf20Sopenharmony_ci pinctrl-0 = <&mmc1_pins>; 4568c2ecf20Sopenharmony_ci max-frequency = <150000000>; 4578c2ecf20Sopenharmony_ci status = "disabled"; 4588c2ecf20Sopenharmony_ci #address-cells = <1>; 4598c2ecf20Sopenharmony_ci #size-cells = <0>; 4608c2ecf20Sopenharmony_ci }; 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_ci mmc2: mmc@4022000 { 4638c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-emmc", 4648c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-emmc"; 4658c2ecf20Sopenharmony_ci reg = <0x04022000 0x1000>; 4668c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 4678c2ecf20Sopenharmony_ci clock-names = "ahb", "mmc"; 4688c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MMC2>; 4698c2ecf20Sopenharmony_ci reset-names = "ahb"; 4708c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 4718c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4728c2ecf20Sopenharmony_ci pinctrl-0 = <&mmc2_pins>; 4738c2ecf20Sopenharmony_ci max-frequency = <150000000>; 4748c2ecf20Sopenharmony_ci status = "disabled"; 4758c2ecf20Sopenharmony_ci #address-cells = <1>; 4768c2ecf20Sopenharmony_ci #size-cells = <0>; 4778c2ecf20Sopenharmony_ci }; 4788c2ecf20Sopenharmony_ci 4798c2ecf20Sopenharmony_ci uart0: serial@5000000 { 4808c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 4818c2ecf20Sopenharmony_ci reg = <0x05000000 0x400>; 4828c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 4838c2ecf20Sopenharmony_ci reg-shift = <2>; 4848c2ecf20Sopenharmony_ci reg-io-width = <4>; 4858c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART0>; 4868c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART0>; 4878c2ecf20Sopenharmony_ci status = "disabled"; 4888c2ecf20Sopenharmony_ci }; 4898c2ecf20Sopenharmony_ci 4908c2ecf20Sopenharmony_ci uart1: serial@5000400 { 4918c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 4928c2ecf20Sopenharmony_ci reg = <0x05000400 0x400>; 4938c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 4948c2ecf20Sopenharmony_ci reg-shift = <2>; 4958c2ecf20Sopenharmony_ci reg-io-width = <4>; 4968c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART1>; 4978c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART1>; 4988c2ecf20Sopenharmony_ci status = "disabled"; 4998c2ecf20Sopenharmony_ci }; 5008c2ecf20Sopenharmony_ci 5018c2ecf20Sopenharmony_ci uart2: serial@5000800 { 5028c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 5038c2ecf20Sopenharmony_ci reg = <0x05000800 0x400>; 5048c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 5058c2ecf20Sopenharmony_ci reg-shift = <2>; 5068c2ecf20Sopenharmony_ci reg-io-width = <4>; 5078c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART2>; 5088c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART2>; 5098c2ecf20Sopenharmony_ci status = "disabled"; 5108c2ecf20Sopenharmony_ci }; 5118c2ecf20Sopenharmony_ci 5128c2ecf20Sopenharmony_ci uart3: serial@5000c00 { 5138c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 5148c2ecf20Sopenharmony_ci reg = <0x05000c00 0x400>; 5158c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 5168c2ecf20Sopenharmony_ci reg-shift = <2>; 5178c2ecf20Sopenharmony_ci reg-io-width = <4>; 5188c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART3>; 5198c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART3>; 5208c2ecf20Sopenharmony_ci status = "disabled"; 5218c2ecf20Sopenharmony_ci }; 5228c2ecf20Sopenharmony_ci 5238c2ecf20Sopenharmony_ci i2c0: i2c@5002000 { 5248c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-i2c", 5258c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 5268c2ecf20Sopenharmony_ci reg = <0x05002000 0x400>; 5278c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 5288c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C0>; 5298c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2C0>; 5308c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5318c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 5328c2ecf20Sopenharmony_ci status = "disabled"; 5338c2ecf20Sopenharmony_ci #address-cells = <1>; 5348c2ecf20Sopenharmony_ci #size-cells = <0>; 5358c2ecf20Sopenharmony_ci }; 5368c2ecf20Sopenharmony_ci 5378c2ecf20Sopenharmony_ci i2c1: i2c@5002400 { 5388c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-i2c", 5398c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 5408c2ecf20Sopenharmony_ci reg = <0x05002400 0x400>; 5418c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 5428c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C1>; 5438c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2C1>; 5448c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5458c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 5468c2ecf20Sopenharmony_ci status = "disabled"; 5478c2ecf20Sopenharmony_ci #address-cells = <1>; 5488c2ecf20Sopenharmony_ci #size-cells = <0>; 5498c2ecf20Sopenharmony_ci }; 5508c2ecf20Sopenharmony_ci 5518c2ecf20Sopenharmony_ci i2c2: i2c@5002800 { 5528c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-i2c", 5538c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 5548c2ecf20Sopenharmony_ci reg = <0x05002800 0x400>; 5558c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 5568c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C2>; 5578c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2C2>; 5588c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5598c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 5608c2ecf20Sopenharmony_ci status = "disabled"; 5618c2ecf20Sopenharmony_ci #address-cells = <1>; 5628c2ecf20Sopenharmony_ci #size-cells = <0>; 5638c2ecf20Sopenharmony_ci }; 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_ci spi0: spi@5010000 { 5668c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-spi", 5678c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-spi"; 5688c2ecf20Sopenharmony_ci reg = <0x05010000 0x1000>; 5698c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 5708c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 5718c2ecf20Sopenharmony_ci clock-names = "ahb", "mod"; 5728c2ecf20Sopenharmony_ci dmas = <&dma 22>, <&dma 22>; 5738c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 5748c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_SPI0>; 5758c2ecf20Sopenharmony_ci status = "disabled"; 5768c2ecf20Sopenharmony_ci #address-cells = <1>; 5778c2ecf20Sopenharmony_ci #size-cells = <0>; 5788c2ecf20Sopenharmony_ci }; 5798c2ecf20Sopenharmony_ci 5808c2ecf20Sopenharmony_ci spi1: spi@5011000 { 5818c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-spi", 5828c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-spi"; 5838c2ecf20Sopenharmony_ci reg = <0x05011000 0x1000>; 5848c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 5858c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 5868c2ecf20Sopenharmony_ci clock-names = "ahb", "mod"; 5878c2ecf20Sopenharmony_ci dmas = <&dma 23>, <&dma 23>; 5888c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 5898c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_SPI1>; 5908c2ecf20Sopenharmony_ci status = "disabled"; 5918c2ecf20Sopenharmony_ci #address-cells = <1>; 5928c2ecf20Sopenharmony_ci #size-cells = <0>; 5938c2ecf20Sopenharmony_ci }; 5948c2ecf20Sopenharmony_ci 5958c2ecf20Sopenharmony_ci emac: ethernet@5020000 { 5968c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-emac", 5978c2ecf20Sopenharmony_ci "allwinner,sun50i-a64-emac"; 5988c2ecf20Sopenharmony_ci syscon = <&syscon>; 5998c2ecf20Sopenharmony_ci reg = <0x05020000 0x10000>; 6008c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 6018c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 6028c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_EMAC>; 6038c2ecf20Sopenharmony_ci reset-names = "stmmaceth"; 6048c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_EMAC>; 6058c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 6068c2ecf20Sopenharmony_ci status = "disabled"; 6078c2ecf20Sopenharmony_ci 6088c2ecf20Sopenharmony_ci mdio: mdio { 6098c2ecf20Sopenharmony_ci compatible = "snps,dwmac-mdio"; 6108c2ecf20Sopenharmony_ci #address-cells = <1>; 6118c2ecf20Sopenharmony_ci #size-cells = <0>; 6128c2ecf20Sopenharmony_ci }; 6138c2ecf20Sopenharmony_ci }; 6148c2ecf20Sopenharmony_ci 6158c2ecf20Sopenharmony_ci spdif: spdif@5093000 { 6168c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 6178c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-spdif"; 6188c2ecf20Sopenharmony_ci reg = <0x05093000 0x400>; 6198c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 6208c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 6218c2ecf20Sopenharmony_ci clock-names = "apb", "spdif"; 6228c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_SPDIF>; 6238c2ecf20Sopenharmony_ci dmas = <&dma 2>; 6248c2ecf20Sopenharmony_ci dma-names = "tx"; 6258c2ecf20Sopenharmony_ci pinctrl-names = "default"; 6268c2ecf20Sopenharmony_ci pinctrl-0 = <&spdif_tx_pin>; 6278c2ecf20Sopenharmony_ci status = "disabled"; 6288c2ecf20Sopenharmony_ci }; 6298c2ecf20Sopenharmony_ci 6308c2ecf20Sopenharmony_ci usb2otg: usb@5100000 { 6318c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-musb", 6328c2ecf20Sopenharmony_ci "allwinner,sun8i-a33-musb"; 6338c2ecf20Sopenharmony_ci reg = <0x05100000 0x0400>; 6348c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OTG>; 6358c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OTG>; 6368c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 6378c2ecf20Sopenharmony_ci interrupt-names = "mc"; 6388c2ecf20Sopenharmony_ci phys = <&usb2phy 0>; 6398c2ecf20Sopenharmony_ci phy-names = "usb"; 6408c2ecf20Sopenharmony_ci extcon = <&usb2phy 0>; 6418c2ecf20Sopenharmony_ci status = "disabled"; 6428c2ecf20Sopenharmony_ci }; 6438c2ecf20Sopenharmony_ci 6448c2ecf20Sopenharmony_ci usb2phy: phy@5100400 { 6458c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-usb-phy"; 6468c2ecf20Sopenharmony_ci reg = <0x05100400 0x24>, 6478c2ecf20Sopenharmony_ci <0x05101800 0x4>, 6488c2ecf20Sopenharmony_ci <0x05311800 0x4>; 6498c2ecf20Sopenharmony_ci reg-names = "phy_ctrl", 6508c2ecf20Sopenharmony_ci "pmu0", 6518c2ecf20Sopenharmony_ci "pmu3"; 6528c2ecf20Sopenharmony_ci clocks = <&ccu CLK_USB_PHY0>, 6538c2ecf20Sopenharmony_ci <&ccu CLK_USB_PHY3>; 6548c2ecf20Sopenharmony_ci clock-names = "usb0_phy", 6558c2ecf20Sopenharmony_ci "usb3_phy"; 6568c2ecf20Sopenharmony_ci resets = <&ccu RST_USB_PHY0>, 6578c2ecf20Sopenharmony_ci <&ccu RST_USB_PHY3>; 6588c2ecf20Sopenharmony_ci reset-names = "usb0_reset", 6598c2ecf20Sopenharmony_ci "usb3_reset"; 6608c2ecf20Sopenharmony_ci status = "disabled"; 6618c2ecf20Sopenharmony_ci #phy-cells = <1>; 6628c2ecf20Sopenharmony_ci }; 6638c2ecf20Sopenharmony_ci 6648c2ecf20Sopenharmony_ci ehci0: usb@5101000 { 6658c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ehci", "generic-ehci"; 6668c2ecf20Sopenharmony_ci reg = <0x05101000 0x100>; 6678c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 6688c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI0>, 6698c2ecf20Sopenharmony_ci <&ccu CLK_BUS_EHCI0>, 6708c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI0>; 6718c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI0>, 6728c2ecf20Sopenharmony_ci <&ccu RST_BUS_EHCI0>; 6738c2ecf20Sopenharmony_ci phys = <&usb2phy 0>; 6748c2ecf20Sopenharmony_ci phy-names = "usb"; 6758c2ecf20Sopenharmony_ci status = "disabled"; 6768c2ecf20Sopenharmony_ci }; 6778c2ecf20Sopenharmony_ci 6788c2ecf20Sopenharmony_ci ohci0: usb@5101400 { 6798c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ohci", "generic-ohci"; 6808c2ecf20Sopenharmony_ci reg = <0x05101400 0x100>; 6818c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 6828c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI0>, 6838c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI0>; 6848c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI0>; 6858c2ecf20Sopenharmony_ci phys = <&usb2phy 0>; 6868c2ecf20Sopenharmony_ci phy-names = "usb"; 6878c2ecf20Sopenharmony_ci status = "disabled"; 6888c2ecf20Sopenharmony_ci }; 6898c2ecf20Sopenharmony_ci 6908c2ecf20Sopenharmony_ci dwc3: dwc3@5200000 { 6918c2ecf20Sopenharmony_ci compatible = "snps,dwc3"; 6928c2ecf20Sopenharmony_ci reg = <0x05200000 0x10000>; 6938c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 6948c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_XHCI>, 6958c2ecf20Sopenharmony_ci <&ccu CLK_BUS_XHCI>, 6968c2ecf20Sopenharmony_ci <&rtc 0>; 6978c2ecf20Sopenharmony_ci clock-names = "ref", "bus_early", "suspend"; 6988c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_XHCI>; 6998c2ecf20Sopenharmony_ci /* 7008c2ecf20Sopenharmony_ci * The datasheet of the chip doesn't declare the 7018c2ecf20Sopenharmony_ci * peripheral function, and there's no boards known 7028c2ecf20Sopenharmony_ci * to have a USB Type-B port routed to the port. 7038c2ecf20Sopenharmony_ci * In addition, no one has tested the peripheral 7048c2ecf20Sopenharmony_ci * function yet. 7058c2ecf20Sopenharmony_ci * So set the dr_mode to "host" in the DTSI file. 7068c2ecf20Sopenharmony_ci */ 7078c2ecf20Sopenharmony_ci dr_mode = "host"; 7088c2ecf20Sopenharmony_ci phys = <&usb3phy>; 7098c2ecf20Sopenharmony_ci phy-names = "usb3-phy"; 7108c2ecf20Sopenharmony_ci status = "disabled"; 7118c2ecf20Sopenharmony_ci }; 7128c2ecf20Sopenharmony_ci 7138c2ecf20Sopenharmony_ci usb3phy: phy@5210000 { 7148c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-usb3-phy"; 7158c2ecf20Sopenharmony_ci reg = <0x5210000 0x10000>; 7168c2ecf20Sopenharmony_ci clocks = <&ccu CLK_USB_PHY1>; 7178c2ecf20Sopenharmony_ci resets = <&ccu RST_USB_PHY1>; 7188c2ecf20Sopenharmony_ci #phy-cells = <0>; 7198c2ecf20Sopenharmony_ci status = "disabled"; 7208c2ecf20Sopenharmony_ci }; 7218c2ecf20Sopenharmony_ci 7228c2ecf20Sopenharmony_ci ehci3: usb@5311000 { 7238c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ehci", "generic-ehci"; 7248c2ecf20Sopenharmony_ci reg = <0x05311000 0x100>; 7258c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 7268c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI3>, 7278c2ecf20Sopenharmony_ci <&ccu CLK_BUS_EHCI3>, 7288c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI3>; 7298c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI3>, 7308c2ecf20Sopenharmony_ci <&ccu RST_BUS_EHCI3>; 7318c2ecf20Sopenharmony_ci phys = <&usb2phy 3>; 7328c2ecf20Sopenharmony_ci phy-names = "usb"; 7338c2ecf20Sopenharmony_ci status = "disabled"; 7348c2ecf20Sopenharmony_ci }; 7358c2ecf20Sopenharmony_ci 7368c2ecf20Sopenharmony_ci ohci3: usb@5311400 { 7378c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ohci", "generic-ohci"; 7388c2ecf20Sopenharmony_ci reg = <0x05311400 0x100>; 7398c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 7408c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI3>, 7418c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI3>; 7428c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI3>; 7438c2ecf20Sopenharmony_ci phys = <&usb2phy 3>; 7448c2ecf20Sopenharmony_ci phy-names = "usb"; 7458c2ecf20Sopenharmony_ci status = "disabled"; 7468c2ecf20Sopenharmony_ci }; 7478c2ecf20Sopenharmony_ci 7488c2ecf20Sopenharmony_ci hdmi: hdmi@6000000 { 7498c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-dw-hdmi"; 7508c2ecf20Sopenharmony_ci reg = <0x06000000 0x10000>; 7518c2ecf20Sopenharmony_ci reg-io-width = <1>; 7528c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 7538c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>, 7548c2ecf20Sopenharmony_ci <&ccu CLK_HDMI>, <&ccu CLK_HDMI_CEC>, 7558c2ecf20Sopenharmony_ci <&ccu CLK_HDCP>, <&ccu CLK_BUS_HDCP>; 7568c2ecf20Sopenharmony_ci clock-names = "iahb", "isfr", "tmds", "cec", "hdcp", 7578c2ecf20Sopenharmony_ci "hdcp-bus"; 7588c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_HDMI_SUB>, <&ccu RST_BUS_HDCP>; 7598c2ecf20Sopenharmony_ci reset-names = "ctrl", "hdcp"; 7608c2ecf20Sopenharmony_ci phys = <&hdmi_phy>; 7618c2ecf20Sopenharmony_ci phy-names = "phy"; 7628c2ecf20Sopenharmony_ci pinctrl-names = "default"; 7638c2ecf20Sopenharmony_ci pinctrl-0 = <&hdmi_pins>; 7648c2ecf20Sopenharmony_ci status = "disabled"; 7658c2ecf20Sopenharmony_ci 7668c2ecf20Sopenharmony_ci ports { 7678c2ecf20Sopenharmony_ci #address-cells = <1>; 7688c2ecf20Sopenharmony_ci #size-cells = <0>; 7698c2ecf20Sopenharmony_ci 7708c2ecf20Sopenharmony_ci hdmi_in: port@0 { 7718c2ecf20Sopenharmony_ci reg = <0>; 7728c2ecf20Sopenharmony_ci 7738c2ecf20Sopenharmony_ci hdmi_in_tcon_top: endpoint { 7748c2ecf20Sopenharmony_ci remote-endpoint = <&tcon_top_hdmi_out_hdmi>; 7758c2ecf20Sopenharmony_ci }; 7768c2ecf20Sopenharmony_ci }; 7778c2ecf20Sopenharmony_ci 7788c2ecf20Sopenharmony_ci hdmi_out: port@1 { 7798c2ecf20Sopenharmony_ci reg = <1>; 7808c2ecf20Sopenharmony_ci }; 7818c2ecf20Sopenharmony_ci }; 7828c2ecf20Sopenharmony_ci }; 7838c2ecf20Sopenharmony_ci 7848c2ecf20Sopenharmony_ci hdmi_phy: hdmi-phy@6010000 { 7858c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-hdmi-phy"; 7868c2ecf20Sopenharmony_ci reg = <0x06010000 0x10000>; 7878c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>; 7888c2ecf20Sopenharmony_ci clock-names = "bus", "mod"; 7898c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_HDMI>; 7908c2ecf20Sopenharmony_ci reset-names = "phy"; 7918c2ecf20Sopenharmony_ci #phy-cells = <0>; 7928c2ecf20Sopenharmony_ci }; 7938c2ecf20Sopenharmony_ci 7948c2ecf20Sopenharmony_ci tcon_top: tcon-top@6510000 { 7958c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-tcon-top"; 7968c2ecf20Sopenharmony_ci reg = <0x06510000 0x1000>; 7978c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_TCON_TOP>, 7988c2ecf20Sopenharmony_ci <&ccu CLK_TCON_TV0>; 7998c2ecf20Sopenharmony_ci clock-names = "bus", 8008c2ecf20Sopenharmony_ci "tcon-tv0"; 8018c2ecf20Sopenharmony_ci clock-output-names = "tcon-top-tv0"; 8028c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_TCON_TOP>; 8038c2ecf20Sopenharmony_ci #clock-cells = <1>; 8048c2ecf20Sopenharmony_ci 8058c2ecf20Sopenharmony_ci ports { 8068c2ecf20Sopenharmony_ci #address-cells = <1>; 8078c2ecf20Sopenharmony_ci #size-cells = <0>; 8088c2ecf20Sopenharmony_ci 8098c2ecf20Sopenharmony_ci tcon_top_mixer0_in: port@0 { 8108c2ecf20Sopenharmony_ci #address-cells = <1>; 8118c2ecf20Sopenharmony_ci #size-cells = <0>; 8128c2ecf20Sopenharmony_ci reg = <0>; 8138c2ecf20Sopenharmony_ci 8148c2ecf20Sopenharmony_ci tcon_top_mixer0_in_mixer0: endpoint@0 { 8158c2ecf20Sopenharmony_ci reg = <0>; 8168c2ecf20Sopenharmony_ci remote-endpoint = <&mixer0_out_tcon_top_mixer0>; 8178c2ecf20Sopenharmony_ci }; 8188c2ecf20Sopenharmony_ci }; 8198c2ecf20Sopenharmony_ci 8208c2ecf20Sopenharmony_ci tcon_top_mixer0_out: port@1 { 8218c2ecf20Sopenharmony_ci #address-cells = <1>; 8228c2ecf20Sopenharmony_ci #size-cells = <0>; 8238c2ecf20Sopenharmony_ci reg = <1>; 8248c2ecf20Sopenharmony_ci 8258c2ecf20Sopenharmony_ci tcon_top_mixer0_out_tcon_tv: endpoint@2 { 8268c2ecf20Sopenharmony_ci reg = <2>; 8278c2ecf20Sopenharmony_ci remote-endpoint = <&tcon_tv_in_tcon_top_mixer0>; 8288c2ecf20Sopenharmony_ci }; 8298c2ecf20Sopenharmony_ci }; 8308c2ecf20Sopenharmony_ci 8318c2ecf20Sopenharmony_ci tcon_top_hdmi_in: port@4 { 8328c2ecf20Sopenharmony_ci #address-cells = <1>; 8338c2ecf20Sopenharmony_ci #size-cells = <0>; 8348c2ecf20Sopenharmony_ci reg = <4>; 8358c2ecf20Sopenharmony_ci 8368c2ecf20Sopenharmony_ci tcon_top_hdmi_in_tcon_tv: endpoint@0 { 8378c2ecf20Sopenharmony_ci reg = <0>; 8388c2ecf20Sopenharmony_ci remote-endpoint = <&tcon_tv_out_tcon_top>; 8398c2ecf20Sopenharmony_ci }; 8408c2ecf20Sopenharmony_ci }; 8418c2ecf20Sopenharmony_ci 8428c2ecf20Sopenharmony_ci tcon_top_hdmi_out: port@5 { 8438c2ecf20Sopenharmony_ci reg = <5>; 8448c2ecf20Sopenharmony_ci 8458c2ecf20Sopenharmony_ci tcon_top_hdmi_out_hdmi: endpoint { 8468c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_in_tcon_top>; 8478c2ecf20Sopenharmony_ci }; 8488c2ecf20Sopenharmony_ci }; 8498c2ecf20Sopenharmony_ci }; 8508c2ecf20Sopenharmony_ci }; 8518c2ecf20Sopenharmony_ci 8528c2ecf20Sopenharmony_ci tcon_tv: lcd-controller@6515000 { 8538c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-tcon-tv", 8548c2ecf20Sopenharmony_ci "allwinner,sun8i-r40-tcon-tv"; 8558c2ecf20Sopenharmony_ci reg = <0x06515000 0x1000>; 8568c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 8578c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_TCON_TV0>, 8588c2ecf20Sopenharmony_ci <&tcon_top CLK_TCON_TOP_TV0>; 8598c2ecf20Sopenharmony_ci clock-names = "ahb", 8608c2ecf20Sopenharmony_ci "tcon-ch1"; 8618c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_TCON_TV0>; 8628c2ecf20Sopenharmony_ci reset-names = "lcd"; 8638c2ecf20Sopenharmony_ci 8648c2ecf20Sopenharmony_ci ports { 8658c2ecf20Sopenharmony_ci #address-cells = <1>; 8668c2ecf20Sopenharmony_ci #size-cells = <0>; 8678c2ecf20Sopenharmony_ci 8688c2ecf20Sopenharmony_ci tcon_tv_in: port@0 { 8698c2ecf20Sopenharmony_ci reg = <0>; 8708c2ecf20Sopenharmony_ci 8718c2ecf20Sopenharmony_ci tcon_tv_in_tcon_top_mixer0: endpoint { 8728c2ecf20Sopenharmony_ci remote-endpoint = <&tcon_top_mixer0_out_tcon_tv>; 8738c2ecf20Sopenharmony_ci }; 8748c2ecf20Sopenharmony_ci }; 8758c2ecf20Sopenharmony_ci 8768c2ecf20Sopenharmony_ci tcon_tv_out: port@1 { 8778c2ecf20Sopenharmony_ci #address-cells = <1>; 8788c2ecf20Sopenharmony_ci #size-cells = <0>; 8798c2ecf20Sopenharmony_ci reg = <1>; 8808c2ecf20Sopenharmony_ci 8818c2ecf20Sopenharmony_ci tcon_tv_out_tcon_top: endpoint@1 { 8828c2ecf20Sopenharmony_ci reg = <1>; 8838c2ecf20Sopenharmony_ci remote-endpoint = <&tcon_top_hdmi_in_tcon_tv>; 8848c2ecf20Sopenharmony_ci }; 8858c2ecf20Sopenharmony_ci }; 8868c2ecf20Sopenharmony_ci }; 8878c2ecf20Sopenharmony_ci }; 8888c2ecf20Sopenharmony_ci 8898c2ecf20Sopenharmony_ci rtc: rtc@7000000 { 8908c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-rtc"; 8918c2ecf20Sopenharmony_ci reg = <0x07000000 0x400>; 8928c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 8938c2ecf20Sopenharmony_ci <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 8948c2ecf20Sopenharmony_ci clock-output-names = "osc32k", "osc32k-out", "iosc"; 8958c2ecf20Sopenharmony_ci #clock-cells = <1>; 8968c2ecf20Sopenharmony_ci }; 8978c2ecf20Sopenharmony_ci 8988c2ecf20Sopenharmony_ci r_ccu: clock@7010000 { 8998c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-r-ccu"; 9008c2ecf20Sopenharmony_ci reg = <0x07010000 0x400>; 9018c2ecf20Sopenharmony_ci clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, 9028c2ecf20Sopenharmony_ci <&ccu CLK_PLL_PERIPH0>; 9038c2ecf20Sopenharmony_ci clock-names = "hosc", "losc", "iosc", "pll-periph"; 9048c2ecf20Sopenharmony_ci #clock-cells = <1>; 9058c2ecf20Sopenharmony_ci #reset-cells = <1>; 9068c2ecf20Sopenharmony_ci }; 9078c2ecf20Sopenharmony_ci 9088c2ecf20Sopenharmony_ci r_watchdog: watchdog@7020400 { 9098c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-wdt", 9108c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-wdt"; 9118c2ecf20Sopenharmony_ci reg = <0x07020400 0x20>; 9128c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 9138c2ecf20Sopenharmony_ci clocks = <&osc24M>; 9148c2ecf20Sopenharmony_ci }; 9158c2ecf20Sopenharmony_ci 9168c2ecf20Sopenharmony_ci r_intc: interrupt-controller@7021000 { 9178c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-r-intc", 9188c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-r-intc"; 9198c2ecf20Sopenharmony_ci interrupt-controller; 9208c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 9218c2ecf20Sopenharmony_ci reg = <0x07021000 0x400>; 9228c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 9238c2ecf20Sopenharmony_ci }; 9248c2ecf20Sopenharmony_ci 9258c2ecf20Sopenharmony_ci r_pio: pinctrl@7022000 { 9268c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-r-pinctrl"; 9278c2ecf20Sopenharmony_ci reg = <0x07022000 0x400>; 9288c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 9298c2ecf20Sopenharmony_ci <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 9308c2ecf20Sopenharmony_ci clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>; 9318c2ecf20Sopenharmony_ci clock-names = "apb", "hosc", "losc"; 9328c2ecf20Sopenharmony_ci gpio-controller; 9338c2ecf20Sopenharmony_ci #gpio-cells = <3>; 9348c2ecf20Sopenharmony_ci interrupt-controller; 9358c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 9368c2ecf20Sopenharmony_ci 9378c2ecf20Sopenharmony_ci r_i2c_pins: r-i2c-pins { 9388c2ecf20Sopenharmony_ci pins = "PL0", "PL1"; 9398c2ecf20Sopenharmony_ci function = "s_i2c"; 9408c2ecf20Sopenharmony_ci }; 9418c2ecf20Sopenharmony_ci 9428c2ecf20Sopenharmony_ci r_ir_rx_pin: r-ir-rx-pin { 9438c2ecf20Sopenharmony_ci pins = "PL9"; 9448c2ecf20Sopenharmony_ci function = "s_cir_rx"; 9458c2ecf20Sopenharmony_ci }; 9468c2ecf20Sopenharmony_ci }; 9478c2ecf20Sopenharmony_ci 9488c2ecf20Sopenharmony_ci r_ir: ir@7040000 { 9498c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ir", 9508c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-ir"; 9518c2ecf20Sopenharmony_ci reg = <0x07040000 0x400>; 9528c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 9538c2ecf20Sopenharmony_ci clocks = <&r_ccu CLK_R_APB1_IR>, 9548c2ecf20Sopenharmony_ci <&r_ccu CLK_IR>; 9558c2ecf20Sopenharmony_ci clock-names = "apb", "ir"; 9568c2ecf20Sopenharmony_ci resets = <&r_ccu RST_R_APB1_IR>; 9578c2ecf20Sopenharmony_ci pinctrl-names = "default"; 9588c2ecf20Sopenharmony_ci pinctrl-0 = <&r_ir_rx_pin>; 9598c2ecf20Sopenharmony_ci status = "disabled"; 9608c2ecf20Sopenharmony_ci }; 9618c2ecf20Sopenharmony_ci 9628c2ecf20Sopenharmony_ci r_i2c: i2c@7081400 { 9638c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-i2c", 9648c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 9658c2ecf20Sopenharmony_ci reg = <0x07081400 0x400>; 9668c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 9678c2ecf20Sopenharmony_ci clocks = <&r_ccu CLK_R_APB2_I2C>; 9688c2ecf20Sopenharmony_ci resets = <&r_ccu RST_R_APB2_I2C>; 9698c2ecf20Sopenharmony_ci pinctrl-names = "default"; 9708c2ecf20Sopenharmony_ci pinctrl-0 = <&r_i2c_pins>; 9718c2ecf20Sopenharmony_ci status = "disabled"; 9728c2ecf20Sopenharmony_ci #address-cells = <1>; 9738c2ecf20Sopenharmony_ci #size-cells = <0>; 9748c2ecf20Sopenharmony_ci }; 9758c2ecf20Sopenharmony_ci 9768c2ecf20Sopenharmony_ci ths: thermal-sensor@5070400 { 9778c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-h6-ths"; 9788c2ecf20Sopenharmony_ci reg = <0x05070400 0x100>; 9798c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 9808c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_THS>; 9818c2ecf20Sopenharmony_ci clock-names = "bus"; 9828c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_THS>; 9838c2ecf20Sopenharmony_ci nvmem-cells = <&ths_calibration>; 9848c2ecf20Sopenharmony_ci nvmem-cell-names = "calibration"; 9858c2ecf20Sopenharmony_ci #thermal-sensor-cells = <1>; 9868c2ecf20Sopenharmony_ci }; 9878c2ecf20Sopenharmony_ci }; 9888c2ecf20Sopenharmony_ci 9898c2ecf20Sopenharmony_ci thermal-zones { 9908c2ecf20Sopenharmony_ci cpu-thermal { 9918c2ecf20Sopenharmony_ci polling-delay-passive = <0>; 9928c2ecf20Sopenharmony_ci polling-delay = <0>; 9938c2ecf20Sopenharmony_ci thermal-sensors = <&ths 0>; 9948c2ecf20Sopenharmony_ci 9958c2ecf20Sopenharmony_ci trips { 9968c2ecf20Sopenharmony_ci cpu_alert: cpu-alert { 9978c2ecf20Sopenharmony_ci temperature = <85000>; 9988c2ecf20Sopenharmony_ci hysteresis = <2000>; 9998c2ecf20Sopenharmony_ci type = "passive"; 10008c2ecf20Sopenharmony_ci }; 10018c2ecf20Sopenharmony_ci 10028c2ecf20Sopenharmony_ci cpu-crit { 10038c2ecf20Sopenharmony_ci temperature = <100000>; 10048c2ecf20Sopenharmony_ci hysteresis = <0>; 10058c2ecf20Sopenharmony_ci type = "critical"; 10068c2ecf20Sopenharmony_ci }; 10078c2ecf20Sopenharmony_ci }; 10088c2ecf20Sopenharmony_ci 10098c2ecf20Sopenharmony_ci cooling-maps { 10108c2ecf20Sopenharmony_ci map0 { 10118c2ecf20Sopenharmony_ci trip = <&cpu_alert>; 10128c2ecf20Sopenharmony_ci cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 10138c2ecf20Sopenharmony_ci <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 10148c2ecf20Sopenharmony_ci <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 10158c2ecf20Sopenharmony_ci <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 10168c2ecf20Sopenharmony_ci }; 10178c2ecf20Sopenharmony_ci }; 10188c2ecf20Sopenharmony_ci }; 10198c2ecf20Sopenharmony_ci 10208c2ecf20Sopenharmony_ci gpu-thermal { 10218c2ecf20Sopenharmony_ci polling-delay-passive = <0>; 10228c2ecf20Sopenharmony_ci polling-delay = <0>; 10238c2ecf20Sopenharmony_ci thermal-sensors = <&ths 1>; 10248c2ecf20Sopenharmony_ci }; 10258c2ecf20Sopenharmony_ci }; 10268c2ecf20Sopenharmony_ci}; 1027