18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (C) 2016 ARM Ltd. 38c2ecf20Sopenharmony_ci// based on the Allwinner H3 dtsi: 48c2ecf20Sopenharmony_ci// Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun50i-a64-ccu.h> 78c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun8i-de2.h> 88c2ecf20Sopenharmony_ci#include <dt-bindings/clock/sun8i-r-ccu.h> 98c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 108c2ecf20Sopenharmony_ci#include <dt-bindings/reset/sun50i-a64-ccu.h> 118c2ecf20Sopenharmony_ci#include <dt-bindings/reset/sun8i-de2.h> 128c2ecf20Sopenharmony_ci#include <dt-bindings/reset/sun8i-r-ccu.h> 138c2ecf20Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/ { 168c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 178c2ecf20Sopenharmony_ci #address-cells = <1>; 188c2ecf20Sopenharmony_ci #size-cells = <1>; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci chosen { 218c2ecf20Sopenharmony_ci #address-cells = <1>; 228c2ecf20Sopenharmony_ci #size-cells = <1>; 238c2ecf20Sopenharmony_ci ranges; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci simplefb_lcd: framebuffer-lcd { 268c2ecf20Sopenharmony_ci compatible = "allwinner,simple-framebuffer", 278c2ecf20Sopenharmony_ci "simple-framebuffer"; 288c2ecf20Sopenharmony_ci allwinner,pipeline = "mixer0-lcd0"; 298c2ecf20Sopenharmony_ci clocks = <&ccu CLK_TCON0>, 308c2ecf20Sopenharmony_ci <&display_clocks CLK_MIXER0>; 318c2ecf20Sopenharmony_ci status = "disabled"; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci simplefb_hdmi: framebuffer-hdmi { 358c2ecf20Sopenharmony_ci compatible = "allwinner,simple-framebuffer", 368c2ecf20Sopenharmony_ci "simple-framebuffer"; 378c2ecf20Sopenharmony_ci allwinner,pipeline = "mixer1-lcd1-hdmi"; 388c2ecf20Sopenharmony_ci clocks = <&display_clocks CLK_MIXER1>, 398c2ecf20Sopenharmony_ci <&ccu CLK_TCON1>, <&ccu CLK_HDMI>; 408c2ecf20Sopenharmony_ci status = "disabled"; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci }; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci cpus { 458c2ecf20Sopenharmony_ci #address-cells = <1>; 468c2ecf20Sopenharmony_ci #size-cells = <0>; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci cpu0: cpu@0 { 498c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 508c2ecf20Sopenharmony_ci device_type = "cpu"; 518c2ecf20Sopenharmony_ci reg = <0>; 528c2ecf20Sopenharmony_ci enable-method = "psci"; 538c2ecf20Sopenharmony_ci next-level-cache = <&L2>; 548c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 558c2ecf20Sopenharmony_ci clock-names = "cpu"; 568c2ecf20Sopenharmony_ci #cooling-cells = <2>; 578c2ecf20Sopenharmony_ci }; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci cpu1: cpu@1 { 608c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 618c2ecf20Sopenharmony_ci device_type = "cpu"; 628c2ecf20Sopenharmony_ci reg = <1>; 638c2ecf20Sopenharmony_ci enable-method = "psci"; 648c2ecf20Sopenharmony_ci next-level-cache = <&L2>; 658c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 668c2ecf20Sopenharmony_ci clock-names = "cpu"; 678c2ecf20Sopenharmony_ci #cooling-cells = <2>; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci cpu2: cpu@2 { 718c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 728c2ecf20Sopenharmony_ci device_type = "cpu"; 738c2ecf20Sopenharmony_ci reg = <2>; 748c2ecf20Sopenharmony_ci enable-method = "psci"; 758c2ecf20Sopenharmony_ci next-level-cache = <&L2>; 768c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 778c2ecf20Sopenharmony_ci clock-names = "cpu"; 788c2ecf20Sopenharmony_ci #cooling-cells = <2>; 798c2ecf20Sopenharmony_ci }; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci cpu3: cpu@3 { 828c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 838c2ecf20Sopenharmony_ci device_type = "cpu"; 848c2ecf20Sopenharmony_ci reg = <3>; 858c2ecf20Sopenharmony_ci enable-method = "psci"; 868c2ecf20Sopenharmony_ci next-level-cache = <&L2>; 878c2ecf20Sopenharmony_ci clocks = <&ccu CLK_CPUX>; 888c2ecf20Sopenharmony_ci clock-names = "cpu"; 898c2ecf20Sopenharmony_ci #cooling-cells = <2>; 908c2ecf20Sopenharmony_ci }; 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci L2: l2-cache { 938c2ecf20Sopenharmony_ci compatible = "cache"; 948c2ecf20Sopenharmony_ci cache-level = <2>; 958c2ecf20Sopenharmony_ci }; 968c2ecf20Sopenharmony_ci }; 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci de: display-engine { 998c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-display-engine"; 1008c2ecf20Sopenharmony_ci allwinner,pipelines = <&mixer0>, 1018c2ecf20Sopenharmony_ci <&mixer1>; 1028c2ecf20Sopenharmony_ci status = "disabled"; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci osc24M: osc24M_clk { 1068c2ecf20Sopenharmony_ci #clock-cells = <0>; 1078c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1088c2ecf20Sopenharmony_ci clock-frequency = <24000000>; 1098c2ecf20Sopenharmony_ci clock-output-names = "osc24M"; 1108c2ecf20Sopenharmony_ci }; 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ci osc32k: osc32k_clk { 1138c2ecf20Sopenharmony_ci #clock-cells = <0>; 1148c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1158c2ecf20Sopenharmony_ci clock-frequency = <32768>; 1168c2ecf20Sopenharmony_ci clock-output-names = "ext-osc32k"; 1178c2ecf20Sopenharmony_ci }; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci pmu { 1208c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 1218c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1228c2ecf20Sopenharmony_ci <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 1238c2ecf20Sopenharmony_ci <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1248c2ecf20Sopenharmony_ci <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1258c2ecf20Sopenharmony_ci interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 1268c2ecf20Sopenharmony_ci }; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci psci { 1298c2ecf20Sopenharmony_ci compatible = "arm,psci-0.2"; 1308c2ecf20Sopenharmony_ci method = "smc"; 1318c2ecf20Sopenharmony_ci }; 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci sound: sound { 1348c2ecf20Sopenharmony_ci compatible = "simple-audio-card"; 1358c2ecf20Sopenharmony_ci simple-audio-card,name = "sun50i-a64-audio"; 1368c2ecf20Sopenharmony_ci simple-audio-card,format = "i2s"; 1378c2ecf20Sopenharmony_ci simple-audio-card,frame-master = <&cpudai>; 1388c2ecf20Sopenharmony_ci simple-audio-card,bitclock-master = <&cpudai>; 1398c2ecf20Sopenharmony_ci simple-audio-card,mclk-fs = <128>; 1408c2ecf20Sopenharmony_ci simple-audio-card,aux-devs = <&codec_analog>; 1418c2ecf20Sopenharmony_ci simple-audio-card,routing = 1428c2ecf20Sopenharmony_ci "Left DAC", "DACL", 1438c2ecf20Sopenharmony_ci "Right DAC", "DACR", 1448c2ecf20Sopenharmony_ci "ADCL", "Left ADC", 1458c2ecf20Sopenharmony_ci "ADCR", "Right ADC"; 1468c2ecf20Sopenharmony_ci status = "disabled"; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci cpudai: simple-audio-card,cpu { 1498c2ecf20Sopenharmony_ci sound-dai = <&dai>; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci link_codec: simple-audio-card,codec { 1538c2ecf20Sopenharmony_ci sound-dai = <&codec>; 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci }; 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci timer { 1588c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 1598c2ecf20Sopenharmony_ci allwinner,erratum-unknown1; 1608c2ecf20Sopenharmony_ci arm,no-tick-in-suspend; 1618c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 1628c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1638c2ecf20Sopenharmony_ci <GIC_PPI 14 1648c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1658c2ecf20Sopenharmony_ci <GIC_PPI 11 1668c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1678c2ecf20Sopenharmony_ci <GIC_PPI 10 1688c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1698c2ecf20Sopenharmony_ci }; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci thermal-zones { 1728c2ecf20Sopenharmony_ci cpu_thermal: cpu0-thermal { 1738c2ecf20Sopenharmony_ci /* milliseconds */ 1748c2ecf20Sopenharmony_ci polling-delay-passive = <0>; 1758c2ecf20Sopenharmony_ci polling-delay = <0>; 1768c2ecf20Sopenharmony_ci thermal-sensors = <&ths 0>; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci cooling-maps { 1798c2ecf20Sopenharmony_ci map0 { 1808c2ecf20Sopenharmony_ci trip = <&cpu_alert0>; 1818c2ecf20Sopenharmony_ci cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1828c2ecf20Sopenharmony_ci <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1838c2ecf20Sopenharmony_ci <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1848c2ecf20Sopenharmony_ci <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1858c2ecf20Sopenharmony_ci }; 1868c2ecf20Sopenharmony_ci map1 { 1878c2ecf20Sopenharmony_ci trip = <&cpu_alert1>; 1888c2ecf20Sopenharmony_ci cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1898c2ecf20Sopenharmony_ci <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1908c2ecf20Sopenharmony_ci <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1918c2ecf20Sopenharmony_ci <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1928c2ecf20Sopenharmony_ci }; 1938c2ecf20Sopenharmony_ci }; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci trips { 1968c2ecf20Sopenharmony_ci cpu_alert0: cpu_alert0 { 1978c2ecf20Sopenharmony_ci /* milliCelsius */ 1988c2ecf20Sopenharmony_ci temperature = <75000>; 1998c2ecf20Sopenharmony_ci hysteresis = <2000>; 2008c2ecf20Sopenharmony_ci type = "passive"; 2018c2ecf20Sopenharmony_ci }; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci cpu_alert1: cpu_alert1 { 2048c2ecf20Sopenharmony_ci /* milliCelsius */ 2058c2ecf20Sopenharmony_ci temperature = <90000>; 2068c2ecf20Sopenharmony_ci hysteresis = <2000>; 2078c2ecf20Sopenharmony_ci type = "hot"; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci cpu_crit: cpu_crit { 2118c2ecf20Sopenharmony_ci /* milliCelsius */ 2128c2ecf20Sopenharmony_ci temperature = <110000>; 2138c2ecf20Sopenharmony_ci hysteresis = <2000>; 2148c2ecf20Sopenharmony_ci type = "critical"; 2158c2ecf20Sopenharmony_ci }; 2168c2ecf20Sopenharmony_ci }; 2178c2ecf20Sopenharmony_ci }; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci gpu0_thermal: gpu0-thermal { 2208c2ecf20Sopenharmony_ci /* milliseconds */ 2218c2ecf20Sopenharmony_ci polling-delay-passive = <0>; 2228c2ecf20Sopenharmony_ci polling-delay = <0>; 2238c2ecf20Sopenharmony_ci thermal-sensors = <&ths 1>; 2248c2ecf20Sopenharmony_ci }; 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci gpu1_thermal: gpu1-thermal { 2278c2ecf20Sopenharmony_ci /* milliseconds */ 2288c2ecf20Sopenharmony_ci polling-delay-passive = <0>; 2298c2ecf20Sopenharmony_ci polling-delay = <0>; 2308c2ecf20Sopenharmony_ci thermal-sensors = <&ths 2>; 2318c2ecf20Sopenharmony_ci }; 2328c2ecf20Sopenharmony_ci }; 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ci soc { 2358c2ecf20Sopenharmony_ci compatible = "simple-bus"; 2368c2ecf20Sopenharmony_ci #address-cells = <1>; 2378c2ecf20Sopenharmony_ci #size-cells = <1>; 2388c2ecf20Sopenharmony_ci ranges; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci bus@1000000 { 2418c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-de2"; 2428c2ecf20Sopenharmony_ci reg = <0x1000000 0x400000>; 2438c2ecf20Sopenharmony_ci allwinner,sram = <&de2_sram 1>; 2448c2ecf20Sopenharmony_ci #address-cells = <1>; 2458c2ecf20Sopenharmony_ci #size-cells = <1>; 2468c2ecf20Sopenharmony_ci ranges = <0 0x1000000 0x400000>; 2478c2ecf20Sopenharmony_ci 2488c2ecf20Sopenharmony_ci display_clocks: clock@0 { 2498c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-de2-clk"; 2508c2ecf20Sopenharmony_ci reg = <0x0 0x10000>; 2518c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_DE>, 2528c2ecf20Sopenharmony_ci <&ccu CLK_DE>; 2538c2ecf20Sopenharmony_ci clock-names = "bus", 2548c2ecf20Sopenharmony_ci "mod"; 2558c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_DE>; 2568c2ecf20Sopenharmony_ci #clock-cells = <1>; 2578c2ecf20Sopenharmony_ci #reset-cells = <1>; 2588c2ecf20Sopenharmony_ci }; 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci rotate: rotate@20000 { 2618c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-de2-rotate", 2628c2ecf20Sopenharmony_ci "allwinner,sun8i-a83t-de2-rotate"; 2638c2ecf20Sopenharmony_ci reg = <0x20000 0x10000>; 2648c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 2658c2ecf20Sopenharmony_ci clocks = <&display_clocks CLK_BUS_ROT>, 2668c2ecf20Sopenharmony_ci <&display_clocks CLK_ROT>; 2678c2ecf20Sopenharmony_ci clock-names = "bus", 2688c2ecf20Sopenharmony_ci "mod"; 2698c2ecf20Sopenharmony_ci resets = <&display_clocks RST_ROT>; 2708c2ecf20Sopenharmony_ci }; 2718c2ecf20Sopenharmony_ci 2728c2ecf20Sopenharmony_ci mixer0: mixer@100000 { 2738c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-de2-mixer-0"; 2748c2ecf20Sopenharmony_ci reg = <0x100000 0x100000>; 2758c2ecf20Sopenharmony_ci clocks = <&display_clocks CLK_BUS_MIXER0>, 2768c2ecf20Sopenharmony_ci <&display_clocks CLK_MIXER0>; 2778c2ecf20Sopenharmony_ci clock-names = "bus", 2788c2ecf20Sopenharmony_ci "mod"; 2798c2ecf20Sopenharmony_ci resets = <&display_clocks RST_MIXER0>; 2808c2ecf20Sopenharmony_ci 2818c2ecf20Sopenharmony_ci ports { 2828c2ecf20Sopenharmony_ci #address-cells = <1>; 2838c2ecf20Sopenharmony_ci #size-cells = <0>; 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci mixer0_out: port@1 { 2868c2ecf20Sopenharmony_ci #address-cells = <1>; 2878c2ecf20Sopenharmony_ci #size-cells = <0>; 2888c2ecf20Sopenharmony_ci reg = <1>; 2898c2ecf20Sopenharmony_ci 2908c2ecf20Sopenharmony_ci mixer0_out_tcon0: endpoint@0 { 2918c2ecf20Sopenharmony_ci reg = <0>; 2928c2ecf20Sopenharmony_ci remote-endpoint = <&tcon0_in_mixer0>; 2938c2ecf20Sopenharmony_ci }; 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ci mixer0_out_tcon1: endpoint@1 { 2968c2ecf20Sopenharmony_ci reg = <1>; 2978c2ecf20Sopenharmony_ci remote-endpoint = <&tcon1_in_mixer0>; 2988c2ecf20Sopenharmony_ci }; 2998c2ecf20Sopenharmony_ci }; 3008c2ecf20Sopenharmony_ci }; 3018c2ecf20Sopenharmony_ci }; 3028c2ecf20Sopenharmony_ci 3038c2ecf20Sopenharmony_ci mixer1: mixer@200000 { 3048c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-de2-mixer-1"; 3058c2ecf20Sopenharmony_ci reg = <0x200000 0x100000>; 3068c2ecf20Sopenharmony_ci clocks = <&display_clocks CLK_BUS_MIXER1>, 3078c2ecf20Sopenharmony_ci <&display_clocks CLK_MIXER1>; 3088c2ecf20Sopenharmony_ci clock-names = "bus", 3098c2ecf20Sopenharmony_ci "mod"; 3108c2ecf20Sopenharmony_ci resets = <&display_clocks RST_MIXER1>; 3118c2ecf20Sopenharmony_ci 3128c2ecf20Sopenharmony_ci ports { 3138c2ecf20Sopenharmony_ci #address-cells = <1>; 3148c2ecf20Sopenharmony_ci #size-cells = <0>; 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci mixer1_out: port@1 { 3178c2ecf20Sopenharmony_ci #address-cells = <1>; 3188c2ecf20Sopenharmony_ci #size-cells = <0>; 3198c2ecf20Sopenharmony_ci reg = <1>; 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_ci mixer1_out_tcon0: endpoint@0 { 3228c2ecf20Sopenharmony_ci reg = <0>; 3238c2ecf20Sopenharmony_ci remote-endpoint = <&tcon0_in_mixer1>; 3248c2ecf20Sopenharmony_ci }; 3258c2ecf20Sopenharmony_ci 3268c2ecf20Sopenharmony_ci mixer1_out_tcon1: endpoint@1 { 3278c2ecf20Sopenharmony_ci reg = <1>; 3288c2ecf20Sopenharmony_ci remote-endpoint = <&tcon1_in_mixer1>; 3298c2ecf20Sopenharmony_ci }; 3308c2ecf20Sopenharmony_ci }; 3318c2ecf20Sopenharmony_ci }; 3328c2ecf20Sopenharmony_ci }; 3338c2ecf20Sopenharmony_ci }; 3348c2ecf20Sopenharmony_ci 3358c2ecf20Sopenharmony_ci syscon: syscon@1c00000 { 3368c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-system-control"; 3378c2ecf20Sopenharmony_ci reg = <0x01c00000 0x1000>; 3388c2ecf20Sopenharmony_ci #address-cells = <1>; 3398c2ecf20Sopenharmony_ci #size-cells = <1>; 3408c2ecf20Sopenharmony_ci ranges; 3418c2ecf20Sopenharmony_ci 3428c2ecf20Sopenharmony_ci sram_c: sram@18000 { 3438c2ecf20Sopenharmony_ci compatible = "mmio-sram"; 3448c2ecf20Sopenharmony_ci reg = <0x00018000 0x28000>; 3458c2ecf20Sopenharmony_ci #address-cells = <1>; 3468c2ecf20Sopenharmony_ci #size-cells = <1>; 3478c2ecf20Sopenharmony_ci ranges = <0 0x00018000 0x28000>; 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ci de2_sram: sram-section@0 { 3508c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-sram-c"; 3518c2ecf20Sopenharmony_ci reg = <0x0000 0x28000>; 3528c2ecf20Sopenharmony_ci }; 3538c2ecf20Sopenharmony_ci }; 3548c2ecf20Sopenharmony_ci 3558c2ecf20Sopenharmony_ci sram_c1: sram@1d00000 { 3568c2ecf20Sopenharmony_ci compatible = "mmio-sram"; 3578c2ecf20Sopenharmony_ci reg = <0x01d00000 0x40000>; 3588c2ecf20Sopenharmony_ci #address-cells = <1>; 3598c2ecf20Sopenharmony_ci #size-cells = <1>; 3608c2ecf20Sopenharmony_ci ranges = <0 0x01d00000 0x40000>; 3618c2ecf20Sopenharmony_ci 3628c2ecf20Sopenharmony_ci ve_sram: sram-section@0 { 3638c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-sram-c1", 3648c2ecf20Sopenharmony_ci "allwinner,sun4i-a10-sram-c1"; 3658c2ecf20Sopenharmony_ci reg = <0x000000 0x40000>; 3668c2ecf20Sopenharmony_ci }; 3678c2ecf20Sopenharmony_ci }; 3688c2ecf20Sopenharmony_ci }; 3698c2ecf20Sopenharmony_ci 3708c2ecf20Sopenharmony_ci dma: dma-controller@1c02000 { 3718c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-dma"; 3728c2ecf20Sopenharmony_ci reg = <0x01c02000 0x1000>; 3738c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 3748c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_DMA>; 3758c2ecf20Sopenharmony_ci dma-channels = <8>; 3768c2ecf20Sopenharmony_ci dma-requests = <27>; 3778c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_DMA>; 3788c2ecf20Sopenharmony_ci #dma-cells = <1>; 3798c2ecf20Sopenharmony_ci }; 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_ci tcon0: lcd-controller@1c0c000 { 3828c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-tcon-lcd", 3838c2ecf20Sopenharmony_ci "allwinner,sun8i-a83t-tcon-lcd"; 3848c2ecf20Sopenharmony_ci reg = <0x01c0c000 0x1000>; 3858c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 3868c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>; 3878c2ecf20Sopenharmony_ci clock-names = "ahb", "tcon-ch0"; 3888c2ecf20Sopenharmony_ci clock-output-names = "tcon-pixel-clock"; 3898c2ecf20Sopenharmony_ci #clock-cells = <0>; 3908c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>; 3918c2ecf20Sopenharmony_ci reset-names = "lcd", "lvds"; 3928c2ecf20Sopenharmony_ci 3938c2ecf20Sopenharmony_ci ports { 3948c2ecf20Sopenharmony_ci #address-cells = <1>; 3958c2ecf20Sopenharmony_ci #size-cells = <0>; 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_ci tcon0_in: port@0 { 3988c2ecf20Sopenharmony_ci #address-cells = <1>; 3998c2ecf20Sopenharmony_ci #size-cells = <0>; 4008c2ecf20Sopenharmony_ci reg = <0>; 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_ci tcon0_in_mixer0: endpoint@0 { 4038c2ecf20Sopenharmony_ci reg = <0>; 4048c2ecf20Sopenharmony_ci remote-endpoint = <&mixer0_out_tcon0>; 4058c2ecf20Sopenharmony_ci }; 4068c2ecf20Sopenharmony_ci 4078c2ecf20Sopenharmony_ci tcon0_in_mixer1: endpoint@1 { 4088c2ecf20Sopenharmony_ci reg = <1>; 4098c2ecf20Sopenharmony_ci remote-endpoint = <&mixer1_out_tcon0>; 4108c2ecf20Sopenharmony_ci }; 4118c2ecf20Sopenharmony_ci }; 4128c2ecf20Sopenharmony_ci 4138c2ecf20Sopenharmony_ci tcon0_out: port@1 { 4148c2ecf20Sopenharmony_ci #address-cells = <1>; 4158c2ecf20Sopenharmony_ci #size-cells = <0>; 4168c2ecf20Sopenharmony_ci reg = <1>; 4178c2ecf20Sopenharmony_ci 4188c2ecf20Sopenharmony_ci tcon0_out_dsi: endpoint@1 { 4198c2ecf20Sopenharmony_ci reg = <1>; 4208c2ecf20Sopenharmony_ci remote-endpoint = <&dsi_in_tcon0>; 4218c2ecf20Sopenharmony_ci allwinner,tcon-channel = <1>; 4228c2ecf20Sopenharmony_ci }; 4238c2ecf20Sopenharmony_ci }; 4248c2ecf20Sopenharmony_ci }; 4258c2ecf20Sopenharmony_ci }; 4268c2ecf20Sopenharmony_ci 4278c2ecf20Sopenharmony_ci tcon1: lcd-controller@1c0d000 { 4288c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-tcon-tv", 4298c2ecf20Sopenharmony_ci "allwinner,sun8i-a83t-tcon-tv"; 4308c2ecf20Sopenharmony_ci reg = <0x01c0d000 0x1000>; 4318c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 4328c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>; 4338c2ecf20Sopenharmony_ci clock-names = "ahb", "tcon-ch1"; 4348c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_TCON1>; 4358c2ecf20Sopenharmony_ci reset-names = "lcd"; 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_ci ports { 4388c2ecf20Sopenharmony_ci #address-cells = <1>; 4398c2ecf20Sopenharmony_ci #size-cells = <0>; 4408c2ecf20Sopenharmony_ci 4418c2ecf20Sopenharmony_ci tcon1_in: port@0 { 4428c2ecf20Sopenharmony_ci #address-cells = <1>; 4438c2ecf20Sopenharmony_ci #size-cells = <0>; 4448c2ecf20Sopenharmony_ci reg = <0>; 4458c2ecf20Sopenharmony_ci 4468c2ecf20Sopenharmony_ci tcon1_in_mixer0: endpoint@0 { 4478c2ecf20Sopenharmony_ci reg = <0>; 4488c2ecf20Sopenharmony_ci remote-endpoint = <&mixer0_out_tcon1>; 4498c2ecf20Sopenharmony_ci }; 4508c2ecf20Sopenharmony_ci 4518c2ecf20Sopenharmony_ci tcon1_in_mixer1: endpoint@1 { 4528c2ecf20Sopenharmony_ci reg = <1>; 4538c2ecf20Sopenharmony_ci remote-endpoint = <&mixer1_out_tcon1>; 4548c2ecf20Sopenharmony_ci }; 4558c2ecf20Sopenharmony_ci }; 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ci tcon1_out: port@1 { 4588c2ecf20Sopenharmony_ci #address-cells = <1>; 4598c2ecf20Sopenharmony_ci #size-cells = <0>; 4608c2ecf20Sopenharmony_ci reg = <1>; 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_ci tcon1_out_hdmi: endpoint@1 { 4638c2ecf20Sopenharmony_ci reg = <1>; 4648c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_in_tcon1>; 4658c2ecf20Sopenharmony_ci }; 4668c2ecf20Sopenharmony_ci }; 4678c2ecf20Sopenharmony_ci }; 4688c2ecf20Sopenharmony_ci }; 4698c2ecf20Sopenharmony_ci 4708c2ecf20Sopenharmony_ci video-codec@1c0e000 { 4718c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-video-engine"; 4728c2ecf20Sopenharmony_ci reg = <0x01c0e000 0x1000>; 4738c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, 4748c2ecf20Sopenharmony_ci <&ccu CLK_DRAM_VE>; 4758c2ecf20Sopenharmony_ci clock-names = "ahb", "mod", "ram"; 4768c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_VE>; 4778c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 4788c2ecf20Sopenharmony_ci allwinner,sram = <&ve_sram 1>; 4798c2ecf20Sopenharmony_ci }; 4808c2ecf20Sopenharmony_ci 4818c2ecf20Sopenharmony_ci mmc0: mmc@1c0f000 { 4828c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-mmc"; 4838c2ecf20Sopenharmony_ci reg = <0x01c0f000 0x1000>; 4848c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 4858c2ecf20Sopenharmony_ci clock-names = "ahb", "mmc"; 4868c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MMC0>; 4878c2ecf20Sopenharmony_ci reset-names = "ahb"; 4888c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 4898c2ecf20Sopenharmony_ci max-frequency = <150000000>; 4908c2ecf20Sopenharmony_ci status = "disabled"; 4918c2ecf20Sopenharmony_ci #address-cells = <1>; 4928c2ecf20Sopenharmony_ci #size-cells = <0>; 4938c2ecf20Sopenharmony_ci }; 4948c2ecf20Sopenharmony_ci 4958c2ecf20Sopenharmony_ci mmc1: mmc@1c10000 { 4968c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-mmc"; 4978c2ecf20Sopenharmony_ci reg = <0x01c10000 0x1000>; 4988c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 4998c2ecf20Sopenharmony_ci clock-names = "ahb", "mmc"; 5008c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MMC1>; 5018c2ecf20Sopenharmony_ci reset-names = "ahb"; 5028c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 5038c2ecf20Sopenharmony_ci max-frequency = <150000000>; 5048c2ecf20Sopenharmony_ci status = "disabled"; 5058c2ecf20Sopenharmony_ci #address-cells = <1>; 5068c2ecf20Sopenharmony_ci #size-cells = <0>; 5078c2ecf20Sopenharmony_ci }; 5088c2ecf20Sopenharmony_ci 5098c2ecf20Sopenharmony_ci mmc2: mmc@1c11000 { 5108c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-emmc"; 5118c2ecf20Sopenharmony_ci reg = <0x01c11000 0x1000>; 5128c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 5138c2ecf20Sopenharmony_ci clock-names = "ahb", "mmc"; 5148c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MMC2>; 5158c2ecf20Sopenharmony_ci reset-names = "ahb"; 5168c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 5178c2ecf20Sopenharmony_ci max-frequency = <150000000>; 5188c2ecf20Sopenharmony_ci status = "disabled"; 5198c2ecf20Sopenharmony_ci #address-cells = <1>; 5208c2ecf20Sopenharmony_ci #size-cells = <0>; 5218c2ecf20Sopenharmony_ci }; 5228c2ecf20Sopenharmony_ci 5238c2ecf20Sopenharmony_ci sid: eeprom@1c14000 { 5248c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-sid"; 5258c2ecf20Sopenharmony_ci reg = <0x1c14000 0x400>; 5268c2ecf20Sopenharmony_ci #address-cells = <1>; 5278c2ecf20Sopenharmony_ci #size-cells = <1>; 5288c2ecf20Sopenharmony_ci 5298c2ecf20Sopenharmony_ci ths_calibration: thermal-sensor-calibration@34 { 5308c2ecf20Sopenharmony_ci reg = <0x34 0x8>; 5318c2ecf20Sopenharmony_ci }; 5328c2ecf20Sopenharmony_ci }; 5338c2ecf20Sopenharmony_ci 5348c2ecf20Sopenharmony_ci crypto: crypto@1c15000 { 5358c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-crypto"; 5368c2ecf20Sopenharmony_ci reg = <0x01c15000 0x1000>; 5378c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 5388c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>; 5398c2ecf20Sopenharmony_ci clock-names = "bus", "mod"; 5408c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_CE>; 5418c2ecf20Sopenharmony_ci }; 5428c2ecf20Sopenharmony_ci 5438c2ecf20Sopenharmony_ci msgbox: mailbox@1c17000 { 5448c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-msgbox", 5458c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-msgbox"; 5468c2ecf20Sopenharmony_ci reg = <0x01c17000 0x1000>; 5478c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MSGBOX>; 5488c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MSGBOX>; 5498c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 5508c2ecf20Sopenharmony_ci #mbox-cells = <1>; 5518c2ecf20Sopenharmony_ci }; 5528c2ecf20Sopenharmony_ci 5538c2ecf20Sopenharmony_ci usb_otg: usb@1c19000 { 5548c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a33-musb"; 5558c2ecf20Sopenharmony_ci reg = <0x01c19000 0x0400>; 5568c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OTG>; 5578c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OTG>; 5588c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 5598c2ecf20Sopenharmony_ci interrupt-names = "mc"; 5608c2ecf20Sopenharmony_ci phys = <&usbphy 0>; 5618c2ecf20Sopenharmony_ci phy-names = "usb"; 5628c2ecf20Sopenharmony_ci extcon = <&usbphy 0>; 5638c2ecf20Sopenharmony_ci dr_mode = "otg"; 5648c2ecf20Sopenharmony_ci status = "disabled"; 5658c2ecf20Sopenharmony_ci }; 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_ci usbphy: phy@1c19400 { 5688c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-usb-phy"; 5698c2ecf20Sopenharmony_ci reg = <0x01c19400 0x14>, 5708c2ecf20Sopenharmony_ci <0x01c1a800 0x4>, 5718c2ecf20Sopenharmony_ci <0x01c1b800 0x4>; 5728c2ecf20Sopenharmony_ci reg-names = "phy_ctrl", 5738c2ecf20Sopenharmony_ci "pmu0", 5748c2ecf20Sopenharmony_ci "pmu1"; 5758c2ecf20Sopenharmony_ci clocks = <&ccu CLK_USB_PHY0>, 5768c2ecf20Sopenharmony_ci <&ccu CLK_USB_PHY1>; 5778c2ecf20Sopenharmony_ci clock-names = "usb0_phy", 5788c2ecf20Sopenharmony_ci "usb1_phy"; 5798c2ecf20Sopenharmony_ci resets = <&ccu RST_USB_PHY0>, 5808c2ecf20Sopenharmony_ci <&ccu RST_USB_PHY1>; 5818c2ecf20Sopenharmony_ci reset-names = "usb0_reset", 5828c2ecf20Sopenharmony_ci "usb1_reset"; 5838c2ecf20Sopenharmony_ci status = "disabled"; 5848c2ecf20Sopenharmony_ci #phy-cells = <1>; 5858c2ecf20Sopenharmony_ci }; 5868c2ecf20Sopenharmony_ci 5878c2ecf20Sopenharmony_ci ehci0: usb@1c1a000 { 5888c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ehci", "generic-ehci"; 5898c2ecf20Sopenharmony_ci reg = <0x01c1a000 0x100>; 5908c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 5918c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI0>, 5928c2ecf20Sopenharmony_ci <&ccu CLK_BUS_EHCI0>, 5938c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI0>; 5948c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI0>, 5958c2ecf20Sopenharmony_ci <&ccu RST_BUS_EHCI0>; 5968c2ecf20Sopenharmony_ci phys = <&usbphy 0>; 5978c2ecf20Sopenharmony_ci phy-names = "usb"; 5988c2ecf20Sopenharmony_ci status = "disabled"; 5998c2ecf20Sopenharmony_ci }; 6008c2ecf20Sopenharmony_ci 6018c2ecf20Sopenharmony_ci ohci0: usb@1c1a400 { 6028c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ohci", "generic-ohci"; 6038c2ecf20Sopenharmony_ci reg = <0x01c1a400 0x100>; 6048c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 6058c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI0>, 6068c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI0>; 6078c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI0>; 6088c2ecf20Sopenharmony_ci phys = <&usbphy 0>; 6098c2ecf20Sopenharmony_ci phy-names = "usb"; 6108c2ecf20Sopenharmony_ci status = "disabled"; 6118c2ecf20Sopenharmony_ci }; 6128c2ecf20Sopenharmony_ci 6138c2ecf20Sopenharmony_ci ehci1: usb@1c1b000 { 6148c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ehci", "generic-ehci"; 6158c2ecf20Sopenharmony_ci reg = <0x01c1b000 0x100>; 6168c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 6178c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI1>, 6188c2ecf20Sopenharmony_ci <&ccu CLK_BUS_EHCI1>, 6198c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI1>; 6208c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI1>, 6218c2ecf20Sopenharmony_ci <&ccu RST_BUS_EHCI1>; 6228c2ecf20Sopenharmony_ci phys = <&usbphy 1>; 6238c2ecf20Sopenharmony_ci phy-names = "usb"; 6248c2ecf20Sopenharmony_ci status = "disabled"; 6258c2ecf20Sopenharmony_ci }; 6268c2ecf20Sopenharmony_ci 6278c2ecf20Sopenharmony_ci ohci1: usb@1c1b400 { 6288c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ohci", "generic-ohci"; 6298c2ecf20Sopenharmony_ci reg = <0x01c1b400 0x100>; 6308c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 6318c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI1>, 6328c2ecf20Sopenharmony_ci <&ccu CLK_USB_OHCI1>; 6338c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_OHCI1>; 6348c2ecf20Sopenharmony_ci phys = <&usbphy 1>; 6358c2ecf20Sopenharmony_ci phy-names = "usb"; 6368c2ecf20Sopenharmony_ci status = "disabled"; 6378c2ecf20Sopenharmony_ci }; 6388c2ecf20Sopenharmony_ci 6398c2ecf20Sopenharmony_ci ccu: clock@1c20000 { 6408c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ccu"; 6418c2ecf20Sopenharmony_ci reg = <0x01c20000 0x400>; 6428c2ecf20Sopenharmony_ci clocks = <&osc24M>, <&rtc 0>; 6438c2ecf20Sopenharmony_ci clock-names = "hosc", "losc"; 6448c2ecf20Sopenharmony_ci #clock-cells = <1>; 6458c2ecf20Sopenharmony_ci #reset-cells = <1>; 6468c2ecf20Sopenharmony_ci }; 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_ci pio: pinctrl@1c20800 { 6498c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-pinctrl"; 6508c2ecf20Sopenharmony_ci reg = <0x01c20800 0x400>; 6518c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 6528c2ecf20Sopenharmony_ci <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 6538c2ecf20Sopenharmony_ci <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 6548c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>; 6558c2ecf20Sopenharmony_ci clock-names = "apb", "hosc", "losc"; 6568c2ecf20Sopenharmony_ci gpio-controller; 6578c2ecf20Sopenharmony_ci #gpio-cells = <3>; 6588c2ecf20Sopenharmony_ci interrupt-controller; 6598c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 6608c2ecf20Sopenharmony_ci 6618c2ecf20Sopenharmony_ci csi_pins: csi-pins { 6628c2ecf20Sopenharmony_ci pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", 6638c2ecf20Sopenharmony_ci "PE7", "PE8", "PE9", "PE10", "PE11"; 6648c2ecf20Sopenharmony_ci function = "csi"; 6658c2ecf20Sopenharmony_ci }; 6668c2ecf20Sopenharmony_ci 6678c2ecf20Sopenharmony_ci /omit-if-no-ref/ 6688c2ecf20Sopenharmony_ci csi_mclk_pin: csi-mclk-pin { 6698c2ecf20Sopenharmony_ci pins = "PE1"; 6708c2ecf20Sopenharmony_ci function = "csi"; 6718c2ecf20Sopenharmony_ci }; 6728c2ecf20Sopenharmony_ci 6738c2ecf20Sopenharmony_ci i2c0_pins: i2c0-pins { 6748c2ecf20Sopenharmony_ci pins = "PH0", "PH1"; 6758c2ecf20Sopenharmony_ci function = "i2c0"; 6768c2ecf20Sopenharmony_ci }; 6778c2ecf20Sopenharmony_ci 6788c2ecf20Sopenharmony_ci i2c1_pins: i2c1-pins { 6798c2ecf20Sopenharmony_ci pins = "PH2", "PH3"; 6808c2ecf20Sopenharmony_ci function = "i2c1"; 6818c2ecf20Sopenharmony_ci }; 6828c2ecf20Sopenharmony_ci 6838c2ecf20Sopenharmony_ci i2c2_pins: i2c2-pins { 6848c2ecf20Sopenharmony_ci pins = "PE14", "PE15"; 6858c2ecf20Sopenharmony_ci function = "i2c2"; 6868c2ecf20Sopenharmony_ci }; 6878c2ecf20Sopenharmony_ci 6888c2ecf20Sopenharmony_ci /omit-if-no-ref/ 6898c2ecf20Sopenharmony_ci lcd_rgb666_pins: lcd-rgb666-pins { 6908c2ecf20Sopenharmony_ci pins = "PD0", "PD1", "PD2", "PD3", "PD4", 6918c2ecf20Sopenharmony_ci "PD5", "PD6", "PD7", "PD8", "PD9", 6928c2ecf20Sopenharmony_ci "PD10", "PD11", "PD12", "PD13", 6938c2ecf20Sopenharmony_ci "PD14", "PD15", "PD16", "PD17", 6948c2ecf20Sopenharmony_ci "PD18", "PD19", "PD20", "PD21"; 6958c2ecf20Sopenharmony_ci function = "lcd0"; 6968c2ecf20Sopenharmony_ci }; 6978c2ecf20Sopenharmony_ci 6988c2ecf20Sopenharmony_ci mmc0_pins: mmc0-pins { 6998c2ecf20Sopenharmony_ci pins = "PF0", "PF1", "PF2", "PF3", 7008c2ecf20Sopenharmony_ci "PF4", "PF5"; 7018c2ecf20Sopenharmony_ci function = "mmc0"; 7028c2ecf20Sopenharmony_ci drive-strength = <30>; 7038c2ecf20Sopenharmony_ci bias-pull-up; 7048c2ecf20Sopenharmony_ci }; 7058c2ecf20Sopenharmony_ci 7068c2ecf20Sopenharmony_ci mmc1_pins: mmc1-pins { 7078c2ecf20Sopenharmony_ci pins = "PG0", "PG1", "PG2", "PG3", 7088c2ecf20Sopenharmony_ci "PG4", "PG5"; 7098c2ecf20Sopenharmony_ci function = "mmc1"; 7108c2ecf20Sopenharmony_ci drive-strength = <30>; 7118c2ecf20Sopenharmony_ci bias-pull-up; 7128c2ecf20Sopenharmony_ci }; 7138c2ecf20Sopenharmony_ci 7148c2ecf20Sopenharmony_ci mmc2_pins: mmc2-pins { 7158c2ecf20Sopenharmony_ci pins = "PC5", "PC6", "PC8", "PC9", 7168c2ecf20Sopenharmony_ci "PC10","PC11", "PC12", "PC13", 7178c2ecf20Sopenharmony_ci "PC14", "PC15", "PC16"; 7188c2ecf20Sopenharmony_ci function = "mmc2"; 7198c2ecf20Sopenharmony_ci drive-strength = <30>; 7208c2ecf20Sopenharmony_ci bias-pull-up; 7218c2ecf20Sopenharmony_ci }; 7228c2ecf20Sopenharmony_ci 7238c2ecf20Sopenharmony_ci mmc2_ds_pin: mmc2-ds-pin { 7248c2ecf20Sopenharmony_ci pins = "PC1"; 7258c2ecf20Sopenharmony_ci function = "mmc2"; 7268c2ecf20Sopenharmony_ci drive-strength = <30>; 7278c2ecf20Sopenharmony_ci bias-pull-up; 7288c2ecf20Sopenharmony_ci }; 7298c2ecf20Sopenharmony_ci 7308c2ecf20Sopenharmony_ci pwm_pin: pwm-pin { 7318c2ecf20Sopenharmony_ci pins = "PD22"; 7328c2ecf20Sopenharmony_ci function = "pwm"; 7338c2ecf20Sopenharmony_ci }; 7348c2ecf20Sopenharmony_ci 7358c2ecf20Sopenharmony_ci rmii_pins: rmii-pins { 7368c2ecf20Sopenharmony_ci pins = "PD10", "PD11", "PD13", "PD14", "PD17", 7378c2ecf20Sopenharmony_ci "PD18", "PD19", "PD20", "PD22", "PD23"; 7388c2ecf20Sopenharmony_ci function = "emac"; 7398c2ecf20Sopenharmony_ci drive-strength = <40>; 7408c2ecf20Sopenharmony_ci }; 7418c2ecf20Sopenharmony_ci 7428c2ecf20Sopenharmony_ci rgmii_pins: rgmii-pins { 7438c2ecf20Sopenharmony_ci pins = "PD8", "PD9", "PD10", "PD11", "PD12", 7448c2ecf20Sopenharmony_ci "PD13", "PD15", "PD16", "PD17", "PD18", 7458c2ecf20Sopenharmony_ci "PD19", "PD20", "PD21", "PD22", "PD23"; 7468c2ecf20Sopenharmony_ci function = "emac"; 7478c2ecf20Sopenharmony_ci drive-strength = <40>; 7488c2ecf20Sopenharmony_ci }; 7498c2ecf20Sopenharmony_ci 7508c2ecf20Sopenharmony_ci spdif_tx_pin: spdif-tx-pin { 7518c2ecf20Sopenharmony_ci pins = "PH8"; 7528c2ecf20Sopenharmony_ci function = "spdif"; 7538c2ecf20Sopenharmony_ci }; 7548c2ecf20Sopenharmony_ci 7558c2ecf20Sopenharmony_ci spi0_pins: spi0-pins { 7568c2ecf20Sopenharmony_ci pins = "PC0", "PC1", "PC2", "PC3"; 7578c2ecf20Sopenharmony_ci function = "spi0"; 7588c2ecf20Sopenharmony_ci }; 7598c2ecf20Sopenharmony_ci 7608c2ecf20Sopenharmony_ci spi1_pins: spi1-pins { 7618c2ecf20Sopenharmony_ci pins = "PD0", "PD1", "PD2", "PD3"; 7628c2ecf20Sopenharmony_ci function = "spi1"; 7638c2ecf20Sopenharmony_ci }; 7648c2ecf20Sopenharmony_ci 7658c2ecf20Sopenharmony_ci uart0_pb_pins: uart0-pb-pins { 7668c2ecf20Sopenharmony_ci pins = "PB8", "PB9"; 7678c2ecf20Sopenharmony_ci function = "uart0"; 7688c2ecf20Sopenharmony_ci }; 7698c2ecf20Sopenharmony_ci 7708c2ecf20Sopenharmony_ci uart1_pins: uart1-pins { 7718c2ecf20Sopenharmony_ci pins = "PG6", "PG7"; 7728c2ecf20Sopenharmony_ci function = "uart1"; 7738c2ecf20Sopenharmony_ci }; 7748c2ecf20Sopenharmony_ci 7758c2ecf20Sopenharmony_ci uart1_rts_cts_pins: uart1-rts-cts-pins { 7768c2ecf20Sopenharmony_ci pins = "PG8", "PG9"; 7778c2ecf20Sopenharmony_ci function = "uart1"; 7788c2ecf20Sopenharmony_ci }; 7798c2ecf20Sopenharmony_ci 7808c2ecf20Sopenharmony_ci uart2_pins: uart2-pins { 7818c2ecf20Sopenharmony_ci pins = "PB0", "PB1"; 7828c2ecf20Sopenharmony_ci function = "uart2"; 7838c2ecf20Sopenharmony_ci }; 7848c2ecf20Sopenharmony_ci 7858c2ecf20Sopenharmony_ci uart3_pins: uart3-pins { 7868c2ecf20Sopenharmony_ci pins = "PD0", "PD1"; 7878c2ecf20Sopenharmony_ci function = "uart3"; 7888c2ecf20Sopenharmony_ci }; 7898c2ecf20Sopenharmony_ci 7908c2ecf20Sopenharmony_ci uart4_pins: uart4-pins { 7918c2ecf20Sopenharmony_ci pins = "PD2", "PD3"; 7928c2ecf20Sopenharmony_ci function = "uart4"; 7938c2ecf20Sopenharmony_ci }; 7948c2ecf20Sopenharmony_ci 7958c2ecf20Sopenharmony_ci uart4_rts_cts_pins: uart4-rts-cts-pins { 7968c2ecf20Sopenharmony_ci pins = "PD4", "PD5"; 7978c2ecf20Sopenharmony_ci function = "uart4"; 7988c2ecf20Sopenharmony_ci }; 7998c2ecf20Sopenharmony_ci }; 8008c2ecf20Sopenharmony_ci 8018c2ecf20Sopenharmony_ci spdif: spdif@1c21000 { 8028c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8038c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-spdif", 8048c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-spdif"; 8058c2ecf20Sopenharmony_ci reg = <0x01c21000 0x400>; 8068c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 8078c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 8088c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_SPDIF>; 8098c2ecf20Sopenharmony_ci clock-names = "apb", "spdif"; 8108c2ecf20Sopenharmony_ci dmas = <&dma 2>; 8118c2ecf20Sopenharmony_ci dma-names = "tx"; 8128c2ecf20Sopenharmony_ci pinctrl-names = "default"; 8138c2ecf20Sopenharmony_ci pinctrl-0 = <&spdif_tx_pin>; 8148c2ecf20Sopenharmony_ci status = "disabled"; 8158c2ecf20Sopenharmony_ci }; 8168c2ecf20Sopenharmony_ci 8178c2ecf20Sopenharmony_ci lradc: lradc@1c21800 { 8188c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-lradc", 8198c2ecf20Sopenharmony_ci "allwinner,sun8i-a83t-r-lradc"; 8208c2ecf20Sopenharmony_ci reg = <0x01c21800 0x400>; 8218c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 8228c2ecf20Sopenharmony_ci status = "disabled"; 8238c2ecf20Sopenharmony_ci }; 8248c2ecf20Sopenharmony_ci 8258c2ecf20Sopenharmony_ci i2s0: i2s@1c22000 { 8268c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8278c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-i2s", 8288c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-i2s"; 8298c2ecf20Sopenharmony_ci reg = <0x01c22000 0x400>; 8308c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 8318c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>; 8328c2ecf20Sopenharmony_ci clock-names = "apb", "mod"; 8338c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2S0>; 8348c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 8358c2ecf20Sopenharmony_ci dmas = <&dma 3>, <&dma 3>; 8368c2ecf20Sopenharmony_ci status = "disabled"; 8378c2ecf20Sopenharmony_ci }; 8388c2ecf20Sopenharmony_ci 8398c2ecf20Sopenharmony_ci i2s1: i2s@1c22400 { 8408c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8418c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-i2s", 8428c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-i2s"; 8438c2ecf20Sopenharmony_ci reg = <0x01c22400 0x400>; 8448c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 8458c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>; 8468c2ecf20Sopenharmony_ci clock-names = "apb", "mod"; 8478c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2S1>; 8488c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 8498c2ecf20Sopenharmony_ci dmas = <&dma 4>, <&dma 4>; 8508c2ecf20Sopenharmony_ci status = "disabled"; 8518c2ecf20Sopenharmony_ci }; 8528c2ecf20Sopenharmony_ci 8538c2ecf20Sopenharmony_ci dai: dai@1c22c00 { 8548c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8558c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-codec-i2s"; 8568c2ecf20Sopenharmony_ci reg = <0x01c22c00 0x200>; 8578c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 8588c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; 8598c2ecf20Sopenharmony_ci clock-names = "apb", "mod"; 8608c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_CODEC>; 8618c2ecf20Sopenharmony_ci dmas = <&dma 15>, <&dma 15>; 8628c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 8638c2ecf20Sopenharmony_ci status = "disabled"; 8648c2ecf20Sopenharmony_ci }; 8658c2ecf20Sopenharmony_ci 8668c2ecf20Sopenharmony_ci codec: codec@1c22e00 { 8678c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8688c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-codec", 8698c2ecf20Sopenharmony_ci "allwinner,sun8i-a33-codec"; 8708c2ecf20Sopenharmony_ci reg = <0x01c22e00 0x600>; 8718c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 8728c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; 8738c2ecf20Sopenharmony_ci clock-names = "bus", "mod"; 8748c2ecf20Sopenharmony_ci status = "disabled"; 8758c2ecf20Sopenharmony_ci }; 8768c2ecf20Sopenharmony_ci 8778c2ecf20Sopenharmony_ci ths: thermal-sensor@1c25000 { 8788c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ths"; 8798c2ecf20Sopenharmony_ci reg = <0x01c25000 0x100>; 8808c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; 8818c2ecf20Sopenharmony_ci clock-names = "bus", "mod"; 8828c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 8838c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_THS>; 8848c2ecf20Sopenharmony_ci nvmem-cells = <&ths_calibration>; 8858c2ecf20Sopenharmony_ci nvmem-cell-names = "calibration"; 8868c2ecf20Sopenharmony_ci #thermal-sensor-cells = <1>; 8878c2ecf20Sopenharmony_ci }; 8888c2ecf20Sopenharmony_ci 8898c2ecf20Sopenharmony_ci uart0: serial@1c28000 { 8908c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 8918c2ecf20Sopenharmony_ci reg = <0x01c28000 0x400>; 8928c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 8938c2ecf20Sopenharmony_ci reg-shift = <2>; 8948c2ecf20Sopenharmony_ci reg-io-width = <4>; 8958c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART0>; 8968c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART0>; 8978c2ecf20Sopenharmony_ci status = "disabled"; 8988c2ecf20Sopenharmony_ci }; 8998c2ecf20Sopenharmony_ci 9008c2ecf20Sopenharmony_ci uart1: serial@1c28400 { 9018c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 9028c2ecf20Sopenharmony_ci reg = <0x01c28400 0x400>; 9038c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 9048c2ecf20Sopenharmony_ci reg-shift = <2>; 9058c2ecf20Sopenharmony_ci reg-io-width = <4>; 9068c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART1>; 9078c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART1>; 9088c2ecf20Sopenharmony_ci status = "disabled"; 9098c2ecf20Sopenharmony_ci }; 9108c2ecf20Sopenharmony_ci 9118c2ecf20Sopenharmony_ci uart2: serial@1c28800 { 9128c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 9138c2ecf20Sopenharmony_ci reg = <0x01c28800 0x400>; 9148c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 9158c2ecf20Sopenharmony_ci reg-shift = <2>; 9168c2ecf20Sopenharmony_ci reg-io-width = <4>; 9178c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART2>; 9188c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART2>; 9198c2ecf20Sopenharmony_ci status = "disabled"; 9208c2ecf20Sopenharmony_ci }; 9218c2ecf20Sopenharmony_ci 9228c2ecf20Sopenharmony_ci uart3: serial@1c28c00 { 9238c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 9248c2ecf20Sopenharmony_ci reg = <0x01c28c00 0x400>; 9258c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 9268c2ecf20Sopenharmony_ci reg-shift = <2>; 9278c2ecf20Sopenharmony_ci reg-io-width = <4>; 9288c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART3>; 9298c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART3>; 9308c2ecf20Sopenharmony_ci status = "disabled"; 9318c2ecf20Sopenharmony_ci }; 9328c2ecf20Sopenharmony_ci 9338c2ecf20Sopenharmony_ci uart4: serial@1c29000 { 9348c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 9358c2ecf20Sopenharmony_ci reg = <0x01c29000 0x400>; 9368c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 9378c2ecf20Sopenharmony_ci reg-shift = <2>; 9388c2ecf20Sopenharmony_ci reg-io-width = <4>; 9398c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_UART4>; 9408c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_UART4>; 9418c2ecf20Sopenharmony_ci status = "disabled"; 9428c2ecf20Sopenharmony_ci }; 9438c2ecf20Sopenharmony_ci 9448c2ecf20Sopenharmony_ci i2c0: i2c@1c2ac00 { 9458c2ecf20Sopenharmony_ci compatible = "allwinner,sun6i-a31-i2c"; 9468c2ecf20Sopenharmony_ci reg = <0x01c2ac00 0x400>; 9478c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 9488c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C0>; 9498c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2C0>; 9508c2ecf20Sopenharmony_ci pinctrl-names = "default"; 9518c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 9528c2ecf20Sopenharmony_ci status = "disabled"; 9538c2ecf20Sopenharmony_ci #address-cells = <1>; 9548c2ecf20Sopenharmony_ci #size-cells = <0>; 9558c2ecf20Sopenharmony_ci }; 9568c2ecf20Sopenharmony_ci 9578c2ecf20Sopenharmony_ci i2c1: i2c@1c2b000 { 9588c2ecf20Sopenharmony_ci compatible = "allwinner,sun6i-a31-i2c"; 9598c2ecf20Sopenharmony_ci reg = <0x01c2b000 0x400>; 9608c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 9618c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C1>; 9628c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2C1>; 9638c2ecf20Sopenharmony_ci pinctrl-names = "default"; 9648c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 9658c2ecf20Sopenharmony_ci status = "disabled"; 9668c2ecf20Sopenharmony_ci #address-cells = <1>; 9678c2ecf20Sopenharmony_ci #size-cells = <0>; 9688c2ecf20Sopenharmony_ci }; 9698c2ecf20Sopenharmony_ci 9708c2ecf20Sopenharmony_ci i2c2: i2c@1c2b400 { 9718c2ecf20Sopenharmony_ci compatible = "allwinner,sun6i-a31-i2c"; 9728c2ecf20Sopenharmony_ci reg = <0x01c2b400 0x400>; 9738c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 9748c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C2>; 9758c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_I2C2>; 9768c2ecf20Sopenharmony_ci pinctrl-names = "default"; 9778c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 9788c2ecf20Sopenharmony_ci status = "disabled"; 9798c2ecf20Sopenharmony_ci #address-cells = <1>; 9808c2ecf20Sopenharmony_ci #size-cells = <0>; 9818c2ecf20Sopenharmony_ci }; 9828c2ecf20Sopenharmony_ci 9838c2ecf20Sopenharmony_ci spi0: spi@1c68000 { 9848c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-spi"; 9858c2ecf20Sopenharmony_ci reg = <0x01c68000 0x1000>; 9868c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 9878c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 9888c2ecf20Sopenharmony_ci clock-names = "ahb", "mod"; 9898c2ecf20Sopenharmony_ci dmas = <&dma 23>, <&dma 23>; 9908c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 9918c2ecf20Sopenharmony_ci pinctrl-names = "default"; 9928c2ecf20Sopenharmony_ci pinctrl-0 = <&spi0_pins>; 9938c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_SPI0>; 9948c2ecf20Sopenharmony_ci status = "disabled"; 9958c2ecf20Sopenharmony_ci num-cs = <1>; 9968c2ecf20Sopenharmony_ci #address-cells = <1>; 9978c2ecf20Sopenharmony_ci #size-cells = <0>; 9988c2ecf20Sopenharmony_ci }; 9998c2ecf20Sopenharmony_ci 10008c2ecf20Sopenharmony_ci spi1: spi@1c69000 { 10018c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-spi"; 10028c2ecf20Sopenharmony_ci reg = <0x01c69000 0x1000>; 10038c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 10048c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 10058c2ecf20Sopenharmony_ci clock-names = "ahb", "mod"; 10068c2ecf20Sopenharmony_ci dmas = <&dma 24>, <&dma 24>; 10078c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 10088c2ecf20Sopenharmony_ci pinctrl-names = "default"; 10098c2ecf20Sopenharmony_ci pinctrl-0 = <&spi1_pins>; 10108c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_SPI1>; 10118c2ecf20Sopenharmony_ci status = "disabled"; 10128c2ecf20Sopenharmony_ci num-cs = <1>; 10138c2ecf20Sopenharmony_ci #address-cells = <1>; 10148c2ecf20Sopenharmony_ci #size-cells = <0>; 10158c2ecf20Sopenharmony_ci }; 10168c2ecf20Sopenharmony_ci 10178c2ecf20Sopenharmony_ci emac: ethernet@1c30000 { 10188c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-emac"; 10198c2ecf20Sopenharmony_ci syscon = <&syscon>; 10208c2ecf20Sopenharmony_ci reg = <0x01c30000 0x10000>; 10218c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 10228c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 10238c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_EMAC>; 10248c2ecf20Sopenharmony_ci reset-names = "stmmaceth"; 10258c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_EMAC>; 10268c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 10278c2ecf20Sopenharmony_ci status = "disabled"; 10288c2ecf20Sopenharmony_ci 10298c2ecf20Sopenharmony_ci mdio: mdio { 10308c2ecf20Sopenharmony_ci compatible = "snps,dwmac-mdio"; 10318c2ecf20Sopenharmony_ci #address-cells = <1>; 10328c2ecf20Sopenharmony_ci #size-cells = <0>; 10338c2ecf20Sopenharmony_ci }; 10348c2ecf20Sopenharmony_ci }; 10358c2ecf20Sopenharmony_ci 10368c2ecf20Sopenharmony_ci mali: gpu@1c40000 { 10378c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-mali", "arm,mali-400"; 10388c2ecf20Sopenharmony_ci reg = <0x01c40000 0x10000>; 10398c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 10408c2ecf20Sopenharmony_ci <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 10418c2ecf20Sopenharmony_ci <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 10428c2ecf20Sopenharmony_ci <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 10438c2ecf20Sopenharmony_ci <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 10448c2ecf20Sopenharmony_ci <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 10458c2ecf20Sopenharmony_ci <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 10468c2ecf20Sopenharmony_ci interrupt-names = "gp", 10478c2ecf20Sopenharmony_ci "gpmmu", 10488c2ecf20Sopenharmony_ci "pp0", 10498c2ecf20Sopenharmony_ci "ppmmu0", 10508c2ecf20Sopenharmony_ci "pp1", 10518c2ecf20Sopenharmony_ci "ppmmu1", 10528c2ecf20Sopenharmony_ci "pmu"; 10538c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 10548c2ecf20Sopenharmony_ci clock-names = "bus", "core"; 10558c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_GPU>; 10568c2ecf20Sopenharmony_ci }; 10578c2ecf20Sopenharmony_ci 10588c2ecf20Sopenharmony_ci gic: interrupt-controller@1c81000 { 10598c2ecf20Sopenharmony_ci compatible = "arm,gic-400"; 10608c2ecf20Sopenharmony_ci reg = <0x01c81000 0x1000>, 10618c2ecf20Sopenharmony_ci <0x01c82000 0x2000>, 10628c2ecf20Sopenharmony_ci <0x01c84000 0x2000>, 10638c2ecf20Sopenharmony_ci <0x01c86000 0x2000>; 10648c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 10658c2ecf20Sopenharmony_ci interrupt-controller; 10668c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 10678c2ecf20Sopenharmony_ci }; 10688c2ecf20Sopenharmony_ci 10698c2ecf20Sopenharmony_ci pwm: pwm@1c21400 { 10708c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-pwm", 10718c2ecf20Sopenharmony_ci "allwinner,sun5i-a13-pwm"; 10728c2ecf20Sopenharmony_ci reg = <0x01c21400 0x400>; 10738c2ecf20Sopenharmony_ci clocks = <&osc24M>; 10748c2ecf20Sopenharmony_ci pinctrl-names = "default"; 10758c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_pin>; 10768c2ecf20Sopenharmony_ci #pwm-cells = <3>; 10778c2ecf20Sopenharmony_ci status = "disabled"; 10788c2ecf20Sopenharmony_ci }; 10798c2ecf20Sopenharmony_ci 10808c2ecf20Sopenharmony_ci mbus: dram-controller@1c62000 { 10818c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-mbus"; 10828c2ecf20Sopenharmony_ci reg = <0x01c62000 0x1000>; 10838c2ecf20Sopenharmony_ci clocks = <&ccu 112>; 10848c2ecf20Sopenharmony_ci #address-cells = <1>; 10858c2ecf20Sopenharmony_ci #size-cells = <1>; 10868c2ecf20Sopenharmony_ci dma-ranges = <0x00000000 0x40000000 0xc0000000>; 10878c2ecf20Sopenharmony_ci #interconnect-cells = <1>; 10888c2ecf20Sopenharmony_ci }; 10898c2ecf20Sopenharmony_ci 10908c2ecf20Sopenharmony_ci csi: csi@1cb0000 { 10918c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-csi"; 10928c2ecf20Sopenharmony_ci reg = <0x01cb0000 0x1000>; 10938c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 10948c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_CSI>, 10958c2ecf20Sopenharmony_ci <&ccu CLK_CSI_SCLK>, 10968c2ecf20Sopenharmony_ci <&ccu CLK_DRAM_CSI>; 10978c2ecf20Sopenharmony_ci clock-names = "bus", "mod", "ram"; 10988c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_CSI>; 10998c2ecf20Sopenharmony_ci pinctrl-names = "default"; 11008c2ecf20Sopenharmony_ci pinctrl-0 = <&csi_pins>; 11018c2ecf20Sopenharmony_ci status = "disabled"; 11028c2ecf20Sopenharmony_ci }; 11038c2ecf20Sopenharmony_ci 11048c2ecf20Sopenharmony_ci dsi: dsi@1ca0000 { 11058c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-mipi-dsi"; 11068c2ecf20Sopenharmony_ci reg = <0x01ca0000 0x1000>; 11078c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 11088c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MIPI_DSI>; 11098c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MIPI_DSI>; 11108c2ecf20Sopenharmony_ci phys = <&dphy>; 11118c2ecf20Sopenharmony_ci phy-names = "dphy"; 11128c2ecf20Sopenharmony_ci status = "disabled"; 11138c2ecf20Sopenharmony_ci #address-cells = <1>; 11148c2ecf20Sopenharmony_ci #size-cells = <0>; 11158c2ecf20Sopenharmony_ci 11168c2ecf20Sopenharmony_ci port { 11178c2ecf20Sopenharmony_ci dsi_in_tcon0: endpoint { 11188c2ecf20Sopenharmony_ci remote-endpoint = <&tcon0_out_dsi>; 11198c2ecf20Sopenharmony_ci }; 11208c2ecf20Sopenharmony_ci }; 11218c2ecf20Sopenharmony_ci }; 11228c2ecf20Sopenharmony_ci 11238c2ecf20Sopenharmony_ci dphy: d-phy@1ca1000 { 11248c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-mipi-dphy", 11258c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-mipi-dphy"; 11268c2ecf20Sopenharmony_ci reg = <0x01ca1000 0x1000>; 11278c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MIPI_DSI>, 11288c2ecf20Sopenharmony_ci <&ccu CLK_DSI_DPHY>; 11298c2ecf20Sopenharmony_ci clock-names = "bus", "mod"; 11308c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MIPI_DSI>; 11318c2ecf20Sopenharmony_ci status = "disabled"; 11328c2ecf20Sopenharmony_ci #phy-cells = <0>; 11338c2ecf20Sopenharmony_ci }; 11348c2ecf20Sopenharmony_ci 11358c2ecf20Sopenharmony_ci deinterlace: deinterlace@1e00000 { 11368c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-deinterlace", 11378c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-deinterlace"; 11388c2ecf20Sopenharmony_ci reg = <0x01e00000 0x20000>; 11398c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_DEINTERLACE>, 11408c2ecf20Sopenharmony_ci <&ccu CLK_DEINTERLACE>, 11418c2ecf20Sopenharmony_ci <&ccu CLK_DRAM_DEINTERLACE>; 11428c2ecf20Sopenharmony_ci clock-names = "bus", "mod", "ram"; 11438c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_DEINTERLACE>; 11448c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 11458c2ecf20Sopenharmony_ci interconnects = <&mbus 9>; 11468c2ecf20Sopenharmony_ci interconnect-names = "dma-mem"; 11478c2ecf20Sopenharmony_ci }; 11488c2ecf20Sopenharmony_ci 11498c2ecf20Sopenharmony_ci hdmi: hdmi@1ee0000 { 11508c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-dw-hdmi", 11518c2ecf20Sopenharmony_ci "allwinner,sun8i-a83t-dw-hdmi"; 11528c2ecf20Sopenharmony_ci reg = <0x01ee0000 0x10000>; 11538c2ecf20Sopenharmony_ci reg-io-width = <1>; 11548c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 11558c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>, 11568c2ecf20Sopenharmony_ci <&ccu CLK_HDMI>; 11578c2ecf20Sopenharmony_ci clock-names = "iahb", "isfr", "tmds"; 11588c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_HDMI1>; 11598c2ecf20Sopenharmony_ci reset-names = "ctrl"; 11608c2ecf20Sopenharmony_ci phys = <&hdmi_phy>; 11618c2ecf20Sopenharmony_ci phy-names = "phy"; 11628c2ecf20Sopenharmony_ci status = "disabled"; 11638c2ecf20Sopenharmony_ci 11648c2ecf20Sopenharmony_ci ports { 11658c2ecf20Sopenharmony_ci #address-cells = <1>; 11668c2ecf20Sopenharmony_ci #size-cells = <0>; 11678c2ecf20Sopenharmony_ci 11688c2ecf20Sopenharmony_ci hdmi_in: port@0 { 11698c2ecf20Sopenharmony_ci reg = <0>; 11708c2ecf20Sopenharmony_ci 11718c2ecf20Sopenharmony_ci hdmi_in_tcon1: endpoint { 11728c2ecf20Sopenharmony_ci remote-endpoint = <&tcon1_out_hdmi>; 11738c2ecf20Sopenharmony_ci }; 11748c2ecf20Sopenharmony_ci }; 11758c2ecf20Sopenharmony_ci 11768c2ecf20Sopenharmony_ci hdmi_out: port@1 { 11778c2ecf20Sopenharmony_ci reg = <1>; 11788c2ecf20Sopenharmony_ci }; 11798c2ecf20Sopenharmony_ci }; 11808c2ecf20Sopenharmony_ci }; 11818c2ecf20Sopenharmony_ci 11828c2ecf20Sopenharmony_ci hdmi_phy: hdmi-phy@1ef0000 { 11838c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-hdmi-phy"; 11848c2ecf20Sopenharmony_ci reg = <0x01ef0000 0x10000>; 11858c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>, 11868c2ecf20Sopenharmony_ci <&ccu CLK_PLL_VIDEO0>; 11878c2ecf20Sopenharmony_ci clock-names = "bus", "mod", "pll-0"; 11888c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_HDMI0>; 11898c2ecf20Sopenharmony_ci reset-names = "phy"; 11908c2ecf20Sopenharmony_ci #phy-cells = <0>; 11918c2ecf20Sopenharmony_ci }; 11928c2ecf20Sopenharmony_ci 11938c2ecf20Sopenharmony_ci rtc: rtc@1f00000 { 11948c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-rtc", 11958c2ecf20Sopenharmony_ci "allwinner,sun8i-h3-rtc"; 11968c2ecf20Sopenharmony_ci reg = <0x01f00000 0x400>; 11978c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 11988c2ecf20Sopenharmony_ci <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 11998c2ecf20Sopenharmony_ci clock-output-names = "osc32k", "osc32k-out", "iosc"; 12008c2ecf20Sopenharmony_ci clocks = <&osc32k>; 12018c2ecf20Sopenharmony_ci #clock-cells = <1>; 12028c2ecf20Sopenharmony_ci }; 12038c2ecf20Sopenharmony_ci 12048c2ecf20Sopenharmony_ci r_intc: interrupt-controller@1f00c00 { 12058c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-r-intc", 12068c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-r-intc"; 12078c2ecf20Sopenharmony_ci interrupt-controller; 12088c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 12098c2ecf20Sopenharmony_ci reg = <0x01f00c00 0x400>; 12108c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 12118c2ecf20Sopenharmony_ci }; 12128c2ecf20Sopenharmony_ci 12138c2ecf20Sopenharmony_ci r_ccu: clock@1f01400 { 12148c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-r-ccu"; 12158c2ecf20Sopenharmony_ci reg = <0x01f01400 0x100>; 12168c2ecf20Sopenharmony_ci clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, 12178c2ecf20Sopenharmony_ci <&ccu CLK_PLL_PERIPH0>; 12188c2ecf20Sopenharmony_ci clock-names = "hosc", "losc", "iosc", "pll-periph"; 12198c2ecf20Sopenharmony_ci #clock-cells = <1>; 12208c2ecf20Sopenharmony_ci #reset-cells = <1>; 12218c2ecf20Sopenharmony_ci }; 12228c2ecf20Sopenharmony_ci 12238c2ecf20Sopenharmony_ci codec_analog: codec-analog@1f015c0 { 12248c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-codec-analog"; 12258c2ecf20Sopenharmony_ci reg = <0x01f015c0 0x4>; 12268c2ecf20Sopenharmony_ci status = "disabled"; 12278c2ecf20Sopenharmony_ci }; 12288c2ecf20Sopenharmony_ci 12298c2ecf20Sopenharmony_ci r_i2c: i2c@1f02400 { 12308c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-i2c", 12318c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 12328c2ecf20Sopenharmony_ci reg = <0x01f02400 0x400>; 12338c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 12348c2ecf20Sopenharmony_ci clocks = <&r_ccu CLK_APB0_I2C>; 12358c2ecf20Sopenharmony_ci resets = <&r_ccu RST_APB0_I2C>; 12368c2ecf20Sopenharmony_ci status = "disabled"; 12378c2ecf20Sopenharmony_ci #address-cells = <1>; 12388c2ecf20Sopenharmony_ci #size-cells = <0>; 12398c2ecf20Sopenharmony_ci }; 12408c2ecf20Sopenharmony_ci 12418c2ecf20Sopenharmony_ci r_ir: ir@1f02000 { 12428c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-ir", 12438c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-ir"; 12448c2ecf20Sopenharmony_ci reg = <0x01f02000 0x400>; 12458c2ecf20Sopenharmony_ci clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>; 12468c2ecf20Sopenharmony_ci clock-names = "apb", "ir"; 12478c2ecf20Sopenharmony_ci resets = <&r_ccu RST_APB0_IR>; 12488c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 12498c2ecf20Sopenharmony_ci pinctrl-names = "default"; 12508c2ecf20Sopenharmony_ci pinctrl-0 = <&r_ir_rx_pin>; 12518c2ecf20Sopenharmony_ci status = "disabled"; 12528c2ecf20Sopenharmony_ci }; 12538c2ecf20Sopenharmony_ci 12548c2ecf20Sopenharmony_ci r_pwm: pwm@1f03800 { 12558c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-pwm", 12568c2ecf20Sopenharmony_ci "allwinner,sun5i-a13-pwm"; 12578c2ecf20Sopenharmony_ci reg = <0x01f03800 0x400>; 12588c2ecf20Sopenharmony_ci clocks = <&osc24M>; 12598c2ecf20Sopenharmony_ci pinctrl-names = "default"; 12608c2ecf20Sopenharmony_ci pinctrl-0 = <&r_pwm_pin>; 12618c2ecf20Sopenharmony_ci #pwm-cells = <3>; 12628c2ecf20Sopenharmony_ci status = "disabled"; 12638c2ecf20Sopenharmony_ci }; 12648c2ecf20Sopenharmony_ci 12658c2ecf20Sopenharmony_ci r_pio: pinctrl@1f02c00 { 12668c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-r-pinctrl"; 12678c2ecf20Sopenharmony_ci reg = <0x01f02c00 0x400>; 12688c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 12698c2ecf20Sopenharmony_ci clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 12708c2ecf20Sopenharmony_ci clock-names = "apb", "hosc", "losc"; 12718c2ecf20Sopenharmony_ci gpio-controller; 12728c2ecf20Sopenharmony_ci #gpio-cells = <3>; 12738c2ecf20Sopenharmony_ci interrupt-controller; 12748c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 12758c2ecf20Sopenharmony_ci 12768c2ecf20Sopenharmony_ci r_i2c_pl89_pins: r-i2c-pl89-pins { 12778c2ecf20Sopenharmony_ci pins = "PL8", "PL9"; 12788c2ecf20Sopenharmony_ci function = "s_i2c"; 12798c2ecf20Sopenharmony_ci }; 12808c2ecf20Sopenharmony_ci 12818c2ecf20Sopenharmony_ci r_ir_rx_pin: r-ir-rx-pin { 12828c2ecf20Sopenharmony_ci pins = "PL11"; 12838c2ecf20Sopenharmony_ci function = "s_cir_rx"; 12848c2ecf20Sopenharmony_ci }; 12858c2ecf20Sopenharmony_ci 12868c2ecf20Sopenharmony_ci r_pwm_pin: r-pwm-pin { 12878c2ecf20Sopenharmony_ci pins = "PL10"; 12888c2ecf20Sopenharmony_ci function = "s_pwm"; 12898c2ecf20Sopenharmony_ci }; 12908c2ecf20Sopenharmony_ci 12918c2ecf20Sopenharmony_ci r_rsb_pins: r-rsb-pins { 12928c2ecf20Sopenharmony_ci pins = "PL0", "PL1"; 12938c2ecf20Sopenharmony_ci function = "s_rsb"; 12948c2ecf20Sopenharmony_ci }; 12958c2ecf20Sopenharmony_ci }; 12968c2ecf20Sopenharmony_ci 12978c2ecf20Sopenharmony_ci r_rsb: rsb@1f03400 { 12988c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a23-rsb"; 12998c2ecf20Sopenharmony_ci reg = <0x01f03400 0x400>; 13008c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 13018c2ecf20Sopenharmony_ci clocks = <&r_ccu 6>; 13028c2ecf20Sopenharmony_ci clock-frequency = <3000000>; 13038c2ecf20Sopenharmony_ci resets = <&r_ccu 2>; 13048c2ecf20Sopenharmony_ci pinctrl-names = "default"; 13058c2ecf20Sopenharmony_ci pinctrl-0 = <&r_rsb_pins>; 13068c2ecf20Sopenharmony_ci status = "disabled"; 13078c2ecf20Sopenharmony_ci #address-cells = <1>; 13088c2ecf20Sopenharmony_ci #size-cells = <0>; 13098c2ecf20Sopenharmony_ci }; 13108c2ecf20Sopenharmony_ci 13118c2ecf20Sopenharmony_ci wdt0: watchdog@1c20ca0 { 13128c2ecf20Sopenharmony_ci compatible = "allwinner,sun50i-a64-wdt", 13138c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-wdt"; 13148c2ecf20Sopenharmony_ci reg = <0x01c20ca0 0x20>; 13158c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 13168c2ecf20Sopenharmony_ci clocks = <&osc24M>; 13178c2ecf20Sopenharmony_ci }; 13188c2ecf20Sopenharmony_ci }; 13198c2ecf20Sopenharmony_ci}; 1320