10d17c865SAndre Przywara// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 20d17c865SAndre Przywara// Copyright (C) 2020 Arm Ltd. 30d17c865SAndre Przywara// based on the H6 dtsi, which is: 40d17c865SAndre Przywara// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> 50d17c865SAndre Przywara 60d17c865SAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h> 70d17c865SAndre Przywara#include <dt-bindings/clock/sun50i-h616-ccu.h> 80d17c865SAndre Przywara#include <dt-bindings/clock/sun50i-h6-r-ccu.h> 90d17c865SAndre Przywara#include <dt-bindings/clock/sun6i-rtc.h> 100d17c865SAndre Przywara#include <dt-bindings/reset/sun50i-h616-ccu.h> 110d17c865SAndre Przywara#include <dt-bindings/reset/sun50i-h6-r-ccu.h> 12f4318af4SMartin Botka#include <dt-bindings/thermal/thermal.h> 130d17c865SAndre Przywara 140d17c865SAndre Przywara/ { 150d17c865SAndre Przywara interrupt-parent = <&gic>; 160d17c865SAndre Przywara #address-cells = <2>; 170d17c865SAndre Przywara #size-cells = <2>; 180d17c865SAndre Przywara 190d17c865SAndre Przywara cpus { 200d17c865SAndre Przywara #address-cells = <1>; 210d17c865SAndre Przywara #size-cells = <0>; 220d17c865SAndre Przywara 230d17c865SAndre Przywara cpu0: cpu@0 { 240d17c865SAndre Przywara compatible = "arm,cortex-a53"; 250d17c865SAndre Przywara device_type = "cpu"; 260d17c865SAndre Przywara reg = <0>; 270d17c865SAndre Przywara enable-method = "psci"; 280d17c865SAndre Przywara clocks = <&ccu CLK_CPUX>; 293e057e05SMartin Botka #cooling-cells = <2>; 30d4ec229eSDragan Simic i-cache-size = <0x8000>; 31d4ec229eSDragan Simic i-cache-line-size = <64>; 32d4ec229eSDragan Simic i-cache-sets = <256>; 33d4ec229eSDragan Simic d-cache-size = <0x8000>; 34d4ec229eSDragan Simic d-cache-line-size = <64>; 35d4ec229eSDragan Simic d-cache-sets = <128>; 36d4ec229eSDragan Simic next-level-cache = <&l2_cache>; 370d17c865SAndre Przywara }; 380d17c865SAndre Przywara 390d17c865SAndre Przywara cpu1: cpu@1 { 400d17c865SAndre Przywara compatible = "arm,cortex-a53"; 410d17c865SAndre Przywara device_type = "cpu"; 420d17c865SAndre Przywara reg = <1>; 430d17c865SAndre Przywara enable-method = "psci"; 440d17c865SAndre Przywara clocks = <&ccu CLK_CPUX>; 453e057e05SMartin Botka #cooling-cells = <2>; 46d4ec229eSDragan Simic i-cache-size = <0x8000>; 47d4ec229eSDragan Simic i-cache-line-size = <64>; 48d4ec229eSDragan Simic i-cache-sets = <256>; 49d4ec229eSDragan Simic d-cache-size = <0x8000>; 50d4ec229eSDragan Simic d-cache-line-size = <64>; 51d4ec229eSDragan Simic d-cache-sets = <128>; 52d4ec229eSDragan Simic next-level-cache = <&l2_cache>; 530d17c865SAndre Przywara }; 540d17c865SAndre Przywara 550d17c865SAndre Przywara cpu2: cpu@2 { 560d17c865SAndre Przywara compatible = "arm,cortex-a53"; 570d17c865SAndre Przywara device_type = "cpu"; 580d17c865SAndre Przywara reg = <2>; 590d17c865SAndre Przywara enable-method = "psci"; 600d17c865SAndre Przywara clocks = <&ccu CLK_CPUX>; 613e057e05SMartin Botka #cooling-cells = <2>; 62d4ec229eSDragan Simic i-cache-size = <0x8000>; 63d4ec229eSDragan Simic i-cache-line-size = <64>; 64d4ec229eSDragan Simic i-cache-sets = <256>; 65d4ec229eSDragan Simic d-cache-size = <0x8000>; 66d4ec229eSDragan Simic d-cache-line-size = <64>; 67d4ec229eSDragan Simic d-cache-sets = <128>; 68d4ec229eSDragan Simic next-level-cache = <&l2_cache>; 690d17c865SAndre Przywara }; 700d17c865SAndre Przywara 710d17c865SAndre Przywara cpu3: cpu@3 { 720d17c865SAndre Przywara compatible = "arm,cortex-a53"; 730d17c865SAndre Przywara device_type = "cpu"; 740d17c865SAndre Przywara reg = <3>; 750d17c865SAndre Przywara enable-method = "psci"; 760d17c865SAndre Przywara clocks = <&ccu CLK_CPUX>; 773e057e05SMartin Botka #cooling-cells = <2>; 78d4ec229eSDragan Simic i-cache-size = <0x8000>; 79d4ec229eSDragan Simic i-cache-line-size = <64>; 80d4ec229eSDragan Simic i-cache-sets = <256>; 81d4ec229eSDragan Simic d-cache-size = <0x8000>; 82d4ec229eSDragan Simic d-cache-line-size = <64>; 83d4ec229eSDragan Simic d-cache-sets = <128>; 84d4ec229eSDragan Simic next-level-cache = <&l2_cache>; 85d4ec229eSDragan Simic }; 86d4ec229eSDragan Simic 87d4ec229eSDragan Simic l2_cache: l2-cache { 88d4ec229eSDragan Simic compatible = "cache"; 89d4ec229eSDragan Simic cache-level = <2>; 90d4ec229eSDragan Simic cache-unified; 91d4ec229eSDragan Simic cache-size = <0x40000>; 92d4ec229eSDragan Simic cache-line-size = <64>; 93d4ec229eSDragan Simic cache-sets = <256>; 940d17c865SAndre Przywara }; 950d17c865SAndre Przywara }; 960d17c865SAndre Przywara 970d17c865SAndre Przywara reserved-memory { 980d17c865SAndre Przywara #address-cells = <2>; 990d17c865SAndre Przywara #size-cells = <2>; 1000d17c865SAndre Przywara ranges; 1010d17c865SAndre Przywara 1020d17c865SAndre Przywara /* 1030d17c865SAndre Przywara * 256 KiB reserved for Trusted Firmware-A (BL31). 1040d17c865SAndre Przywara * This is added by BL31 itself, but some bootloaders fail 1050d17c865SAndre Przywara * to propagate this into the DTB handed to kernels. 1060d17c865SAndre Przywara */ 1070d17c865SAndre Przywara secmon@40000000 { 1080d17c865SAndre Przywara reg = <0x0 0x40000000 0x0 0x40000>; 1090d17c865SAndre Przywara no-map; 1100d17c865SAndre Przywara }; 1110d17c865SAndre Przywara }; 1120d17c865SAndre Przywara 1130d17c865SAndre Przywara osc24M: osc24M-clk { 1140d17c865SAndre Przywara #clock-cells = <0>; 1150d17c865SAndre Przywara compatible = "fixed-clock"; 1160d17c865SAndre Przywara clock-frequency = <24000000>; 1170d17c865SAndre Przywara clock-output-names = "osc24M"; 1180d17c865SAndre Przywara }; 1190d17c865SAndre Przywara 1200d17c865SAndre Przywara pmu { 1210d17c865SAndre Przywara compatible = "arm,cortex-a53-pmu"; 1220d17c865SAndre Przywara interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 1230d17c865SAndre Przywara <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 1240d17c865SAndre Przywara <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 1250d17c865SAndre Przywara <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 1260d17c865SAndre Przywara interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 1270d17c865SAndre Przywara }; 1280d17c865SAndre Przywara 1290d17c865SAndre Przywara psci { 1300d17c865SAndre Przywara compatible = "arm,psci-0.2"; 1310d17c865SAndre Przywara method = "smc"; 1320d17c865SAndre Przywara }; 1330d17c865SAndre Przywara 1340d17c865SAndre Przywara timer { 1350d17c865SAndre Przywara compatible = "arm,armv8-timer"; 1360d17c865SAndre Przywara arm,no-tick-in-suspend; 1370d17c865SAndre Przywara interrupts = <GIC_PPI 13 1380d17c865SAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1390d17c865SAndre Przywara <GIC_PPI 14 1400d17c865SAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1410d17c865SAndre Przywara <GIC_PPI 11 1420d17c865SAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1430d17c865SAndre Przywara <GIC_PPI 10 1440d17c865SAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1450d17c865SAndre Przywara }; 1460d17c865SAndre Przywara 1470d17c865SAndre Przywara soc { 1480d17c865SAndre Przywara compatible = "simple-bus"; 1490d17c865SAndre Przywara #address-cells = <1>; 1500d17c865SAndre Przywara #size-cells = <1>; 1510d17c865SAndre Przywara ranges = <0x0 0x0 0x0 0x40000000>; 1520d17c865SAndre Przywara 1536ed9a85fSAndre Przywara crypto: crypto@1904000 { 1546ed9a85fSAndre Przywara compatible = "allwinner,sun50i-h616-crypto"; 1556ed9a85fSAndre Przywara reg = <0x01904000 0x800>; 1566ed9a85fSAndre Przywara interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 1576ed9a85fSAndre Przywara clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>, 1586ed9a85fSAndre Przywara <&ccu CLK_MBUS_CE>, <&rtc CLK_IOSC>; 1596ed9a85fSAndre Przywara clock-names = "bus", "mod", "ram", "trng"; 1606ed9a85fSAndre Przywara resets = <&ccu RST_BUS_CE>; 1616ed9a85fSAndre Przywara }; 1626ed9a85fSAndre Przywara 1630d17c865SAndre Przywara syscon: syscon@3000000 { 1640d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-system-control"; 1650d17c865SAndre Przywara reg = <0x03000000 0x1000>; 1660d17c865SAndre Przywara #address-cells = <1>; 1670d17c865SAndre Przywara #size-cells = <1>; 1680d17c865SAndre Przywara ranges; 1690d17c865SAndre Przywara 1700d17c865SAndre Przywara sram_c: sram@28000 { 1710d17c865SAndre Przywara compatible = "mmio-sram"; 1720d17c865SAndre Przywara reg = <0x00028000 0x30000>; 1730d17c865SAndre Przywara #address-cells = <1>; 1740d17c865SAndre Przywara #size-cells = <1>; 1750d17c865SAndre Przywara ranges = <0 0x00028000 0x30000>; 1760d17c865SAndre Przywara }; 1770d17c865SAndre Przywara }; 1780d17c865SAndre Przywara 1790d17c865SAndre Przywara ccu: clock@3001000 { 1800d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-ccu"; 1810d17c865SAndre Przywara reg = <0x03001000 0x1000>; 1820d17c865SAndre Przywara clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>; 1830d17c865SAndre Przywara clock-names = "hosc", "losc", "iosc"; 1840d17c865SAndre Przywara #clock-cells = <1>; 1850d17c865SAndre Przywara #reset-cells = <1>; 1860d17c865SAndre Przywara }; 1870d17c865SAndre Przywara 188238f65fcSChen-Yu Tsai dma: dma-controller@3002000 { 189238f65fcSChen-Yu Tsai compatible = "allwinner,sun50i-h616-dma", 190238f65fcSChen-Yu Tsai "allwinner,sun50i-a100-dma"; 191238f65fcSChen-Yu Tsai reg = <0x03002000 0x1000>; 192238f65fcSChen-Yu Tsai interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 193238f65fcSChen-Yu Tsai clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; 194238f65fcSChen-Yu Tsai clock-names = "bus", "mbus"; 195238f65fcSChen-Yu Tsai dma-channels = <16>; 196238f65fcSChen-Yu Tsai dma-requests = <49>; 197238f65fcSChen-Yu Tsai resets = <&ccu RST_BUS_DMA>; 198238f65fcSChen-Yu Tsai #dma-cells = <1>; 199238f65fcSChen-Yu Tsai }; 200238f65fcSChen-Yu Tsai 20195199279SMartin Botka sid: efuse@3006000 { 20295199279SMartin Botka compatible = "allwinner,sun50i-h616-sid", "allwinner,sun50i-a64-sid"; 20395199279SMartin Botka reg = <0x03006000 0x1000>; 20495199279SMartin Botka #address-cells = <1>; 20595199279SMartin Botka #size-cells = <1>; 206f4318af4SMartin Botka 207f4318af4SMartin Botka ths_calibration: thermal-sensor-calibration@14 { 208f4318af4SMartin Botka reg = <0x14 0x8>; 209f4318af4SMartin Botka }; 2103e057e05SMartin Botka 2113e057e05SMartin Botka cpu_speed_grade: cpu-speed-grade@0 { 2123e057e05SMartin Botka reg = <0x0 2>; 2133e057e05SMartin Botka }; 21495199279SMartin Botka }; 21595199279SMartin Botka 2160d17c865SAndre Przywara watchdog: watchdog@30090a0 { 2170d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-wdt", 2180d17c865SAndre Przywara "allwinner,sun6i-a31-wdt"; 2190d17c865SAndre Przywara reg = <0x030090a0 0x20>; 2200d17c865SAndre Przywara interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 2210d17c865SAndre Przywara clocks = <&osc24M>; 2220d17c865SAndre Przywara }; 2230d17c865SAndre Przywara 2240d17c865SAndre Przywara pio: pinctrl@300b000 { 2250d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-pinctrl"; 2260d17c865SAndre Przywara reg = <0x0300b000 0x400>; 2270d17c865SAndre Przywara interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 2280d17c865SAndre Przywara <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 2290d17c865SAndre Przywara <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 2300d17c865SAndre Przywara <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 2310d17c865SAndre Przywara <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 2320d17c865SAndre Przywara <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 2330d17c865SAndre Przywara <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 2340d17c865SAndre Przywara <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 2350d17c865SAndre Przywara clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc CLK_OSC32K>; 2360d17c865SAndre Przywara clock-names = "apb", "hosc", "losc"; 2370d17c865SAndre Przywara gpio-controller; 2380d17c865SAndre Przywara #gpio-cells = <3>; 2390d17c865SAndre Przywara interrupt-controller; 2400d17c865SAndre Przywara #interrupt-cells = <3>; 2410d17c865SAndre Przywara 2420d17c865SAndre Przywara ext_rgmii_pins: rgmii-pins { 2430d17c865SAndre Przywara pins = "PI0", "PI1", "PI2", "PI3", "PI4", 2440d17c865SAndre Przywara "PI5", "PI7", "PI8", "PI9", "PI10", 2450d17c865SAndre Przywara "PI11", "PI12", "PI13", "PI14", "PI15", 2460d17c865SAndre Przywara "PI16"; 2470d17c865SAndre Przywara function = "emac0"; 2480d17c865SAndre Przywara drive-strength = <40>; 2490d17c865SAndre Przywara }; 2500d17c865SAndre Przywara 2510d17c865SAndre Przywara i2c0_pins: i2c0-pins { 2525bdeb3d2SAndre Przywara pins = "PI5", "PI6"; 2530d17c865SAndre Przywara function = "i2c0"; 2540d17c865SAndre Przywara }; 2550d17c865SAndre Przywara 2560d17c865SAndre Przywara i2c3_ph_pins: i2c3-ph-pins { 2570d17c865SAndre Przywara pins = "PH4", "PH5"; 2580d17c865SAndre Przywara function = "i2c3"; 2590d17c865SAndre Przywara }; 2600d17c865SAndre Przywara 2610d17c865SAndre Przywara ir_rx_pin: ir-rx-pin { 2620d17c865SAndre Przywara pins = "PH10"; 2630d17c865SAndre Przywara function = "ir_rx"; 2640d17c865SAndre Przywara }; 2650d17c865SAndre Przywara 2660d17c865SAndre Przywara mmc0_pins: mmc0-pins { 2670d17c865SAndre Przywara pins = "PF0", "PF1", "PF2", "PF3", 2680d17c865SAndre Przywara "PF4", "PF5"; 2690d17c865SAndre Przywara function = "mmc0"; 2700d17c865SAndre Przywara drive-strength = <30>; 2710d17c865SAndre Przywara bias-pull-up; 2720d17c865SAndre Przywara }; 2730d17c865SAndre Przywara 2740d17c865SAndre Przywara /omit-if-no-ref/ 2750d17c865SAndre Przywara mmc1_pins: mmc1-pins { 2760d17c865SAndre Przywara pins = "PG0", "PG1", "PG2", "PG3", 2770d17c865SAndre Przywara "PG4", "PG5"; 2780d17c865SAndre Przywara function = "mmc1"; 2790d17c865SAndre Przywara drive-strength = <30>; 2800d17c865SAndre Przywara bias-pull-up; 2810d17c865SAndre Przywara }; 2820d17c865SAndre Przywara 2830d17c865SAndre Przywara mmc2_pins: mmc2-pins { 2840d17c865SAndre Przywara pins = "PC0", "PC1", "PC5", "PC6", 2850d17c865SAndre Przywara "PC8", "PC9", "PC10", "PC11", 2860d17c865SAndre Przywara "PC13", "PC14", "PC15", "PC16"; 2870d17c865SAndre Przywara function = "mmc2"; 2880d17c865SAndre Przywara drive-strength = <30>; 2890d17c865SAndre Przywara bias-pull-up; 2900d17c865SAndre Przywara }; 2910d17c865SAndre Przywara 2920d17c865SAndre Przywara /omit-if-no-ref/ 2930d17c865SAndre Przywara spi0_pins: spi0-pins { 2940d17c865SAndre Przywara pins = "PC0", "PC2", "PC4"; 2950d17c865SAndre Przywara function = "spi0"; 2960d17c865SAndre Przywara }; 2970d17c865SAndre Przywara 2980d17c865SAndre Przywara /omit-if-no-ref/ 2990d17c865SAndre Przywara spi0_cs0_pin: spi0-cs0-pin { 3000d17c865SAndre Przywara pins = "PC3"; 3010d17c865SAndre Przywara function = "spi0"; 3020d17c865SAndre Przywara }; 3030d17c865SAndre Przywara 3040d17c865SAndre Przywara /omit-if-no-ref/ 3050d17c865SAndre Przywara spi1_pins: spi1-pins { 3060d17c865SAndre Przywara pins = "PH6", "PH7", "PH8"; 3070d17c865SAndre Przywara function = "spi1"; 3080d17c865SAndre Przywara }; 3090d17c865SAndre Przywara 3100d17c865SAndre Przywara /omit-if-no-ref/ 3110d17c865SAndre Przywara spi1_cs0_pin: spi1-cs0-pin { 3120d17c865SAndre Przywara pins = "PH5"; 3130d17c865SAndre Przywara function = "spi1"; 3140d17c865SAndre Przywara }; 3150d17c865SAndre Przywara 316fe5128a1SChen-Yu Tsai spdif_tx_pin: spdif-tx-pin { 317fe5128a1SChen-Yu Tsai pins = "PH4"; 318fe5128a1SChen-Yu Tsai function = "spdif"; 319fe5128a1SChen-Yu Tsai }; 320fe5128a1SChen-Yu Tsai 3210d17c865SAndre Przywara uart0_ph_pins: uart0-ph-pins { 3220d17c865SAndre Przywara pins = "PH0", "PH1"; 3230d17c865SAndre Przywara function = "uart0"; 3240d17c865SAndre Przywara }; 3250d17c865SAndre Przywara 3260d17c865SAndre Przywara /omit-if-no-ref/ 3270d17c865SAndre Przywara uart1_pins: uart1-pins { 3280d17c865SAndre Przywara pins = "PG6", "PG7"; 3290d17c865SAndre Przywara function = "uart1"; 3300d17c865SAndre Przywara }; 3310d17c865SAndre Przywara 3320d17c865SAndre Przywara /omit-if-no-ref/ 3330d17c865SAndre Przywara uart1_rts_cts_pins: uart1-rts-cts-pins { 3340d17c865SAndre Przywara pins = "PG8", "PG9"; 3350d17c865SAndre Przywara function = "uart1"; 3360d17c865SAndre Przywara }; 3379583c8d9SAndre Przywara 3389583c8d9SAndre Przywara /omit-if-no-ref/ 3399583c8d9SAndre Przywara x32clk_fanout_pin: x32clk-fanout-pin { 3409583c8d9SAndre Przywara pins = "PG10"; 3419583c8d9SAndre Przywara function = "clock"; 3429583c8d9SAndre Przywara }; 3430d17c865SAndre Przywara }; 3440d17c865SAndre Przywara 3450d17c865SAndre Przywara gic: interrupt-controller@3021000 { 3460d17c865SAndre Przywara compatible = "arm,gic-400"; 3470d17c865SAndre Przywara reg = <0x03021000 0x1000>, 3480d17c865SAndre Przywara <0x03022000 0x2000>, 3490d17c865SAndre Przywara <0x03024000 0x2000>, 3500d17c865SAndre Przywara <0x03026000 0x2000>; 3510d17c865SAndre Przywara interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 3520d17c865SAndre Przywara interrupt-controller; 3530d17c865SAndre Przywara #interrupt-cells = <3>; 3540d17c865SAndre Przywara }; 3550d17c865SAndre Przywara 3560c85e2e3SAndre Przywara iommu: iommu@30f0000 { 3570c85e2e3SAndre Przywara compatible = "allwinner,sun50i-h616-iommu"; 3580c85e2e3SAndre Przywara reg = <0x030f0000 0x10000>; 3590c85e2e3SAndre Przywara interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 3600c85e2e3SAndre Przywara clocks = <&ccu CLK_BUS_IOMMU>; 3610c85e2e3SAndre Przywara resets = <&ccu RST_BUS_IOMMU>; 3620c85e2e3SAndre Przywara #iommu-cells = <1>; 3630c85e2e3SAndre Przywara }; 3640c85e2e3SAndre Przywara 3650d17c865SAndre Przywara mmc0: mmc@4020000 { 3660d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-mmc", 3670d17c865SAndre Przywara "allwinner,sun50i-a100-mmc"; 3680d17c865SAndre Przywara reg = <0x04020000 0x1000>; 3690d17c865SAndre Przywara clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 3700d17c865SAndre Przywara clock-names = "ahb", "mmc"; 3710d17c865SAndre Przywara resets = <&ccu RST_BUS_MMC0>; 3720d17c865SAndre Przywara reset-names = "ahb"; 3730d17c865SAndre Przywara interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 3740d17c865SAndre Przywara pinctrl-names = "default"; 3750d17c865SAndre Przywara pinctrl-0 = <&mmc0_pins>; 3760d17c865SAndre Przywara status = "disabled"; 3770d17c865SAndre Przywara max-frequency = <150000000>; 3780d17c865SAndre Przywara cap-sd-highspeed; 3790d17c865SAndre Przywara cap-mmc-highspeed; 3800d17c865SAndre Przywara mmc-ddr-3_3v; 3810d17c865SAndre Przywara cap-sdio-irq; 3820d17c865SAndre Przywara #address-cells = <1>; 3830d17c865SAndre Przywara #size-cells = <0>; 3840d17c865SAndre Przywara }; 3850d17c865SAndre Przywara 3860d17c865SAndre Przywara mmc1: mmc@4021000 { 3870d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-mmc", 3880d17c865SAndre Przywara "allwinner,sun50i-a100-mmc"; 3890d17c865SAndre Przywara reg = <0x04021000 0x1000>; 3900d17c865SAndre Przywara clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 3910d17c865SAndre Przywara clock-names = "ahb", "mmc"; 3920d17c865SAndre Przywara resets = <&ccu RST_BUS_MMC1>; 3930d17c865SAndre Przywara reset-names = "ahb"; 3940d17c865SAndre Przywara interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 3950d17c865SAndre Przywara pinctrl-names = "default"; 3960d17c865SAndre Przywara pinctrl-0 = <&mmc1_pins>; 3970d17c865SAndre Przywara status = "disabled"; 3980d17c865SAndre Przywara max-frequency = <150000000>; 3990d17c865SAndre Przywara cap-sd-highspeed; 4000d17c865SAndre Przywara cap-mmc-highspeed; 4010d17c865SAndre Przywara mmc-ddr-3_3v; 4020d17c865SAndre Przywara cap-sdio-irq; 4030d17c865SAndre Przywara #address-cells = <1>; 4040d17c865SAndre Przywara #size-cells = <0>; 4050d17c865SAndre Przywara }; 4060d17c865SAndre Przywara 4070d17c865SAndre Przywara mmc2: mmc@4022000 { 4080d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-emmc", 4090d17c865SAndre Przywara "allwinner,sun50i-a100-emmc"; 4100d17c865SAndre Przywara reg = <0x04022000 0x1000>; 4110d17c865SAndre Przywara clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 4120d17c865SAndre Przywara clock-names = "ahb", "mmc"; 4130d17c865SAndre Przywara resets = <&ccu RST_BUS_MMC2>; 4140d17c865SAndre Przywara reset-names = "ahb"; 4150d17c865SAndre Przywara interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 4160d17c865SAndre Przywara pinctrl-names = "default"; 4170d17c865SAndre Przywara pinctrl-0 = <&mmc2_pins>; 4180d17c865SAndre Przywara status = "disabled"; 4190d17c865SAndre Przywara max-frequency = <150000000>; 4200d17c865SAndre Przywara cap-sd-highspeed; 4210d17c865SAndre Przywara cap-mmc-highspeed; 4220d17c865SAndre Przywara mmc-ddr-3_3v; 4230d17c865SAndre Przywara cap-sdio-irq; 4240d17c865SAndre Przywara #address-cells = <1>; 4250d17c865SAndre Przywara #size-cells = <0>; 4260d17c865SAndre Przywara }; 4270d17c865SAndre Przywara 4280d17c865SAndre Przywara uart0: serial@5000000 { 4290d17c865SAndre Przywara compatible = "snps,dw-apb-uart"; 4300d17c865SAndre Przywara reg = <0x05000000 0x400>; 4310d17c865SAndre Przywara interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 4320d17c865SAndre Przywara reg-shift = <2>; 4330d17c865SAndre Przywara reg-io-width = <4>; 4340d17c865SAndre Przywara clocks = <&ccu CLK_BUS_UART0>; 435238f65fcSChen-Yu Tsai dmas = <&dma 14>, <&dma 14>; 436238f65fcSChen-Yu Tsai dma-names = "tx", "rx"; 4370d17c865SAndre Przywara resets = <&ccu RST_BUS_UART0>; 4380d17c865SAndre Przywara status = "disabled"; 4390d17c865SAndre Przywara }; 4400d17c865SAndre Przywara 4410d17c865SAndre Przywara uart1: serial@5000400 { 4420d17c865SAndre Przywara compatible = "snps,dw-apb-uart"; 4430d17c865SAndre Przywara reg = <0x05000400 0x400>; 4440d17c865SAndre Przywara interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 4450d17c865SAndre Przywara reg-shift = <2>; 4460d17c865SAndre Przywara reg-io-width = <4>; 4470d17c865SAndre Przywara clocks = <&ccu CLK_BUS_UART1>; 448238f65fcSChen-Yu Tsai dmas = <&dma 15>, <&dma 15>; 449238f65fcSChen-Yu Tsai dma-names = "tx", "rx"; 4500d17c865SAndre Przywara resets = <&ccu RST_BUS_UART1>; 4510d17c865SAndre Przywara status = "disabled"; 4520d17c865SAndre Przywara }; 4530d17c865SAndre Przywara 4540d17c865SAndre Przywara uart2: serial@5000800 { 4550d17c865SAndre Przywara compatible = "snps,dw-apb-uart"; 4560d17c865SAndre Przywara reg = <0x05000800 0x400>; 4570d17c865SAndre Przywara interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 4580d17c865SAndre Przywara reg-shift = <2>; 4590d17c865SAndre Przywara reg-io-width = <4>; 4600d17c865SAndre Przywara clocks = <&ccu CLK_BUS_UART2>; 461238f65fcSChen-Yu Tsai dmas = <&dma 16>, <&dma 16>; 462238f65fcSChen-Yu Tsai dma-names = "tx", "rx"; 4630d17c865SAndre Przywara resets = <&ccu RST_BUS_UART2>; 4640d17c865SAndre Przywara status = "disabled"; 4650d17c865SAndre Przywara }; 4660d17c865SAndre Przywara 4670d17c865SAndre Przywara uart3: serial@5000c00 { 4680d17c865SAndre Przywara compatible = "snps,dw-apb-uart"; 4690d17c865SAndre Przywara reg = <0x05000c00 0x400>; 4700d17c865SAndre Przywara interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 4710d17c865SAndre Przywara reg-shift = <2>; 4720d17c865SAndre Przywara reg-io-width = <4>; 4730d17c865SAndre Przywara clocks = <&ccu CLK_BUS_UART3>; 474238f65fcSChen-Yu Tsai dmas = <&dma 17>, <&dma 17>; 475238f65fcSChen-Yu Tsai dma-names = "tx", "rx"; 4760d17c865SAndre Przywara resets = <&ccu RST_BUS_UART3>; 4770d17c865SAndre Przywara status = "disabled"; 4780d17c865SAndre Przywara }; 4790d17c865SAndre Przywara 4800d17c865SAndre Przywara uart4: serial@5001000 { 4810d17c865SAndre Przywara compatible = "snps,dw-apb-uart"; 4820d17c865SAndre Przywara reg = <0x05001000 0x400>; 4830d17c865SAndre Przywara interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 4840d17c865SAndre Przywara reg-shift = <2>; 4850d17c865SAndre Przywara reg-io-width = <4>; 4860d17c865SAndre Przywara clocks = <&ccu CLK_BUS_UART4>; 487238f65fcSChen-Yu Tsai dmas = <&dma 18>, <&dma 18>; 488238f65fcSChen-Yu Tsai dma-names = "tx", "rx"; 4890d17c865SAndre Przywara resets = <&ccu RST_BUS_UART4>; 4900d17c865SAndre Przywara status = "disabled"; 4910d17c865SAndre Przywara }; 4920d17c865SAndre Przywara 4930d17c865SAndre Przywara uart5: serial@5001400 { 4940d17c865SAndre Przywara compatible = "snps,dw-apb-uart"; 4950d17c865SAndre Przywara reg = <0x05001400 0x400>; 4960d17c865SAndre Przywara interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 4970d17c865SAndre Przywara reg-shift = <2>; 4980d17c865SAndre Przywara reg-io-width = <4>; 4990d17c865SAndre Przywara clocks = <&ccu CLK_BUS_UART5>; 500238f65fcSChen-Yu Tsai dmas = <&dma 19>, <&dma 19>; 501238f65fcSChen-Yu Tsai dma-names = "tx", "rx"; 5020d17c865SAndre Przywara resets = <&ccu RST_BUS_UART5>; 5030d17c865SAndre Przywara status = "disabled"; 5040d17c865SAndre Przywara }; 5050d17c865SAndre Przywara 5060d17c865SAndre Przywara i2c0: i2c@5002000 { 5070d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-i2c", 5080d17c865SAndre Przywara "allwinner,sun8i-v536-i2c", 5090d17c865SAndre Przywara "allwinner,sun6i-a31-i2c"; 5100d17c865SAndre Przywara reg = <0x05002000 0x400>; 5110d17c865SAndre Przywara interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 5120d17c865SAndre Przywara clocks = <&ccu CLK_BUS_I2C0>; 513238f65fcSChen-Yu Tsai dmas = <&dma 43>, <&dma 43>; 514238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 5150d17c865SAndre Przywara resets = <&ccu RST_BUS_I2C0>; 5160d17c865SAndre Przywara pinctrl-names = "default"; 5170d17c865SAndre Przywara pinctrl-0 = <&i2c0_pins>; 5180d17c865SAndre Przywara status = "disabled"; 5190d17c865SAndre Przywara #address-cells = <1>; 5200d17c865SAndre Przywara #size-cells = <0>; 5210d17c865SAndre Przywara }; 5220d17c865SAndre Przywara 5230d17c865SAndre Przywara i2c1: i2c@5002400 { 5240d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-i2c", 5250d17c865SAndre Przywara "allwinner,sun8i-v536-i2c", 5260d17c865SAndre Przywara "allwinner,sun6i-a31-i2c"; 5270d17c865SAndre Przywara reg = <0x05002400 0x400>; 5280d17c865SAndre Przywara interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 5290d17c865SAndre Przywara clocks = <&ccu CLK_BUS_I2C1>; 530238f65fcSChen-Yu Tsai dmas = <&dma 44>, <&dma 44>; 531238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 5320d17c865SAndre Przywara resets = <&ccu RST_BUS_I2C1>; 5330d17c865SAndre Przywara status = "disabled"; 5340d17c865SAndre Przywara #address-cells = <1>; 5350d17c865SAndre Przywara #size-cells = <0>; 5360d17c865SAndre Przywara }; 5370d17c865SAndre Przywara 5380d17c865SAndre Przywara i2c2: i2c@5002800 { 5390d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-i2c", 5400d17c865SAndre Przywara "allwinner,sun8i-v536-i2c", 5410d17c865SAndre Przywara "allwinner,sun6i-a31-i2c"; 5420d17c865SAndre Przywara reg = <0x05002800 0x400>; 5430d17c865SAndre Przywara interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 5440d17c865SAndre Przywara clocks = <&ccu CLK_BUS_I2C2>; 545238f65fcSChen-Yu Tsai dmas = <&dma 45>, <&dma 45>; 546238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 5470d17c865SAndre Przywara resets = <&ccu RST_BUS_I2C2>; 5480d17c865SAndre Przywara status = "disabled"; 5490d17c865SAndre Przywara #address-cells = <1>; 5500d17c865SAndre Przywara #size-cells = <0>; 5510d17c865SAndre Przywara }; 5520d17c865SAndre Przywara 5530d17c865SAndre Przywara i2c3: i2c@5002c00 { 5540d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-i2c", 5550d17c865SAndre Przywara "allwinner,sun8i-v536-i2c", 5560d17c865SAndre Przywara "allwinner,sun6i-a31-i2c"; 5570d17c865SAndre Przywara reg = <0x05002c00 0x400>; 5580d17c865SAndre Przywara interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 5590d17c865SAndre Przywara clocks = <&ccu CLK_BUS_I2C3>; 560238f65fcSChen-Yu Tsai dmas = <&dma 46>, <&dma 46>; 561238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 5620d17c865SAndre Przywara resets = <&ccu RST_BUS_I2C3>; 5630d17c865SAndre Przywara status = "disabled"; 5640d17c865SAndre Przywara #address-cells = <1>; 5650d17c865SAndre Przywara #size-cells = <0>; 5660d17c865SAndre Przywara }; 5670d17c865SAndre Przywara 5680d17c865SAndre Przywara i2c4: i2c@5003000 { 5690d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-i2c", 5700d17c865SAndre Przywara "allwinner,sun8i-v536-i2c", 5710d17c865SAndre Przywara "allwinner,sun6i-a31-i2c"; 5720d17c865SAndre Przywara reg = <0x05003000 0x400>; 5730d17c865SAndre Przywara interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 5740d17c865SAndre Przywara clocks = <&ccu CLK_BUS_I2C4>; 575238f65fcSChen-Yu Tsai dmas = <&dma 47>, <&dma 47>; 576238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 5770d17c865SAndre Przywara resets = <&ccu RST_BUS_I2C4>; 5780d17c865SAndre Przywara status = "disabled"; 5790d17c865SAndre Przywara #address-cells = <1>; 5800d17c865SAndre Przywara #size-cells = <0>; 5810d17c865SAndre Przywara }; 5820d17c865SAndre Przywara 5830d17c865SAndre Przywara spi0: spi@5010000 { 5840d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-spi", 5850d17c865SAndre Przywara "allwinner,sun8i-h3-spi"; 5860d17c865SAndre Przywara reg = <0x05010000 0x1000>; 5870d17c865SAndre Przywara interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 5880d17c865SAndre Przywara clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 5890d17c865SAndre Przywara clock-names = "ahb", "mod"; 590238f65fcSChen-Yu Tsai dmas = <&dma 22>, <&dma 22>; 591238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 5920d17c865SAndre Przywara resets = <&ccu RST_BUS_SPI0>; 5930d17c865SAndre Przywara status = "disabled"; 5940d17c865SAndre Przywara #address-cells = <1>; 5950d17c865SAndre Przywara #size-cells = <0>; 5960d17c865SAndre Przywara }; 5970d17c865SAndre Przywara 5980d17c865SAndre Przywara spi1: spi@5011000 { 5990d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-spi", 6000d17c865SAndre Przywara "allwinner,sun8i-h3-spi"; 6010d17c865SAndre Przywara reg = <0x05011000 0x1000>; 6020d17c865SAndre Przywara interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 6030d17c865SAndre Przywara clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 6040d17c865SAndre Przywara clock-names = "ahb", "mod"; 605238f65fcSChen-Yu Tsai dmas = <&dma 23>, <&dma 23>; 606238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 6070d17c865SAndre Przywara resets = <&ccu RST_BUS_SPI1>; 6080d17c865SAndre Przywara status = "disabled"; 6090d17c865SAndre Przywara #address-cells = <1>; 6100d17c865SAndre Przywara #size-cells = <0>; 6110d17c865SAndre Przywara }; 6120d17c865SAndre Przywara 6130d17c865SAndre Przywara emac0: ethernet@5020000 { 6140d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-emac0", 6150d17c865SAndre Przywara "allwinner,sun50i-a64-emac"; 6160d17c865SAndre Przywara reg = <0x05020000 0x10000>; 6170d17c865SAndre Przywara interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 6180d17c865SAndre Przywara interrupt-names = "macirq"; 6190d17c865SAndre Przywara clocks = <&ccu CLK_BUS_EMAC0>; 6200d17c865SAndre Przywara clock-names = "stmmaceth"; 6210d17c865SAndre Przywara resets = <&ccu RST_BUS_EMAC0>; 6220d17c865SAndre Przywara reset-names = "stmmaceth"; 6230d17c865SAndre Przywara syscon = <&syscon>; 6240d17c865SAndre Przywara status = "disabled"; 6250d17c865SAndre Przywara 6260d17c865SAndre Przywara mdio0: mdio { 6270d17c865SAndre Przywara compatible = "snps,dwmac-mdio"; 6280d17c865SAndre Przywara #address-cells = <1>; 6290d17c865SAndre Przywara #size-cells = <0>; 6300d17c865SAndre Przywara }; 6310d17c865SAndre Przywara }; 6320d17c865SAndre Przywara 633fe5128a1SChen-Yu Tsai spdif: spdif@5093000 { 634fe5128a1SChen-Yu Tsai compatible = "allwinner,sun50i-h616-spdif"; 635fe5128a1SChen-Yu Tsai reg = <0x05093000 0x400>; 636fe5128a1SChen-Yu Tsai interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 637fe5128a1SChen-Yu Tsai clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 638fe5128a1SChen-Yu Tsai clock-names = "apb", "spdif"; 639fe5128a1SChen-Yu Tsai resets = <&ccu RST_BUS_SPDIF>; 640fe5128a1SChen-Yu Tsai dmas = <&dma 2>; 641fe5128a1SChen-Yu Tsai dma-names = "tx"; 642fe5128a1SChen-Yu Tsai pinctrl-names = "default"; 643fe5128a1SChen-Yu Tsai pinctrl-0 = <&spdif_tx_pin>; 644fe5128a1SChen-Yu Tsai #sound-dai-cells = <0>; 645fe5128a1SChen-Yu Tsai status = "disabled"; 646fe5128a1SChen-Yu Tsai }; 647fe5128a1SChen-Yu Tsai 64859678cc9SChris Morgan gpadc: adc@5070000 { 64959678cc9SChris Morgan compatible = "allwinner,sun50i-h616-gpadc", 65059678cc9SChris Morgan "allwinner,sun20i-d1-gpadc"; 65159678cc9SChris Morgan reg = <0x05070000 0x400>; 65259678cc9SChris Morgan clocks = <&ccu CLK_BUS_GPADC>; 65359678cc9SChris Morgan resets = <&ccu RST_BUS_GPADC>; 65459678cc9SChris Morgan interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 65559678cc9SChris Morgan status = "disabled"; 65659678cc9SChris Morgan #io-channel-cells = <1>; 65759678cc9SChris Morgan }; 65859678cc9SChris Morgan 659f4318af4SMartin Botka ths: thermal-sensor@5070400 { 660f4318af4SMartin Botka compatible = "allwinner,sun50i-h616-ths"; 661f4318af4SMartin Botka reg = <0x05070400 0x400>; 662f4318af4SMartin Botka interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 663f4318af4SMartin Botka clocks = <&ccu CLK_BUS_THS>; 664f4318af4SMartin Botka clock-names = "bus"; 665f4318af4SMartin Botka resets = <&ccu RST_BUS_THS>; 666f4318af4SMartin Botka nvmem-cells = <&ths_calibration>; 667f4318af4SMartin Botka nvmem-cell-names = "calibration"; 668f4318af4SMartin Botka allwinner,sram = <&syscon>; 669f4318af4SMartin Botka #thermal-sensor-cells = <1>; 670f4318af4SMartin Botka }; 671f4318af4SMartin Botka 672048ed5efSJames McGregor lradc: lradc@5070800 { 673048ed5efSJames McGregor compatible = "allwinner,sun50i-h616-lradc", 674048ed5efSJames McGregor "allwinner,sun50i-r329-lradc"; 675048ed5efSJames McGregor reg = <0x05070800 0x400>; 676048ed5efSJames McGregor interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 677048ed5efSJames McGregor clocks = <&ccu CLK_BUS_KEYADC>; 678048ed5efSJames McGregor resets = <&ccu RST_BUS_KEYADC>; 679048ed5efSJames McGregor status = "disabled"; 680048ed5efSJames McGregor }; 681048ed5efSJames McGregor 682f40cf244SAndre Przywara usbotg: usb@5100000 { 683f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-musb", 684f40cf244SAndre Przywara "allwinner,sun8i-h3-musb"; 685f40cf244SAndre Przywara reg = <0x05100000 0x0400>; 686f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OTG>; 687f40cf244SAndre Przywara resets = <&ccu RST_BUS_OTG>; 688f40cf244SAndre Przywara interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 689f40cf244SAndre Przywara interrupt-names = "mc"; 690f40cf244SAndre Przywara phys = <&usbphy 0>; 691f40cf244SAndre Przywara phy-names = "usb"; 692f40cf244SAndre Przywara extcon = <&usbphy 0>; 693f40cf244SAndre Przywara status = "disabled"; 694f40cf244SAndre Przywara }; 695f40cf244SAndre Przywara 696f40cf244SAndre Przywara usbphy: phy@5100400 { 697f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-usb-phy"; 698f40cf244SAndre Przywara reg = <0x05100400 0x24>, 699f40cf244SAndre Przywara <0x05101800 0x14>, 700f40cf244SAndre Przywara <0x05200800 0x14>, 701f40cf244SAndre Przywara <0x05310800 0x14>, 702f40cf244SAndre Przywara <0x05311800 0x14>; 703f40cf244SAndre Przywara reg-names = "phy_ctrl", 704f40cf244SAndre Przywara "pmu0", 705f40cf244SAndre Przywara "pmu1", 706f40cf244SAndre Przywara "pmu2", 707f40cf244SAndre Przywara "pmu3"; 708f40cf244SAndre Przywara clocks = <&ccu CLK_USB_PHY0>, 709f40cf244SAndre Przywara <&ccu CLK_USB_PHY1>, 710f40cf244SAndre Przywara <&ccu CLK_USB_PHY2>, 711f40cf244SAndre Przywara <&ccu CLK_USB_PHY3>, 712f40cf244SAndre Przywara <&ccu CLK_BUS_EHCI2>; 713f40cf244SAndre Przywara clock-names = "usb0_phy", 714f40cf244SAndre Przywara "usb1_phy", 715f40cf244SAndre Przywara "usb2_phy", 716f40cf244SAndre Przywara "usb3_phy", 717f40cf244SAndre Przywara "pmu2_clk"; 718f40cf244SAndre Przywara resets = <&ccu RST_USB_PHY0>, 719f40cf244SAndre Przywara <&ccu RST_USB_PHY1>, 720f40cf244SAndre Przywara <&ccu RST_USB_PHY2>, 721f40cf244SAndre Przywara <&ccu RST_USB_PHY3>; 722f40cf244SAndre Przywara reset-names = "usb0_reset", 723f40cf244SAndre Przywara "usb1_reset", 724f40cf244SAndre Przywara "usb2_reset", 725f40cf244SAndre Przywara "usb3_reset"; 726f40cf244SAndre Przywara status = "disabled"; 727f40cf244SAndre Przywara #phy-cells = <1>; 728f40cf244SAndre Przywara }; 729f40cf244SAndre Przywara 730f40cf244SAndre Przywara ehci0: usb@5101000 { 731f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ehci", 732f40cf244SAndre Przywara "generic-ehci"; 733f40cf244SAndre Przywara reg = <0x05101000 0x100>; 734f40cf244SAndre Przywara interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 735f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI0>, 736f40cf244SAndre Przywara <&ccu CLK_BUS_EHCI0>, 737f40cf244SAndre Przywara <&ccu CLK_USB_OHCI0>; 738f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI0>, 739f40cf244SAndre Przywara <&ccu RST_BUS_EHCI0>; 740f40cf244SAndre Przywara phys = <&usbphy 0>; 741f40cf244SAndre Przywara phy-names = "usb"; 742f40cf244SAndre Przywara status = "disabled"; 743f40cf244SAndre Przywara }; 744f40cf244SAndre Przywara 745f40cf244SAndre Przywara ohci0: usb@5101400 { 746f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ohci", 747f40cf244SAndre Przywara "generic-ohci"; 748f40cf244SAndre Przywara reg = <0x05101400 0x100>; 749f40cf244SAndre Przywara interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 750f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI0>, 751f40cf244SAndre Przywara <&ccu CLK_USB_OHCI0>; 752f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI0>; 753f40cf244SAndre Przywara phys = <&usbphy 0>; 754f40cf244SAndre Przywara phy-names = "usb"; 755f40cf244SAndre Przywara status = "disabled"; 756f40cf244SAndre Przywara }; 757f40cf244SAndre Przywara 758f40cf244SAndre Przywara ehci1: usb@5200000 { 759f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ehci", 760f40cf244SAndre Przywara "generic-ehci"; 761f40cf244SAndre Przywara reg = <0x05200000 0x100>; 762f40cf244SAndre Przywara interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 763f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI1>, 764f40cf244SAndre Przywara <&ccu CLK_BUS_EHCI1>, 765f40cf244SAndre Przywara <&ccu CLK_USB_OHCI1>; 766f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI1>, 767f40cf244SAndre Przywara <&ccu RST_BUS_EHCI1>; 768f40cf244SAndre Przywara phys = <&usbphy 1>; 769f40cf244SAndre Przywara phy-names = "usb"; 770f40cf244SAndre Przywara status = "disabled"; 771f40cf244SAndre Przywara }; 772f40cf244SAndre Przywara 773f40cf244SAndre Przywara ohci1: usb@5200400 { 774f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ohci", 775f40cf244SAndre Przywara "generic-ohci"; 776f40cf244SAndre Przywara reg = <0x05200400 0x100>; 777f40cf244SAndre Przywara interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 778f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI1>, 779f40cf244SAndre Przywara <&ccu CLK_USB_OHCI1>; 780f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI1>; 781f40cf244SAndre Przywara phys = <&usbphy 1>; 782f40cf244SAndre Przywara phy-names = "usb"; 783f40cf244SAndre Przywara status = "disabled"; 784f40cf244SAndre Przywara }; 785f40cf244SAndre Przywara 786f40cf244SAndre Przywara ehci2: usb@5310000 { 787f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ehci", 788f40cf244SAndre Przywara "generic-ehci"; 789f40cf244SAndre Przywara reg = <0x05310000 0x100>; 790f40cf244SAndre Przywara interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 791f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI2>, 792f40cf244SAndre Przywara <&ccu CLK_BUS_EHCI2>, 793f40cf244SAndre Przywara <&ccu CLK_USB_OHCI2>; 794f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI2>, 795f40cf244SAndre Przywara <&ccu RST_BUS_EHCI2>; 796f40cf244SAndre Przywara phys = <&usbphy 2>; 797f40cf244SAndre Przywara phy-names = "usb"; 798f40cf244SAndre Przywara status = "disabled"; 799f40cf244SAndre Przywara }; 800f40cf244SAndre Przywara 801f40cf244SAndre Przywara ohci2: usb@5310400 { 802f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ohci", 803f40cf244SAndre Przywara "generic-ohci"; 804f40cf244SAndre Przywara reg = <0x05310400 0x100>; 805f40cf244SAndre Przywara interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 806f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI2>, 807f40cf244SAndre Przywara <&ccu CLK_USB_OHCI2>; 808f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI2>; 809f40cf244SAndre Przywara phys = <&usbphy 2>; 810f40cf244SAndre Przywara phy-names = "usb"; 811f40cf244SAndre Przywara status = "disabled"; 812f40cf244SAndre Przywara }; 813f40cf244SAndre Przywara 814f40cf244SAndre Przywara ehci3: usb@5311000 { 815f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ehci", 816f40cf244SAndre Przywara "generic-ehci"; 817f40cf244SAndre Przywara reg = <0x05311000 0x100>; 818f40cf244SAndre Przywara interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 819f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI3>, 820f40cf244SAndre Przywara <&ccu CLK_BUS_EHCI3>, 821f40cf244SAndre Przywara <&ccu CLK_USB_OHCI3>; 822f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI3>, 823f40cf244SAndre Przywara <&ccu RST_BUS_EHCI3>; 824f40cf244SAndre Przywara phys = <&usbphy 3>; 825f40cf244SAndre Przywara phy-names = "usb"; 826f40cf244SAndre Przywara status = "disabled"; 827f40cf244SAndre Przywara }; 828f40cf244SAndre Przywara 829f40cf244SAndre Przywara ohci3: usb@5311400 { 830f40cf244SAndre Przywara compatible = "allwinner,sun50i-h616-ohci", 831f40cf244SAndre Przywara "generic-ohci"; 832f40cf244SAndre Przywara reg = <0x05311400 0x100>; 833f40cf244SAndre Przywara interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 834f40cf244SAndre Przywara clocks = <&ccu CLK_BUS_OHCI3>, 835f40cf244SAndre Przywara <&ccu CLK_USB_OHCI3>; 836f40cf244SAndre Przywara resets = <&ccu RST_BUS_OHCI3>; 837f40cf244SAndre Przywara phys = <&usbphy 3>; 838f40cf244SAndre Przywara phy-names = "usb"; 839f40cf244SAndre Przywara status = "disabled"; 840f40cf244SAndre Przywara }; 841f40cf244SAndre Przywara 8420d17c865SAndre Przywara rtc: rtc@7000000 { 8430d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-rtc"; 8440d17c865SAndre Przywara reg = <0x07000000 0x400>; 8450d17c865SAndre Przywara interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 8460d17c865SAndre Przywara clocks = <&r_ccu CLK_R_APB1_RTC>, <&osc24M>, 8470d17c865SAndre Przywara <&ccu CLK_PLL_SYSTEM_32K>; 8480d17c865SAndre Przywara clock-names = "bus", "hosc", 8490d17c865SAndre Przywara "pll-32k"; 8500d17c865SAndre Przywara #clock-cells = <1>; 8510d17c865SAndre Przywara }; 8520d17c865SAndre Przywara 8530d17c865SAndre Przywara r_ccu: clock@7010000 { 8540d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-r-ccu"; 8550d17c865SAndre Przywara reg = <0x07010000 0x210>; 8560d17c865SAndre Przywara clocks = <&osc24M>, <&rtc CLK_OSC32K>, <&rtc CLK_IOSC>, 8570d17c865SAndre Przywara <&ccu CLK_PLL_PERIPH0>; 8580d17c865SAndre Przywara clock-names = "hosc", "losc", "iosc", "pll-periph"; 8590d17c865SAndre Przywara #clock-cells = <1>; 8600d17c865SAndre Przywara #reset-cells = <1>; 8610d17c865SAndre Przywara }; 8620d17c865SAndre Przywara 863fd46e5e1SChris Morgan nmi_intc: interrupt-controller@7010320 { 864fd46e5e1SChris Morgan compatible = "allwinner,sun50i-h616-nmi", 865fd46e5e1SChris Morgan "allwinner,sun9i-a80-nmi"; 866fd46e5e1SChris Morgan reg = <0x07010320 0xc>; 867fd46e5e1SChris Morgan interrupt-controller; 868fd46e5e1SChris Morgan #interrupt-cells = <2>; 869fd46e5e1SChris Morgan interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 870fd46e5e1SChris Morgan }; 871fd46e5e1SChris Morgan 8720d17c865SAndre Przywara r_pio: pinctrl@7022000 { 8730d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-r-pinctrl"; 8740d17c865SAndre Przywara reg = <0x07022000 0x400>; 8750d17c865SAndre Przywara clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, 8760d17c865SAndre Przywara <&rtc CLK_OSC32K>; 8770d17c865SAndre Przywara clock-names = "apb", "hosc", "losc"; 8780d17c865SAndre Przywara gpio-controller; 8790d17c865SAndre Przywara #gpio-cells = <3>; 8800d17c865SAndre Przywara 8810d17c865SAndre Przywara /omit-if-no-ref/ 8820d17c865SAndre Przywara r_i2c_pins: r-i2c-pins { 8830d17c865SAndre Przywara pins = "PL0", "PL1"; 8840d17c865SAndre Przywara function = "s_i2c"; 8850d17c865SAndre Przywara }; 8860d17c865SAndre Przywara 8870d17c865SAndre Przywara r_rsb_pins: r-rsb-pins { 8880d17c865SAndre Przywara pins = "PL0", "PL1"; 8890d17c865SAndre Przywara function = "s_rsb"; 8900d17c865SAndre Przywara }; 8910d17c865SAndre Przywara }; 8920d17c865SAndre Przywara 8930d17c865SAndre Przywara ir: ir@7040000 { 8940d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-ir", 8950d17c865SAndre Przywara "allwinner,sun6i-a31-ir"; 8960d17c865SAndre Przywara reg = <0x07040000 0x400>; 8970d17c865SAndre Przywara interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 8980d17c865SAndre Przywara clocks = <&r_ccu CLK_R_APB1_IR>, 8990d17c865SAndre Przywara <&r_ccu CLK_IR>; 9000d17c865SAndre Przywara clock-names = "apb", "ir"; 9010d17c865SAndre Przywara resets = <&r_ccu RST_R_APB1_IR>; 9020d17c865SAndre Przywara pinctrl-names = "default"; 9030d17c865SAndre Przywara pinctrl-0 = <&ir_rx_pin>; 9040d17c865SAndre Przywara status = "disabled"; 9050d17c865SAndre Przywara }; 9060d17c865SAndre Przywara 9070d17c865SAndre Przywara r_i2c: i2c@7081400 { 9080d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-i2c", 9090d17c865SAndre Przywara "allwinner,sun8i-v536-i2c", 9100d17c865SAndre Przywara "allwinner,sun6i-a31-i2c"; 9110d17c865SAndre Przywara reg = <0x07081400 0x400>; 9120d17c865SAndre Przywara interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 9130d17c865SAndre Przywara clocks = <&r_ccu CLK_R_APB2_I2C>; 914238f65fcSChen-Yu Tsai dmas = <&dma 48>, <&dma 48>; 915238f65fcSChen-Yu Tsai dma-names = "rx", "tx"; 9160d17c865SAndre Przywara resets = <&r_ccu RST_R_APB2_I2C>; 917*7c9ea4abSChris Morgan pinctrl-names = "default"; 918*7c9ea4abSChris Morgan pinctrl-0 = <&r_i2c_pins>; 9190d17c865SAndre Przywara status = "disabled"; 9200d17c865SAndre Przywara #address-cells = <1>; 9210d17c865SAndre Przywara #size-cells = <0>; 9220d17c865SAndre Przywara }; 9230d17c865SAndre Przywara 9240d17c865SAndre Przywara r_rsb: rsb@7083000 { 9250d17c865SAndre Przywara compatible = "allwinner,sun50i-h616-rsb", 9260d17c865SAndre Przywara "allwinner,sun8i-a23-rsb"; 9270d17c865SAndre Przywara reg = <0x07083000 0x400>; 9280d17c865SAndre Przywara interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 9290d17c865SAndre Przywara clocks = <&r_ccu CLK_R_APB2_RSB>; 9300d17c865SAndre Przywara clock-frequency = <3000000>; 9310d17c865SAndre Przywara resets = <&r_ccu RST_R_APB2_RSB>; 9320d17c865SAndre Przywara pinctrl-names = "default"; 9330d17c865SAndre Przywara pinctrl-0 = <&r_rsb_pins>; 9340d17c865SAndre Przywara status = "disabled"; 9350d17c865SAndre Przywara #address-cells = <1>; 9360d17c865SAndre Przywara #size-cells = <0>; 9370d17c865SAndre Przywara }; 9380d17c865SAndre Przywara }; 939f4318af4SMartin Botka 940f4318af4SMartin Botka thermal-zones { 941f4318af4SMartin Botka cpu-thermal { 942f4318af4SMartin Botka polling-delay-passive = <500>; 943f4318af4SMartin Botka polling-delay = <1000>; 944f4318af4SMartin Botka thermal-sensors = <&ths 2>; 945f4318af4SMartin Botka sustainable-power = <1000>; 946f4318af4SMartin Botka 947f4318af4SMartin Botka trips { 948f4318af4SMartin Botka cpu_threshold: cpu-trip-0 { 949f4318af4SMartin Botka temperature = <60000>; 950f4318af4SMartin Botka type = "passive"; 951f4318af4SMartin Botka hysteresis = <0>; 952f4318af4SMartin Botka }; 953f4318af4SMartin Botka cpu_target: cpu-trip-1 { 954f4318af4SMartin Botka temperature = <70000>; 955f4318af4SMartin Botka type = "passive"; 956f4318af4SMartin Botka hysteresis = <0>; 957f4318af4SMartin Botka }; 958f4318af4SMartin Botka cpu_critical: cpu-trip-2 { 959f4318af4SMartin Botka temperature = <110000>; 960f4318af4SMartin Botka type = "critical"; 961f4318af4SMartin Botka hysteresis = <0>; 962f4318af4SMartin Botka }; 963f4318af4SMartin Botka }; 964f4318af4SMartin Botka }; 965f4318af4SMartin Botka 966f4318af4SMartin Botka gpu-thermal { 967f4318af4SMartin Botka polling-delay-passive = <500>; 968f4318af4SMartin Botka polling-delay = <1000>; 969f4318af4SMartin Botka thermal-sensors = <&ths 0>; 970f4318af4SMartin Botka sustainable-power = <1100>; 971f4318af4SMartin Botka 972f4318af4SMartin Botka trips { 973f4318af4SMartin Botka gpu_temp_critical: gpu-trip-0 { 974f4318af4SMartin Botka temperature = <110000>; 975f4318af4SMartin Botka type = "critical"; 976f4318af4SMartin Botka hysteresis = <0>; 977f4318af4SMartin Botka }; 978f4318af4SMartin Botka }; 979f4318af4SMartin Botka }; 980f4318af4SMartin Botka 981f4318af4SMartin Botka ve-thermal { 982f4318af4SMartin Botka polling-delay-passive = <0>; 983f4318af4SMartin Botka polling-delay = <0>; 984f4318af4SMartin Botka thermal-sensors = <&ths 1>; 985f4318af4SMartin Botka 986f4318af4SMartin Botka trips { 987f4318af4SMartin Botka ve_temp_critical: ve-trip-0 { 988f4318af4SMartin Botka temperature = <110000>; 989f4318af4SMartin Botka type = "critical"; 990f4318af4SMartin Botka hysteresis = <0>; 991f4318af4SMartin Botka }; 992f4318af4SMartin Botka }; 993f4318af4SMartin Botka }; 994f4318af4SMartin Botka 995f4318af4SMartin Botka ddr-thermal { 996f4318af4SMartin Botka polling-delay-passive = <0>; 997f4318af4SMartin Botka polling-delay = <0>; 998f4318af4SMartin Botka thermal-sensors = <&ths 3>; 999f4318af4SMartin Botka 1000f4318af4SMartin Botka trips { 1001f4318af4SMartin Botka ddr_temp_critical: ddr-trip-0 { 1002f4318af4SMartin Botka temperature = <110000>; 1003f4318af4SMartin Botka type = "critical"; 1004f4318af4SMartin Botka hysteresis = <0>; 1005f4318af4SMartin Botka }; 1006f4318af4SMartin Botka }; 1007f4318af4SMartin Botka }; 1008f4318af4SMartin Botka }; 10090d17c865SAndre Przywara}; 1010