/dts-v1/; / { #address-cells = <0x02>; #size-cells = <0x02>; compatible = "sinovoip,bpi-m4-zero\0allwinner,sun50i-h618"; interrupt-parent = <0x01>; model = "BananaPi BPI-M4-Zero v2"; serial-number = "33802000d9062d00"; __symbols__ { addr_mgt = "/soc/addr-mgt"; ahub1_codec = "/soc/ahub1_mach/soundcard-mach,codec"; ahub1_cpu = "/soc/ahub1_mach/soundcard-mach,cpu"; ahub1_mach = "/soc/ahub1_mach"; ahub1_plat = "/soc/ahub1_plat"; ahub_dam_plat = "/soc/ahub_dam_plat@5097000"; axp313 = "/soc/i2c@7081400/pmic@36"; ccu = "/soc/clock@3001000"; codec = "/soc/codec@05096000"; cpu0 = "/cpus/cpu@0"; cpu1 = "/cpus/cpu@1"; cpu2 = "/cpus/cpu@2"; cpu3 = "/cpus/cpu@3"; cpu_critical = "/thermal-zones/cpu-thermal/trips/cpu-trip-2"; cpu_opp_table = "/opp-table-cpu"; cpu_speed_grade = "/soc/efuse@3006000/cpu-speed-grade@0"; cpu_target = "/thermal-zones/cpu-thermal/trips/cpu-trip-1"; cpu_threshold = "/thermal-zones/cpu-thermal/trips/cpu-trip-0"; crypto = "/soc/crypto@1904000"; ddr_temp_critical = "/thermal-zones/ddr-thermal/trips/ddr-trip-0"; de = "/display-engine"; de3_sram = "/soc/syscon@3000000/sram@28000/sram-section@0"; display_clocks = "/soc/bus@1000000/clock@8000"; dma = "/soc/dma-controller@3002000"; dump_reg = "/soc/dump_reg@20000"; ehci0 = "/soc/usb@5101000"; ehci1 = "/soc/usb@5200000"; ehci2 = "/soc/usb@5310000"; ehci3 = "/soc/usb@5311000"; emac0 = "/soc/ethernet@5020000"; emac1 = "/soc/ethernet@5030000"; ext_rgmii_phy = "/soc/ethernet@5030000/mdio/ethernet-phy@1"; ext_rgmii_pins = "/soc/pinctrl@300b000/rgmii-pins"; gic = "/soc/interrupt-controller@3021000"; gpadc = "/soc/adc@5070000"; gpu = "/soc/gpu@1800000"; gpu_temp_critical = "/thermal-zones/gpu-thermal/trips/gpu-trip-0"; hdmi = "/soc/hdmi@6000000"; hdmi_con_in = "/connector/port/endpoint"; hdmi_in = "/soc/hdmi@6000000/ports/port@0"; hdmi_in_tcon_top = "/soc/hdmi@6000000/ports/port@0/endpoint"; hdmi_out = "/soc/hdmi@6000000/ports/port@1"; hdmi_out_con = "/soc/hdmi@6000000/ports/port@1/endpoint"; hdmi_phy = "/soc/hdmi-phy@6010000"; i2c0 = "/soc/i2c@5002000"; i2c0_pins = "/soc/pinctrl@300b000/i2c0-pins"; i2c1 = "/soc/i2c@5002400"; i2c2 = "/soc/i2c@5002800"; i2c2_ph_pins = "/soc/pinctrl@300b000/i2c2-ph-pins"; i2c3 = "/soc/i2c@5002c00"; i2c3_pg_pins = "/soc/pinctrl@300b000/i2c3-pg-pins"; i2c3_ph_pins = "/soc/pinctrl@300b000/i2c3-ph-pins"; i2c4 = "/soc/i2c@5003000"; i2c4_pg_pins = "/soc/pinctrl@300b000/i2c4-pg-pins"; i2c4_ph_pins = "/soc/pinctrl@300b000/i2c4-ph-pins"; iommu = "/soc/iommu@30f0000"; ir = "/soc/ir@7040000"; ir_rx_pin = "/soc/pinctrl@300b000/ir-rx-pin"; l2_cache = "/cpus/l2-cache"; lradc = "/soc/lradc@5070800"; mdio0 = "/soc/ethernet@5020000/mdio"; mdio1 = "/soc/ethernet@5030000/mdio"; mixer0 = "/soc/bus@1000000/mixer@100000"; mixer0_out = "/soc/bus@1000000/mixer@100000/ports/port@1"; mixer0_out_tcon_top_mixer0 = "/soc/bus@1000000/mixer@100000/ports/port@1/endpoint"; mmc0 = "/soc/mmc@4020000"; mmc0_pins = "/soc/pinctrl@300b000/mmc0-pins"; mmc1 = "/soc/mmc@4021000"; mmc1_pins = "/soc/pinctrl@300b000/mmc1-pins"; mmc2 = "/soc/mmc@4022000"; mmc2_pins = "/soc/pinctrl@300b000/mmc2-pins"; nmi_intc = "/soc/interrupt-controller@7010320"; ohci0 = "/soc/usb@5101400"; ohci1 = "/soc/usb@5200400"; ohci2 = "/soc/usb@5310400"; ohci3 = "/soc/usb@5311400"; osc24M = "/osc24M-clk"; pio = "/soc/pinctrl@300b000"; r_ccu = "/soc/clock@7010000"; r_i2c = "/soc/i2c@7081400"; r_i2c_pins = "/soc/pinctrl@7022000/r-i2c-pins"; r_pio = "/soc/pinctrl@7022000"; r_rsb = "/soc/rsb@7083000"; r_rsb_pins = "/soc/pinctrl@7022000/r-rsb-pins"; reg_aldo1 = "/soc/i2c@7081400/pmic@36/regulators/aldo1"; reg_dcdc1 = "/soc/i2c@7081400/pmic@36/regulators/dcdc1"; reg_dcdc2 = "/soc/i2c@7081400/pmic@36/regulators/dcdc2"; reg_dcdc3 = "/soc/i2c@7081400/pmic@36/regulators/dcdc3"; reg_dldo1 = "/soc/i2c@7081400/pmic@36/regulators/dldo1"; reg_usb_vbus = "/regulator-usb-vbus"; reg_vcc1v8 = "/regulator-vcc1v8"; reg_vcc3v3 = "/regulator-vcc3v3"; reg_vcc5v = "/regulator-vcc5v"; rmii_pins = "/soc/pinctrl@300b000/rmii-pins"; rtc = "/soc/rtc@7000000"; scpi_sram = "/soc/syscon@3000000/sram@100000/scpi-sram@17c00"; sdio = "/soc/mmc@4021000/wifi@1"; sid = "/soc/efuse@3006000"; spdif = "/soc/spdif@5093000"; spdif_tx_pin = "/soc/pinctrl@300b000/spdif-tx-pin"; spi0 = "/soc/spi@5010000"; spi0_cs0_pin = "/soc/pinctrl@300b000/spi0-cs0-pin"; spi0_pins = "/soc/pinctrl@300b000/spi0-pins"; spi1 = "/soc/spi@5011000"; spi1_cs0_pin = "/soc/pinctrl@300b000/spi1-cs0-pin"; spi1_cs1_pin = "/soc/pinctrl@300b000/spi1-cs1-pin"; spi1_pins = "/soc/pinctrl@300b000/spi1-pins"; sram_a2 = "/soc/syscon@3000000/sram@100000"; sram_c = "/soc/syscon@3000000/sram@28000"; sram_c1 = "/soc/syscon@3000000/sram@1a00000"; syscon = "/soc/syscon@3000000"; tcon_top = "/soc/tcon-top@6510000"; tcon_top_hdmi_in = "/soc/tcon-top@6510000/ports/port@4"; tcon_top_hdmi_in_tcon_tv = "/soc/tcon-top@6510000/ports/port@4/endpoint@0"; tcon_top_hdmi_out = "/soc/tcon-top@6510000/ports/port@5"; tcon_top_hdmi_out_hdmi = "/soc/tcon-top@6510000/ports/port@5/endpoint"; tcon_top_mixer0_in = "/soc/tcon-top@6510000/ports/port@0"; tcon_top_mixer0_in_mixer0 = "/soc/tcon-top@6510000/ports/port@0/endpoint@0"; tcon_top_mixer0_out = "/soc/tcon-top@6510000/ports/port@1"; tcon_top_mixer0_out_tcon_tv = "/soc/tcon-top@6510000/ports/port@1/endpoint@2"; tcon_tv = "/soc/lcd-controller@6515000"; tcon_tv_in = "/soc/lcd-controller@6515000/ports/port@0"; tcon_tv_in_tcon_top_mixer0 = "/soc/lcd-controller@6515000/ports/port@0/endpoint"; tcon_tv_out = "/soc/lcd-controller@6515000/ports/port@1"; tcon_tv_out_tcon_top = "/soc/lcd-controller@6515000/ports/port@1/endpoint@1"; ths = "/soc/thermal-sensor@5070400"; ths_calibration = "/soc/efuse@3006000/thermal-sensor-calibration@14"; uart0 = "/soc/serial@5000000"; uart0_ph_pins = "/soc/pinctrl@300b000/uart0-ph-pins"; uart1 = "/soc/serial@5000400"; uart1_pins = "/soc/pinctrl@300b000/uart1-pins"; uart1_rts_cts_pins = "/soc/pinctrl@300b000/uart1-rts-cts-pins"; uart2 = "/soc/serial@5000800"; uart2_pi_pins = "/soc/pinctrl@300b000/uart2-pi-pins"; uart2_pins = "/soc/pinctrl@300b000/uart2-pins"; uart2_rts_cts_pins = "/soc/pinctrl@300b000/uart2-rts-cts-pins"; uart3 = "/soc/serial@5000c00"; uart3_pi_pins = "/soc/pinctrl@300b000/uart3-pi-pins"; uart4 = "/soc/serial@5001000"; uart4_pi_pins = "/soc/pinctrl@300b000/uart4-pi-pins"; uart5 = "/soc/serial@5001400"; uart5_pins = "/soc/pinctrl@300b000/uart5-pins"; usbotg = "/soc/usb@5100000"; usbphy = "/soc/phy@5100400"; ve_sram = "/soc/syscon@3000000/sram@1a00000/sram-section@0"; ve_temp_critical = "/thermal-zones/ve-thermal/trips/ve-trip-0"; watchdog = "/soc/watchdog@30090a0"; wifi_pwrseq = "/wifi-pwrseq"; x32clk_fanout_pin = "/soc/pinctrl@300b000/x32clk-fanout-pin"; }; aliases { ethernet0 = "/soc/ethernet@5030000"; i2c3 = "/soc/i2c@5002c00"; i2c4 = "/soc/i2c@5003000"; serial0 = "/soc/serial@5000000"; serial5 = "/soc/serial@5001400"; spi1 = "/soc/spi@5011000"; }; chosen { bootargs = "root=UUID=33925cac-184b-4310-856c-b5170668b4c1 rootwait rootfstype=ext4 splash=verbose console=ttyS0,115200 console=tty1 consoleblank=0 loglevel=1 ubootpart=ac4b869d-01 usb-storage.quirks= cfg80211.ieee80211_regdom=US cgroup_enable=memory"; linux,initrd-end = <0x00 0x49fffabd>; linux,initrd-start = <0x00 0x48eba000>; stdout-path = "serial0:115200n8"; u-boot,version = "2024.04-armbian-2024.04-S2504-Pdc9a-Ha9af-V0782-Bda0a-R448a"; }; connector { compatible = "hdmi-connector"; type = "d"; port { endpoint { phandle = <0x31>; remote-endpoint = <0x3f>; }; }; }; cpus { #address-cells = <0x01>; #size-cells = <0x00>; cpu@0 { #cooling-cells = <0x02>; clocks = <0x02 0x15>; compatible = "arm,cortex-a53"; cpu-supply = <0x05>; d-cache-line-size = <0x40>; d-cache-sets = <0x80>; d-cache-size = <0x8000>; device_type = "cpu"; enable-method = "psci"; i-cache-line-size = <0x40>; i-cache-sets = <0x100>; i-cache-size = <0x8000>; next-level-cache = <0x03>; operating-points-v2 = <0x04>; phandle = <0x07>; reg = <0x00>; }; cpu@1 { #cooling-cells = <0x02>; clocks = <0x02 0x15>; compatible = "arm,cortex-a53"; d-cache-line-size = <0x40>; d-cache-sets = <0x80>; d-cache-size = <0x8000>; device_type = "cpu"; enable-method = "psci"; i-cache-line-size = <0x40>; i-cache-sets = <0x100>; i-cache-size = <0x8000>; next-level-cache = <0x03>; operating-points-v2 = <0x04>; phandle = <0x08>; reg = <0x01>; }; cpu@2 { #cooling-cells = <0x02>; clocks = <0x02 0x15>; compatible = "arm,cortex-a53"; d-cache-line-size = <0x40>; d-cache-sets = <0x80>; d-cache-size = <0x8000>; device_type = "cpu"; enable-method = "psci"; i-cache-line-size = <0x40>; i-cache-sets = <0x100>; i-cache-size = <0x8000>; next-level-cache = <0x03>; operating-points-v2 = <0x04>; phandle = <0x09>; reg = <0x02>; }; cpu@3 { #cooling-cells = <0x02>; clocks = <0x02 0x15>; compatible = "arm,cortex-a53"; d-cache-line-size = <0x40>; d-cache-sets = <0x80>; d-cache-size = <0x8000>; device_type = "cpu"; enable-method = "psci"; i-cache-line-size = <0x40>; i-cache-sets = <0x100>; i-cache-size = <0x8000>; next-level-cache = <0x03>; operating-points-v2 = <0x04>; phandle = <0x0a>; reg = <0x03>; }; l2-cache { cache-level = <0x02>; cache-line-size = <0x40>; cache-sets = <0x100>; cache-size = <0x40000>; cache-unified; compatible = "cache"; phandle = <0x03>; }; }; display-engine { allwinner,pipelines = <0x06>; compatible = "allwinner,sun50i-h6-display-engine"; phandle = <0x41>; status = "okay"; }; leds { compatible = "gpio-leds"; led-0 { color = <0x01>; function = "status"; gpios = <0x15 0x02 0x0c 0x00>; linux,default-trigger = "heartbeat"; }; }; memory { device_type = "memory"; reg = <0x00 0x40000000 0x01 0x00>; }; opp-table-cpu { compatible = "allwinner,sun50i-h616-operating-points"; nvmem-cells = <0x3e>; opp-shared; phandle = <0x04>; opp-1008000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x3c14dc00>; opp-microvolt-speed0 = <0xe7ef0>; opp-microvolt-speed1 = <0xe57e0>; opp-microvolt-speed2 = <0xe7ef0>; opp-microvolt-speed3 = <0xe7ef0>; opp-microvolt-speed4 = <0xf9060>; opp-microvolt-speed5 = <0xdbba0>; opp-supported-hw = <0x3f>; }; opp-1032000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x3d831200>; opp-microvolt = <0xdbba0>; opp-supported-hw = <0x20>; }; opp-1104000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x41cdb400>; opp-microvolt-speed0 = <0xf4240>; opp-microvolt-speed2 = <0xf4240>; opp-microvolt-speed3 = <0xf4240>; opp-microvolt-speed5 = <0xe7ef0>; opp-supported-hw = <0x2d>; }; opp-1200000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x47868c00>; opp-microvolt-speed0 = <0x100590>; opp-microvolt-speed1 = <0xf9060>; opp-microvolt-speed2 = <0x100590>; opp-microvolt-speed3 = <0x100590>; opp-microvolt-speed4 = <0x10c8e0>; opp-microvolt-speed5 = <0xf9060>; opp-supported-hw = <0x3f>; }; opp-1320000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x4ead9a00>; opp-microvolt = <0x10c8e0>; opp-supported-hw = <0x1d>; }; opp-1416000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x54667200>; opp-microvolt = <0x10c8e0>; opp-supported-hw = <0x2d>; }; opp-1512000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x5a1f4a00>; opp-microvolt-speed1 = <0x10c8e0>; opp-microvolt-speed3 = <0x10c8e0>; opp-microvolt-speed5 = <0x11b340>; opp-supported-hw = <0x2a>; }; opp-480000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x1c9c3800>; opp-microvolt = <0xdbba0>; opp-supported-hw = <0x3f>; }; opp-600000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x23c34600>; opp-microvolt = <0xdbba0>; opp-supported-hw = <0x12>; }; opp-720000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x2aea5400>; opp-microvolt = <0xdbba0>; opp-supported-hw = <0x2d>; }; opp-792000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x2f34f600>; opp-microvolt-speed1 = <0xdbba0>; opp-microvolt-speed4 = <0xe57e0>; opp-supported-hw = <0x12>; }; opp-936000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x37ca3a00>; opp-microvolt = <0xdbba0>; opp-supported-hw = <0x0d>; }; }; osc24M-clk { #clock-cells = <0x00>; clock-frequency = <0x16e3600>; clock-output-names = "osc24M"; compatible = "fixed-clock"; phandle = <0x11>; }; pmu { compatible = "arm,cortex-a53-pmu"; interrupt-affinity = <0x07 0x08 0x09 0x0a>; interrupts = <0x00 0x8c 0x04 0x00 0x8d 0x04 0x00 0x8e 0x04 0x00 0x8f 0x04>; }; psci { compatible = "arm,psci-0.2"; method = "smc"; }; regulator-usb-vbus { compatible = "regulator-fixed"; phandle = <0x95>; regulator-max-microvolt = <0x4c4b40>; regulator-min-microvolt = <0x4c4b40>; regulator-name = "usb-vbus"; vin-supply = <0x3b>; }; regulator-vcc1v8 { compatible = "regulator-fixed"; phandle = <0x1a>; regulator-always-on; regulator-max-microvolt = <0x1b7740>; regulator-min-microvolt = <0x1b7740>; regulator-name = "vcc-1v8"; vin-supply = <0x16>; }; regulator-vcc3v3 { compatible = "regulator-fixed"; phandle = <0x16>; regulator-always-on; regulator-max-microvolt = <0x325aa0>; regulator-min-microvolt = <0x325aa0>; regulator-name = "vcc-3v3"; vin-supply = <0x3b>; }; regulator-vcc5v { compatible = "regulator-fixed"; phandle = <0x3b>; regulator-always-on; regulator-max-microvolt = <0x4c4b40>; regulator-min-microvolt = <0x4c4b40>; regulator-name = "vcc-5v"; }; reserved-memory { #address-cells = <0x02>; #size-cells = <0x02>; ranges; secmon@40000000 { no-map; reg = <0x00 0x40000000 0x00 0x80000>; }; }; soc { #address-cells = <0x01>; #size-cells = <0x01>; compatible = "simple-bus"; ranges = <0x00 0x00 0x00 0x40000000>; adc@5070000 { #io-channel-cells = <0x01>; clocks = <0x02 0x81>; compatible = "allwinner,sun50i-h616-gpadc\0allwinner,sun20i-d1-gpadc"; interrupts = <0x00 0x12 0x04>; phandle = <0x6b>; reg = <0x5070000 0x400>; resets = <0x02 0x3c>; status = "disabled"; }; addr-mgt { compatible = "allwinner,sunxi-addr_mgt"; phandle = <0x8e>; status = "okay"; type_addr_bt = <0x02>; type_addr_eth = <0x02>; type_addr_wifi = <0x02>; }; ahub1_mach { compatible = "allwinner,sunxi-snd-mach"; phandle = <0x71>; soundcard-mach,bitclock-master = <0x2b>; soundcard-mach,format = "i2s"; soundcard-mach,frame-master = <0x2b>; soundcard-mach,name = "HDMI"; soundcard-mach,slot-num = <0x02>; soundcard-mach,slot-width = <0x20>; status = "disabled"; soundcard-mach,codec { phandle = <0x72>; sound-dai = <0x2d>; }; soundcard-mach,cpu { phandle = <0x2b>; sound-dai = <0x2c>; soundcard-mach,mclk-fs = <0x00>; soundcard-mach,pll-fs = <0x04>; }; }; ahub1_plat { #sound-dai-cells = <0x00>; apb_num = <0x01>; capture_cma = <0x80>; compatible = "allwinner,sunxi-snd-plat-ahub"; dma-names = "tx\0rx"; dmas = <0x1b 0x04 0x1b 0x04>; phandle = <0x2c>; playback_cma = <0x80>; rx_fifo_size = <0x80>; rx_pin = <0x00>; status = "disabled"; tdm_num = <0x01>; tx_fifo_size = <0x80>; tx_pin = <0x00>; }; ahub_dam_plat@5097000 { #sound-dai-cells = <0x00>; clock-names = "clk_pll_audio\0clk_pll_audio_4x\0clk_audio_hub\0clk_bus_audio_hub"; clocks = <0x02 0x5b 0x02 0x5c 0x02 0x5e 0x02 0x5f>; compatible = "allwinner,sunxi-snd-plat-ahub_dam"; phandle = <0x70>; reg = <0x5097000 0x1000>; resets = <0x02 0x25>; status = "disabled"; }; bus@1000000 { #address-cells = <0x01>; #size-cells = <0x01>; allwinner,sram = <0x0c 0x01>; compatible = "allwinner,sun50i-h616-de33\0allwinner,sun50i-a64-de2"; ranges = <0x00 0x1000000 0x400000>; reg = <0x1000000 0x400000>; clock@8000 { #clock-cells = <0x01>; #reset-cells = <0x01>; clock-names = "mod\0bus"; clocks = <0x02 0x1d 0x02 0x1e>; compatible = "allwinner,sun50i-h616-de33-clk"; phandle = <0x0d>; reg = <0x8000 0x100>; resets = <0x02 0x01>; }; mixer@100000 { clock-names = "bus\0mod"; clocks = <0x0d 0x00 0x0d 0x06>; compatible = "allwinner,sun50i-h616-de33-mixer-0"; phandle = <0x06>; reg = <0x100000 0x100000 0x8100 0x40 0x280000 0x20000>; resets = <0x0d 0x00>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@1 { phandle = <0x43>; reg = <0x01>; endpoint { phandle = <0x32>; remote-endpoint = <0x0e>; }; }; }; }; }; clock@3001000 { #clock-cells = <0x01>; #reset-cells = <0x01>; clock-names = "hosc\0losc\0iosc"; clocks = <0x11 0x0b 0x00 0x0b 0x02>; compatible = "allwinner,sun50i-h616-ccu"; phandle = <0x02>; reg = <0x3001000 0x1000>; }; clock@7010000 { #clock-cells = <0x01>; #reset-cells = <0x01>; clock-names = "hosc\0losc\0iosc\0pll-periph"; clocks = <0x11 0x0b 0x00 0x0b 0x02 0x02 0x04>; compatible = "allwinner,sun50i-h616-r-ccu"; phandle = <0x39>; reg = <0x7010000 0x210>; }; codec@05096000 { #sound-dai-cells = <0x00>; clock-names = "apb\0audio-codec-1x\0audio-codec-4x"; clocks = <0x02 0x5d 0x02 0x5b 0x02 0x5c>; compatible = "allwinner,sun50i-h616-codec"; dma-names = "tx"; dmas = <0x1b 0x06>; interrupts = <0x00 0x3a 0x04>; phandle = <0x6f>; reg = <0x5096000 0x31c>; resets = <0x02 0x24>; status = "disabled"; }; crypto@1904000 { clock-names = "bus\0mod\0ram\0trng"; clocks = <0x02 0x27 0x02 0x26 0x02 0x34 0x0b 0x02>; compatible = "allwinner,sun50i-h616-crypto"; interrupts = <0x00 0x5b 0x04>; phandle = <0x42>; reg = <0x1904000 0x800>; resets = <0x02 0x04>; }; dma-controller@3002000 { #dma-cells = <0x01>; clock-names = "bus\0mbus"; clocks = <0x02 0x2a 0x02 0x32>; compatible = "allwinner,sun50i-h616-dma\0allwinner,sun50i-a100-dma"; dma-channels = <0x10>; dma-requests = <0x31>; interrupts = <0x00 0x2a 0x04>; phandle = <0x1b>; reg = <0x3002000 0x1000>; resets = <0x02 0x06>; }; dump_reg@20000 { compatible = "allwinner,sunxi-dump-reg"; phandle = <0x8d>; reg = <0x00 0x3001000 0x00 0xf20>; status = "okay"; }; efuse@3006000 { #address-cells = <0x01>; #size-cells = <0x01>; compatible = "allwinner,sun50i-h616-sid\0allwinner,sun50i-a64-sid"; phandle = <0x49>; reg = <0x3006000 0x1000>; cpu-speed-grade@0 { phandle = <0x3e>; reg = <0x00 0x02>; }; thermal-sensor-calibration@14 { phandle = <0x28>; reg = <0x14 0x08>; }; }; ethernet@5020000 { clock-names = "stmmaceth"; clocks = <0x02 0x52>; compatible = "allwinner,sun50i-h616-emac0\0allwinner,sun50i-a64-emac"; interrupt-names = "macirq"; interrupts = <0x00 0x0e 0x04>; phandle = <0x68>; reg = <0x5020000 0x10000>; reset-names = "stmmaceth"; resets = <0x02 0x1e>; status = "disabled"; syscon = <0x26>; mdio { #address-cells = <0x01>; #size-cells = <0x00>; compatible = "snps,dwmac-mdio"; phandle = <0x69>; }; }; ethernet@5030000 { allwinner,rx-delay-ps = <0xc1c>; allwinner,tx-delay-ps = <0x2bc>; clock-names = "bus-emac1\0emac-25m"; clocks = <0x02 0x53 0x02 0x51>; compatible = "allwinner,sunxi-gmac"; gmac-power0; gmac-power1; gmac-power2; interrupt-names = "gmacirq"; interrupts = <0x00 0x0f 0x04>; local-mac-address = [de ad be ef 00 01]; phandle = <0x6d>; phy-handle = <0x2a>; phy-mode = "rgmii"; phy-rst; phy-supply = <0x13>; pinctrl-0 = <0x29>; pinctrl-names = "default"; reg = <0x5030000 0x10000 0x3000034 0x04>; reg-names = "gmac1_reg\0ephy_reg"; reset-names = "stmmaceth"; resets = <0x02 0x1f>; rx-delay = <0x1f>; status = "disabled"; tx-delay = <0x07>; mdio { #address-cells = <0x01>; #size-cells = <0x00>; compatible = "ethernet-phy-ieee802.3-c22"; phandle = <0x6e>; ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; phandle = <0x2a>; reg = <0x01>; }; }; }; gpu@1800000 { clock-names = "core\0bus"; clocks = <0x02 0x23 0x02 0x24>; compatible = "allwinner,sun50i-h616-mali\0arm,mali-bifrost"; interrupt-names = "job\0mmu\0gpu"; interrupts = <0x00 0x5f 0x04 0x00 0x60 0x04 0x00 0x61 0x04>; mali-supply = <0x0f>; phandle = <0x44>; reg = <0x1800000 0x40000>; resets = <0x02 0x03>; status = "disabled"; }; hdmi-phy@6010000 { #phy-cells = <0x00>; clock-names = "bus\0mod"; clocks = <0x02 0x75 0x02 0x73>; compatible = "allwinner,sun50i-h616-hdmi-phy"; phandle = <0x2f>; reg = <0x6010000 0x10000>; reset-names = "phy"; resets = <0x02 0x34>; }; hdmi@6000000 { #sound-dai-cells = <0x00>; clock-names = "iahb\0isfr\0tmds\0cec\0hdcp\0hdcp-bus"; clocks = <0x02 0x75 0x02 0x73 0x02 0x72 0x02 0x74 0x02 0x7e 0x02 0x7f>; compatible = "allwinner,sun50i-h616-dw-hdmi\0allwinner,sun50i-h6-dw-hdmi"; interrupts = <0x00 0x3f 0x04>; phandle = <0x2d>; phy-names = "phy"; phys = <0x2f>; reg = <0x6000000 0x10000>; reg-io-width = <0x01>; reset-names = "ctrl\0hdcp"; resets = <0x02 0x33 0x02 0x3a>; status = "okay"; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@0 { phandle = <0x7c>; reg = <0x00>; endpoint { phandle = <0x35>; remote-endpoint = <0x30>; }; }; port@1 { phandle = <0x7d>; reg = <0x01>; endpoint { phandle = <0x3f>; remote-endpoint = <0x31>; }; }; }; }; i2c@5002000 { #address-cells = <0x01>; #size-cells = <0x00>; clocks = <0x02 0x48>; compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c"; dma-names = "rx\0tx"; dmas = <0x1b 0x2b 0x1b 0x2b>; interrupts = <0x00 0x06 0x04>; phandle = <0x61>; pinctrl-0 = <0x20>; pinctrl-names = "default"; reg = <0x5002000 0x400>; resets = <0x02 0x17>; status = "disabled"; }; i2c@5002400 { #address-cells = <0x01>; #size-cells = <0x00>; clocks = <0x02 0x49>; compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c"; dma-names = "rx\0tx"; dmas = <0x1b 0x2c 0x1b 0x2c>; interrupts = <0x00 0x07 0x04>; phandle = <0x62>; reg = <0x5002400 0x400>; resets = <0x02 0x18>; status = "disabled"; }; i2c@5002800 { #address-cells = <0x01>; #size-cells = <0x00>; clocks = <0x02 0x4a>; compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c"; dma-names = "rx\0tx"; dmas = <0x1b 0x2d 0x1b 0x2d>; interrupts = <0x00 0x08 0x04>; phandle = <0x63>; reg = <0x5002800 0x400>; resets = <0x02 0x19>; status = "disabled"; }; i2c@5002c00 { #address-cells = <0x01>; #size-cells = <0x00>; clocks = <0x02 0x4b>; compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c"; dma-names = "rx\0tx"; dmas = <0x1b 0x2e 0x1b 0x2e>; interrupts = <0x00 0x09 0x04>; phandle = <0x64>; pinctrl-0 = <0x21>; pinctrl-names = "default"; reg = <0x5002c00 0x400>; resets = <0x02 0x1a>; status = "disabled"; }; i2c@5003000 { #address-cells = <0x01>; #size-cells = <0x00>; clocks = <0x02 0x4c>; compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c"; dma-names = "rx\0tx"; dmas = <0x1b 0x2f 0x1b 0x2f>; interrupts = <0x00 0x0a 0x04>; phandle = <0x65>; pinctrl-0 = <0x22>; pinctrl-names = "default"; reg = <0x5003000 0x400>; resets = <0x02 0x1b>; status = "disabled"; }; i2c@7081400 { #address-cells = <0x01>; #size-cells = <0x00>; clocks = <0x39 0x08>; compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c"; dma-names = "rx\0tx"; dmas = <0x1b 0x30 0x1b 0x30>; interrupts = <0x00 0x69 0x04>; phandle = <0x89>; reg = <0x7081400 0x400>; resets = <0x39 0x04>; status = "okay"; pmic@36 { #interrupt-cells = <0x01>; compatible = "x-powers,axp313a"; interrupt-controller; interrupt-parent = <0x15>; phandle = <0x8a>; reg = <0x36>; vin1-supply = <0x3b>; vin2-supply = <0x3b>; vin3-supply = <0x3b>; regulators { aldo1 { phandle = <0x12>; regulator-always-on; regulator-max-microvolt = <0x1b7740>; regulator-min-microvolt = <0x1b7740>; regulator-name = "vcc-1v8-pll"; }; dcdc1 { phandle = <0x0f>; regulator-always-on; regulator-max-microvolt = <0xf1b30>; regulator-min-microvolt = <0xc5c10>; regulator-name = "vdd-gpu-sys"; }; dcdc2 { phandle = <0x05>; regulator-always-on; regulator-max-microvolt = <0x10c8e0>; regulator-min-microvolt = <0xc5c10>; regulator-name = "vdd-cpu"; }; dcdc3 { phandle = <0x8b>; regulator-always-on; regulator-max-microvolt = <0x10c8e0>; regulator-min-microvolt = <0x10c8e0>; regulator-name = "vdd-dram"; }; dldo1 { phandle = <0x13>; regulator-always-on; regulator-max-microvolt = <0x325aa0>; regulator-min-microvolt = <0x325aa0>; regulator-name = "vcc-3v3-io"; }; }; }; }; interrupt-controller@3021000 { #interrupt-cells = <0x03>; compatible = "arm,gic-400"; interrupt-controller; interrupts = <0x01 0x09 0xf04>; phandle = <0x01>; reg = <0x3021000 0x1000 0x3022000 0x2000 0x3024000 0x2000 0x3026000 0x2000>; }; interrupt-controller@7010320 { #interrupt-cells = <0x02>; compatible = "allwinner,sun50i-h616-nmi\0allwinner,sun9i-a80-nmi"; interrupt-controller; interrupts = <0x00 0x67 0x04>; phandle = <0x85>; reg = <0x7010320 0x0c>; }; iommu@30f0000 { #iommu-cells = <0x01>; clocks = <0x02 0x30>; compatible = "allwinner,sun50i-h616-iommu\0allwinner,sun50i-h6-iommu"; interrupts = <0x00 0x3d 0x04>; phandle = <0x56>; reg = <0x30f0000 0x10000>; resets = <0x02 0x0b>; }; ir@7040000 { clock-names = "apb\0ir"; clocks = <0x39 0x09 0x39 0x0b>; compatible = "allwinner,sun50i-h616-ir\0allwinner,sun6i-a31-ir"; interrupts = <0x00 0x6a 0x04>; phandle = <0x88>; pinctrl-0 = <0x3a>; pinctrl-names = "default"; reg = <0x7040000 0x400>; resets = <0x39 0x05>; status = "disabled"; }; lcd-controller@6515000 { clock-names = "ahb\0tcon-ch1"; clocks = <0x02 0x79 0x36 0x00>; compatible = "allwinner,sun50i-h6-tcon-tv\0allwinner,sun8i-r40-tcon-tv"; interrupts = <0x00 0x42 0x04>; phandle = <0x82>; reg = <0x6515000 0x1000>; reset-names = "lcd"; resets = <0x02 0x36>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@0 { phandle = <0x83>; reg = <0x00>; endpoint { phandle = <0x33>; remote-endpoint = <0x37>; }; }; port@1 { #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x84>; reg = <0x01>; endpoint@1 { phandle = <0x34>; reg = <0x01>; remote-endpoint = <0x38>; }; }; }; }; lradc@5070800 { clocks = <0x02 0x71>; compatible = "allwinner,sun50i-h616-lradc\0allwinner,sun50i-r329-lradc"; interrupts = <0x00 0x14 0x04>; phandle = <0x6c>; reg = <0x5070800 0x400>; resets = <0x02 0x3b>; status = "disabled"; }; mmc@4020000 { #address-cells = <0x01>; #size-cells = <0x00>; bus-width = <0x04>; cap-mmc-highspeed; cap-sd-highspeed; cap-sdio-irq; cd-gpios = <0x15 0x05 0x06 0x00>; clock-names = "ahb\0mmc"; clocks = <0x02 0x3f 0x02 0x3c>; compatible = "allwinner,sun50i-h616-mmc\0allwinner,sun50i-a100-mmc"; disable-wp; interrupts = <0x00 0x23 0x04>; max-frequency = <0x2faf080>; mmc-ddr-3_3v; phandle = <0x57>; pinctrl-0 = <0x14>; pinctrl-names = "default"; reg = <0x4020000 0x1000>; reset-names = "ahb"; resets = <0x02 0x0e>; status = "okay"; vmmc-supply = <0x16>; }; mmc@4021000 { #address-cells = <0x01>; #size-cells = <0x00>; bus-width = <0x04>; cap-mmc-highspeed; cap-sd-highspeed; cap-sdio-irq; cd-gpios = <0x15 0x06 0x0f 0x00>; clock-names = "ahb\0mmc"; clocks = <0x02 0x40 0x02 0x3d>; compatible = "allwinner,sun50i-h616-mmc\0allwinner,sun50i-a100-mmc"; disable-wp; interrupts = <0x00 0x24 0x04>; keep-power-in-suspend; max-frequency = <0x5f5e100>; mmc-ddr-3_3v; mmc-pwrseq = <0x18>; non-removable; phandle = <0x58>; pinctrl-0 = <0x17>; pinctrl-names = "default"; reg = <0x4021000 0x1000>; reset-names = "ahb"; resets = <0x02 0x0f>; status = "okay"; vmmc-supply = <0x16>; wifi@1 { compatible = "brcm,bcm4329-fmac"; phandle = <0x59>; reg = <0x01>; }; }; mmc@4022000 { #address-cells = <0x01>; #size-cells = <0x00>; bus-width = <0x08>; cap-mmc-highspeed; cap-mmc-hw-reset; cap-sd-highspeed; cap-sdio-irq; clock-names = "ahb\0mmc"; clocks = <0x02 0x41 0x02 0x3e>; compatible = "allwinner,sun50i-h616-emmc\0allwinner,sun50i-a100-emmc"; disable-wp; interrupts = <0x00 0x25 0x04>; max-frequency = <0x8f0d180>; mmc-ddr-3_3v; mmc-hs200-1_8v; non-removable; phandle = <0x5a>; pinctrl-0 = <0x19>; pinctrl-names = "default"; reg = <0x4022000 0x1000>; reset-names = "ahb"; resets = <0x02 0x10>; status = "okay"; vmmc-supply = <0x16>; vqmmc-supply = <0x1a>; }; phy@5100400 { #phy-cells = <0x01>; clock-names = "usb0_phy\0usb1_phy\0usb2_phy\0usb3_phy\0pmu2_clk"; clocks = <0x02 0x61 0x02 0x63 0x02 0x65 0x02 0x67 0x02 0x6e>; compatible = "allwinner,sun50i-h616-usb-phy"; phandle = <0x2e>; reg = <0x5100400 0x24 0x5101800 0x14 0x5200800 0x14 0x5310800 0x14 0x5311800 0x14>; reg-names = "phy_ctrl\0pmu0\0pmu1\0pmu2\0pmu3"; reset-names = "usb0_reset\0usb1_reset\0usb2_reset\0usb3_reset"; resets = <0x02 0x26 0x02 0x27 0x02 0x28 0x02 0x29>; status = "okay"; }; pinctrl@300b000 { #gpio-cells = <0x03>; #interrupt-cells = <0x03>; clock-names = "apb\0hosc\0losc"; clocks = <0x02 0x1a 0x11 0x0b 0x00>; compatible = "allwinner,sun50i-h616-pinctrl"; gpio-controller; interrupt-controller; interrupts = <0x00 0x33 0x04 0x00 0x34 0x04 0x00 0x35 0x04 0x00 0x2b 0x04 0x00 0x36 0x04 0x00 0x37 0x04 0x00 0x38 0x04 0x00 0x39 0x04>; phandle = <0x15>; reg = <0x300b000 0x400>; vcc-pc-supply = <0x12>; vcc-pf-supply = <0x13>; vcc-pg-supply = <0x13>; vcc-ph-supply = <0x13>; vcc-pi-supply = <0x13>; i2c0-pins { function = "i2c0"; phandle = <0x20>; pins = "PI5\0PI6"; }; i2c2-ph-pins { function = "i2c2"; phandle = <0x4b>; pins = "PH2\0PH3"; }; i2c3-pg-pins { function = "i2c3"; phandle = <0x21>; pins = "PG17\0PG18"; }; i2c3-ph-pins { function = "i2c3"; phandle = <0x4c>; pins = "PH4\0PH5"; }; i2c4-pg-pins { function = "i2c4"; phandle = <0x22>; pins = "PG15\0PG16"; }; i2c4-ph-pins { function = "i2c4"; phandle = <0x4d>; pins = "PH6\0PH7"; }; ir-rx-pin { function = "ir_rx"; phandle = <0x3a>; pins = "PH10"; }; mmc0-pins { bias-pull-up; drive-strength = <0x1e>; function = "mmc0"; phandle = <0x14>; pins = "PF0\0PF1\0PF2\0PF3\0PF4\0PF5"; }; mmc1-pins { bias-pull-up; drive-strength = <0x1e>; function = "mmc1"; phandle = <0x17>; pins = "PG0\0PG1\0PG2\0PG3\0PG4\0PG5"; }; mmc2-pins { bias-pull-up; drive-strength = <0x1e>; function = "mmc2"; phandle = <0x19>; pins = "PC0\0PC1\0PC5\0PC6\0PC8\0PC9\0PC10\0PC11\0PC13\0PC14\0PC15\0PC16"; }; rgmii-pins { drive-strength = <0x28>; function = "emac0"; phandle = <0x29>; pins = "PI0\0PI1\0PI2\0PI3\0PI4\0PI5\0PI7\0PI8\0PI9\0PI10\0PI11\0PI12\0PI13\0PI14\0PI15\0PI16"; }; rmii-pins { drive-strength = <0x28>; function = "emac1"; phandle = <0x4e>; pins = "PA0\0PA1\0PA2\0PA3\0PA4\0PA5\0PA6\0PA7\0PA8\0PA9"; }; spdif-tx-pin { function = "spdif"; phandle = <0x27>; pins = "PH4"; }; spi0-cs0-pin { function = "spi0"; phandle = <0x4f>; pins = "PC3"; }; spi0-pins { function = "spi0"; phandle = <0x23>; pins = "PC0\0PC2\0PC4"; }; spi1-cs0-pin { function = "spi1"; phandle = <0x50>; pins = "PH5"; }; spi1-cs1-pin { function = "spi1"; phandle = <0x25>; pins = "PH9"; }; spi1-pins { function = "spi1"; phandle = <0x24>; pins = "PH6\0PH7\0PH8"; }; uart0-ph-pins { function = "uart0"; phandle = <0x1c>; pins = "PH0\0PH1"; }; uart1-pins { function = "uart1"; phandle = <0x1d>; pins = "PG6\0PG7"; }; uart1-rts-cts-pins { function = "uart1"; phandle = <0x1e>; pins = "PG8\0PG9"; }; uart2-pi-pins { function = "uart2"; phandle = <0x53>; pins = "PI5\0PI6"; }; uart2-pins { function = "uart2"; phandle = <0x51>; pins = "PH5\0PH6"; }; uart2-rts-cts-pins { function = "uart2"; phandle = <0x52>; pins = "PH7\0PH8"; }; uart3-pi-pins { function = "uart3"; phandle = <0x54>; pins = "PI9\0PI10"; }; uart4-pi-pins { function = "uart4"; phandle = <0x55>; pins = "PI13\0PI14"; }; uart5-pins { function = "uart5"; phandle = <0x1f>; pins = "PH2\0PH3"; }; x32clk-fanout-pin { function = "clock"; phandle = <0x40>; pins = "PG10"; }; }; pinctrl@7022000 { #gpio-cells = <0x03>; #interrupt-cells = <0x03>; clock-names = "apb\0hosc\0losc"; clocks = <0x39 0x02 0x11 0x0b 0x00>; compatible = "allwinner,sun50i-h616-r-pinctrl"; gpio-controller; interrupt-controller; interrupts = <0x00 0x8f 0x04>; phandle = <0x86>; reg = <0x7022000 0x400>; r-i2c-pins { function = "s_i2c"; phandle = <0x87>; pins = "PL0\0PL1"; }; r-rsb-pins { function = "s_rsb"; phandle = <0x3c>; pins = "PL0\0PL1"; }; }; rsb@7083000 { #address-cells = <0x01>; #size-cells = <0x00>; clock-frequency = <0x2dc6c0>; clocks = <0x39 0x0d>; compatible = "allwinner,sun50i-h616-rsb\0allwinner,sun8i-a23-rsb"; interrupts = <0x00 0x6d 0x04>; phandle = <0x8c>; pinctrl-0 = <0x3c>; pinctrl-names = "default"; reg = <0x7083000 0x400>; resets = <0x39 0x07>; status = "disabled"; }; rtc@7000000 { #clock-cells = <0x01>; clock-names = "bus\0hosc\0pll-32k"; clocks = <0x39 0x0e 0x11 0x02 0x80>; compatible = "allwinner,sun50i-h616-rtc"; interrupts = <0x00 0x68 0x04>; phandle = <0x0b>; reg = <0x7000000 0x400>; }; serial@5000000 { clocks = <0x02 0x42>; compatible = "snps,dw-apb-uart"; dma-names = "tx\0rx"; dmas = <0x1b 0x0e 0x1b 0x0e>; interrupts = <0x00 0x00 0x04>; phandle = <0x5b>; pinctrl-0 = <0x1c>; pinctrl-names = "default"; reg = <0x5000000 0x400>; reg-io-width = <0x04>; reg-shift = <0x02>; resets = <0x02 0x11>; status = "okay"; }; serial@5000400 { clocks = <0x02 0x43>; compatible = "snps,dw-apb-uart"; dma-names = "tx\0rx"; dmas = <0x1b 0x0f 0x1b 0x0f>; interrupts = <0x00 0x01 0x04>; phandle = <0x5c>; pinctrl-0 = <0x1d 0x1e>; pinctrl-names = "default"; reg = <0x5000400 0x400>; reg-io-width = <0x04>; reg-shift = <0x02>; resets = <0x02 0x12>; status = "okay"; uart-has-rtscts; bluetooth { compatible = "brcm,bcm43540-bt"; device-wakeup-gpios = <0x15 0x06 0x11 0x00>; host-wakeup-gpios = <0x15 0x06 0x10 0x00>; max-speed = <0x16e360>; shutdown-gpios = <0x15 0x06 0x13 0x00>; vbat-supply = <0x16>; vddio-supply = <0x16>; }; }; serial@5000800 { clocks = <0x02 0x44>; compatible = "snps,dw-apb-uart"; dma-names = "tx\0rx"; dmas = <0x1b 0x10 0x1b 0x10>; interrupts = <0x00 0x02 0x04>; phandle = <0x5d>; reg = <0x5000800 0x400>; reg-io-width = <0x04>; reg-shift = <0x02>; resets = <0x02 0x13>; status = "disabled"; }; serial@5000c00 { clocks = <0x02 0x45>; compatible = "snps,dw-apb-uart"; dma-names = "tx\0rx"; dmas = <0x1b 0x11 0x1b 0x11>; interrupts = <0x00 0x03 0x04>; phandle = <0x5e>; reg = <0x5000c00 0x400>; reg-io-width = <0x04>; reg-shift = <0x02>; resets = <0x02 0x14>; status = "disabled"; }; serial@5001000 { clocks = <0x02 0x46>; compatible = "snps,dw-apb-uart"; dma-names = "tx\0rx"; dmas = <0x1b 0x12 0x1b 0x12>; interrupts = <0x00 0x04 0x04>; phandle = <0x5f>; reg = <0x5001000 0x400>; reg-io-width = <0x04>; reg-shift = <0x02>; resets = <0x02 0x15>; status = "disabled"; }; serial@5001400 { clocks = <0x02 0x47>; compatible = "snps,dw-apb-uart"; dma-names = "tx\0rx"; dmas = <0x1b 0x13 0x1b 0x13>; interrupts = <0x00 0x05 0x04>; phandle = <0x60>; pinctrl-0 = <0x1f>; pinctrl-names = "default"; reg = <0x5001400 0x400>; reg-io-width = <0x04>; reg-shift = <0x02>; resets = <0x02 0x16>; status = "okay"; }; spdif@5093000 { #sound-dai-cells = <0x00>; clock-names = "apb\0spdif"; clocks = <0x02 0x58 0x02 0x57>; compatible = "allwinner,sun50i-h616-spdif"; dma-names = "tx"; dmas = <0x1b 0x02>; interrupts = <0x00 0x15 0x04>; phandle = <0x6a>; pinctrl-0 = <0x27>; pinctrl-names = "default"; reg = <0x5093000 0x400>; resets = <0x02 0x22>; status = "disabled"; }; spi@5010000 { #address-cells = <0x01>; #size-cells = <0x00>; clock-names = "ahb\0mod"; clocks = <0x02 0x4f 0x02 0x4d>; compatible = "allwinner,sun50i-h616-spi\0allwinner,sun8i-h3-spi"; dma-names = "rx\0tx"; dmas = <0x1b 0x16 0x1b 0x16>; interrupts = <0x00 0x0c 0x04>; phandle = <0x66>; pinctrl-0 = <0x23>; pinctrl-names = "default"; reg = <0x5010000 0x1000>; resets = <0x02 0x1c>; status = "disabled"; }; spi@5011000 { #address-cells = <0x01>; #size-cells = <0x00>; clock-names = "ahb\0mod"; clocks = <0x02 0x50 0x02 0x4e>; compatible = "allwinner,sun50i-h616-spi\0allwinner,sun8i-h3-spi"; dma-names = "rx\0tx"; dmas = <0x1b 0x17 0x1b 0x17>; interrupts = <0x00 0x0d 0x04>; phandle = <0x67>; pinctrl-0 = <0x24 0x25>; pinctrl-names = "default"; reg = <0x5011000 0x1000>; resets = <0x02 0x1d>; status = "disabled"; spidev@1 { compatible = "rohm,dh2228fv"; reg = <0x01>; spi-max-frequency = <0xf4240>; }; }; sunxi-info { compatible = "allwinner,sun50i-h616-sys-info"; status = "okay"; }; syscon@3000000 { #address-cells = <0x01>; #size-cells = <0x01>; compatible = "allwinner,sun50i-h616-system-control"; phandle = <0x26>; ranges; reg = <0x3000000 0x30 0x3000038 0xfc8>; sram@100000 { #address-cells = <0x01>; #size-cells = <0x01>; compatible = "mmio-sram"; phandle = <0x45>; ranges = <0x00 0x100000 0x18000>; reg = <0x100000 0x18000>; scpi-sram@17c00 { compatible = "arm,scp-shmem"; phandle = <0x46>; reg = <0x17c00 0x200>; }; }; sram@1a00000 { #address-cells = <0x01>; #size-cells = <0x01>; compatible = "mmio-sram"; phandle = <0x48>; ranges = <0x00 0x1a00000 0x200000>; reg = <0x1a00000 0x200000>; sram-section@0 { compatible = "allwinner,sun50i-h616-sram-c1"; phandle = <0x10>; reg = <0x00 0x200000>; }; }; sram@28000 { #address-cells = <0x01>; #size-cells = <0x01>; compatible = "mmio-sram"; phandle = <0x47>; ranges = <0x00 0x28000 0x30000>; reg = <0x28000 0x30000>; sram-section@0 { compatible = "allwinner,sun50i-h616-sram-c\0allwinner,sun50i-a64-sram-c"; phandle = <0x0c>; reg = <0x00 0x1e000>; }; }; }; tcon-top@6510000 { #clock-cells = <0x01>; clock-names = "bus\0tcon-tv0"; clock-output-names = "tcon-top-tv0"; clocks = <0x02 0x76 0x02 0x77>; compatible = "allwinner,sun50i-h6-tcon-top"; phandle = <0x36>; reg = <0x6510000 0x1000>; resets = <0x02 0x35>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@0 { #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x7e>; reg = <0x00>; endpoint@0 { phandle = <0x0e>; reg = <0x00>; remote-endpoint = <0x32>; }; }; port@1 { #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x7f>; reg = <0x01>; endpoint@2 { phandle = <0x37>; reg = <0x02>; remote-endpoint = <0x33>; }; }; port@4 { #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x80>; reg = <0x04>; endpoint@0 { phandle = <0x38>; reg = <0x00>; remote-endpoint = <0x34>; }; }; port@5 { phandle = <0x81>; reg = <0x05>; endpoint { phandle = <0x30>; remote-endpoint = <0x35>; }; }; }; }; thermal-sensor@5070400 { #thermal-sensor-cells = <0x01>; allwinner,sram = <0x26>; clock-names = "bus"; clocks = <0x02 0x56>; compatible = "allwinner,sun50i-h616-ths"; interrupts = <0x00 0x13 0x04>; nvmem-cell-names = "calibration"; nvmem-cells = <0x28>; phandle = <0x3d>; reg = <0x5070400 0x400>; resets = <0x02 0x21>; }; usb@5100000 { clocks = <0x02 0x70>; compatible = "allwinner,sun50i-h616-musb\0allwinner,sun8i-h3-musb"; dr_mode = "peripheral"; extcon = <0x2e 0x00>; interrupt-names = "mc"; interrupts = <0x00 0x19 0x04>; phandle = <0x73>; phy-names = "usb"; phys = <0x2e 0x00>; reg = <0x5100000 0x400>; resets = <0x02 0x32>; status = "okay"; }; usb@5101000 { clocks = <0x02 0x68 0x02 0x6c 0x02 0x60>; compatible = "allwinner,sun50i-h616-ehci\0generic-ehci"; interrupts = <0x00 0x1a 0x04>; phandle = <0x74>; phy-names = "usb"; phys = <0x2e 0x00>; reg = <0x5101000 0x100>; resets = <0x02 0x2a 0x02 0x2e>; status = "disabled"; }; usb@5101400 { clocks = <0x02 0x68 0x02 0x60>; compatible = "allwinner,sun50i-h616-ohci\0generic-ohci"; interrupts = <0x00 0x1b 0x04>; phandle = <0x75>; phy-names = "usb"; phys = <0x2e 0x00>; reg = <0x5101400 0x100>; resets = <0x02 0x2a>; status = "disabled"; }; usb@5200000 { clocks = <0x02 0x69 0x02 0x6d 0x02 0x62>; compatible = "allwinner,sun50i-h616-ehci\0generic-ehci"; interrupts = <0x00 0x1c 0x04>; phandle = <0x76>; phy-names = "usb"; phys = <0x2e 0x01>; reg = <0x5200000 0x100>; resets = <0x02 0x2b 0x02 0x2f>; status = "okay"; }; usb@5200400 { clocks = <0x02 0x69 0x02 0x62>; compatible = "allwinner,sun50i-h616-ohci\0generic-ohci"; interrupts = <0x00 0x1d 0x04>; phandle = <0x77>; phy-names = "usb"; phys = <0x2e 0x01>; reg = <0x5200400 0x100>; resets = <0x02 0x2b>; status = "okay"; }; usb@5310000 { clocks = <0x02 0x6a 0x02 0x6e 0x02 0x64>; compatible = "allwinner,sun50i-h616-ehci\0generic-ehci"; interrupts = <0x00 0x1e 0x04>; phandle = <0x78>; phy-names = "usb"; phys = <0x2e 0x02>; reg = <0x5310000 0x100>; resets = <0x02 0x2c 0x02 0x30>; status = "okay"; }; usb@5310400 { clocks = <0x02 0x6a 0x02 0x64>; compatible = "allwinner,sun50i-h616-ohci\0generic-ohci"; interrupts = <0x00 0x1f 0x04>; phandle = <0x79>; phy-names = "usb"; phys = <0x2e 0x02>; reg = <0x5310400 0x100>; resets = <0x02 0x2c>; status = "okay"; }; usb@5311000 { clocks = <0x02 0x6b 0x02 0x6f 0x02 0x66>; compatible = "allwinner,sun50i-h616-ehci\0generic-ehci"; interrupts = <0x00 0x20 0x04>; phandle = <0x7a>; phy-names = "usb"; phys = <0x2e 0x03>; reg = <0x5311000 0x100>; resets = <0x02 0x2d 0x02 0x31>; status = "okay"; }; usb@5311400 { clocks = <0x02 0x6b 0x02 0x66>; compatible = "allwinner,sun50i-h616-ohci\0generic-ohci"; interrupts = <0x00 0x21 0x04>; phandle = <0x7b>; phy-names = "usb"; phys = <0x2e 0x03>; reg = <0x5311400 0x100>; resets = <0x02 0x2d>; status = "okay"; }; video-codec@1c0e000 { allwinner,sram = <0x10 0x01>; clock-names = "ahb\0mod\0ram"; clocks = <0x02 0x29 0x02 0x28 0x02 0x33>; compatible = "allwinner,sun50i-h616-video-engine"; interrupts = <0x00 0x5d 0x04>; reg = <0x1c0e000 0x2000>; resets = <0x02 0x05>; }; watchdog@30090a0 { clocks = <0x11>; compatible = "allwinner,sun50i-h616-wdt\0allwinner,sun6i-a31-wdt"; interrupts = <0x00 0x32 0x04>; phandle = <0x4a>; reg = <0x30090a0 0x20>; }; }; thermal-zones { cpu-thermal { polling-delay = <0x3e8>; polling-delay-passive = <0x1f4>; sustainable-power = <0x3e8>; thermal-sensors = <0x3d 0x02>; trips { cpu-trip-0 { hysteresis = <0x00>; phandle = <0x8f>; temperature = <0xea60>; type = "passive"; }; cpu-trip-1 { hysteresis = <0x00>; phandle = <0x90>; temperature = <0x11170>; type = "passive"; }; cpu-trip-2 { hysteresis = <0x00>; phandle = <0x91>; temperature = <0x1adb0>; type = "critical"; }; }; }; ddr-thermal { polling-delay = <0x00>; polling-delay-passive = <0x00>; thermal-sensors = <0x3d 0x03>; trips { ddr-trip-0 { hysteresis = <0x00>; phandle = <0x94>; temperature = <0x1adb0>; type = "critical"; }; }; }; gpu-thermal { polling-delay = <0x3e8>; polling-delay-passive = <0x1f4>; sustainable-power = <0x44c>; thermal-sensors = <0x3d 0x00>; trips { gpu-trip-0 { hysteresis = <0x00>; phandle = <0x92>; temperature = <0x1adb0>; type = "critical"; }; }; }; ve-thermal { polling-delay = <0x00>; polling-delay-passive = <0x00>; thermal-sensors = <0x3d 0x01>; trips { ve-trip-0 { hysteresis = <0x00>; phandle = <0x93>; temperature = <0x1adb0>; type = "critical"; }; }; }; }; timer { arm,no-tick-in-suspend; compatible = "arm,armv8-timer"; interrupts = <0x01 0x0d 0xf04 0x01 0x0e 0xf04 0x01 0x0b 0xf04 0x01 0x0a 0xf04>; }; wifi-pwrseq { clock-names = "ext_clock"; clocks = <0x0b 0x01>; compatible = "mmc-pwrseq-simple"; phandle = <0x18>; pinctrl-0 = <0x40>; pinctrl-names = "default"; post-power-on-delay-ms = <0xc8>; reset-gpios = <0x15 0x06 0x12 0x01>; }; };