/dts-v1/; / { interrupt-parent = <0x01>; #address-cells = <0x01>; #size-cells = <0x01>; model = "Pine H64 model B"; compatible = "pine64,pine-h64-model-b\0allwinner,sun50i-h6"; cpus { #address-cells = <0x01>; #size-cells = <0x00>; cpu@0 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x00>; enable-method = "psci"; clocks = <0x02 0x15>; clock-latency-ns = <0x3b9b0>; #cooling-cells = <0x02>; operating-points-v2 = <0x03>; cpu-supply = <0x04>; phandle = <0x06>; }; cpu@1 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x01>; enable-method = "psci"; clocks = <0x02 0x15>; clock-latency-ns = <0x3b9b0>; #cooling-cells = <0x02>; operating-points-v2 = <0x03>; phandle = <0x07>; }; cpu@2 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x02>; enable-method = "psci"; clocks = <0x02 0x15>; clock-latency-ns = <0x3b9b0>; #cooling-cells = <0x02>; operating-points-v2 = <0x03>; phandle = <0x08>; }; cpu@3 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x03>; enable-method = "psci"; clocks = <0x02 0x15>; clock-latency-ns = <0x3b9b0>; #cooling-cells = <0x02>; operating-points-v2 = <0x03>; phandle = <0x09>; }; }; display-engine { compatible = "allwinner,sun50i-h6-display-engine"; allwinner,pipelines = <0x05>; status = "okay"; phandle = <0x3e>; }; osc24M_clk { #clock-cells = <0x00>; compatible = "fixed-clock"; clock-frequency = <0x16e3600>; clock-output-names = "osc24M"; phandle = <0x10>; }; pmu { compatible = "arm,cortex-a53-pmu"; interrupts = <0x00 0x8c 0x04 0x00 0x8d 0x04 0x00 0x8e 0x04 0x00 0x8f 0x04>; interrupt-affinity = <0x06 0x07 0x08 0x09>; }; psci { compatible = "arm,psci-0.2"; method = "smc"; }; timer { compatible = "arm,armv8-timer"; arm,no-tick-in-suspend; interrupts = <0x01 0x0d 0xf04 0x01 0x0e 0xf04 0x01 0x0b 0xf04 0x01 0x0a 0xf04>; }; soc { compatible = "simple-bus"; #address-cells = <0x01>; #size-cells = <0x01>; ranges; bus@1000000 { compatible = "allwinner,sun50i-h6-de3\0allwinner,sun50i-a64-de2"; reg = <0x1000000 0x400000>; allwinner,sram = <0x0a 0x01>; #address-cells = <0x01>; #size-cells = <0x01>; ranges = <0x00 0x1000000 0x400000>; clock@0 { compatible = "allwinner,sun50i-h6-de3-clk"; reg = <0x00 0x10000>; clocks = <0x02 0x1d 0x02 0x1e>; clock-names = "mod\0bus"; resets = <0x02 0x01>; #clock-cells = <0x01>; #reset-cells = <0x01>; phandle = <0x0b>; }; mixer@100000 { compatible = "allwinner,sun50i-h6-de3-mixer-0"; reg = <0x100000 0x100000>; clocks = <0x0b 0x00 0x0b 0x06>; clock-names = "bus\0mod"; resets = <0x0b 0x00>; iommus = <0x0c 0x00>; phandle = <0x05>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@1 { reg = <0x01>; phandle = <0x3f>; endpoint { remote-endpoint = <0x0d>; phandle = <0x2c>; }; }; }; }; }; video-codec@1c0e000 { compatible = "allwinner,sun50i-h6-video-engine"; reg = <0x1c0e000 0x2000>; clocks = <0x02 0x26 0x02 0x25 0x02 0x36>; clock-names = "ahb\0mod\0ram"; resets = <0x02 0x05>; interrupts = <0x00 0x59 0x04>; allwinner,sram = <0x0e 0x01>; iommus = <0x0c 0x03>; }; gpu@1800000 { compatible = "allwinner,sun50i-h6-mali\0arm,mali-t720"; reg = <0x1800000 0x4000>; interrupts = <0x00 0x54 0x04 0x00 0x55 0x04 0x00 0x53 0x04>; interrupt-names = "job\0mmu\0gpu"; clocks = <0x02 0x21 0x02 0x22>; clock-names = "core\0bus"; resets = <0x02 0x03>; status = "okay"; mali-supply = <0x0f>; phandle = <0x40>; }; crypto@1904000 { compatible = "allwinner,sun50i-h6-crypto"; reg = <0x1904000 0x1000>; interrupts = <0x00 0x57 0x04>; clocks = <0x02 0x24 0x02 0x23 0x02 0x37>; clock-names = "bus\0mod\0ram"; resets = <0x02 0x04>; phandle = <0x41>; }; syscon@3000000 { compatible = "allwinner,sun50i-h6-system-control\0allwinner,sun50i-a64-system-control"; reg = <0x3000000 0x1000>; #address-cells = <0x01>; #size-cells = <0x01>; ranges; phandle = <0x20>; sram@28000 { compatible = "mmio-sram"; reg = <0x28000 0x1e000>; #address-cells = <0x01>; #size-cells = <0x01>; ranges = <0x00 0x28000 0x1e000>; phandle = <0x42>; sram-section@0 { compatible = "allwinner,sun50i-h6-sram-c\0allwinner,sun50i-a64-sram-c"; reg = <0x00 0x1e000>; phandle = <0x0a>; }; }; sram@1a00000 { compatible = "mmio-sram"; reg = <0x1a00000 0x200000>; #address-cells = <0x01>; #size-cells = <0x01>; ranges = <0x00 0x1a00000 0x200000>; phandle = <0x43>; sram-section@0 { compatible = "allwinner,sun50i-h6-sram-c1\0allwinner,sun4i-a10-sram-c1"; reg = <0x00 0x200000>; phandle = <0x0e>; }; }; }; clock@3001000 { compatible = "allwinner,sun50i-h6-ccu"; reg = <0x3001000 0x1000>; clocks = <0x10 0x11 0x00 0x11 0x02>; clock-names = "hosc\0losc\0iosc"; #clock-cells = <0x01>; #reset-cells = <0x01>; phandle = <0x02>; }; dma-controller@3002000 { compatible = "allwinner,sun50i-h6-dma"; reg = <0x3002000 0x1000>; interrupts = <0x00 0x2b 0x04>; clocks = <0x02 0x2b 0x02 0x35>; clock-names = "bus\0mbus"; dma-channels = <0x10>; dma-requests = <0x2e>; resets = <0x02 0x08>; #dma-cells = <0x01>; phandle = <0x1d>; }; mailbox@3003000 { compatible = "allwinner,sun50i-h6-msgbox\0allwinner,sun6i-a31-msgbox"; reg = <0x3003000 0x1000>; clocks = <0x02 0x2c>; resets = <0x02 0x09>; interrupts = <0x00 0x2c 0x04>; #mbox-cells = <0x01>; phandle = <0x44>; }; efuse@3006000 { compatible = "allwinner,sun50i-h6-sid"; reg = <0x3006000 0x400>; #address-cells = <0x01>; #size-cells = <0x01>; phandle = <0x45>; thermal-sensor-calibration@14 { reg = <0x14 0x08>; phandle = <0x38>; }; cpu-speed-grade@1c { reg = <0x1c 0x04>; phandle = <0x3b>; }; }; watchdog@30090a0 { compatible = "allwinner,sun50i-h6-wdt\0allwinner,sun6i-a31-wdt"; reg = <0x30090a0 0x20>; interrupts = <0x00 0x32 0x04>; clocks = <0x10>; status = "disabled"; phandle = <0x46>; }; pwm@300a000 { compatible = "allwinner,sun50i-h6-pwm"; reg = <0x300a000 0x400>; clocks = <0x10 0x02 0x32>; clock-names = "mod\0bus"; resets = <0x02 0x0e>; #pwm-cells = <0x03>; status = "disabled"; phandle = <0x47>; }; pinctrl@300b000 { compatible = "allwinner,sun50i-h6-pinctrl"; reg = <0x300b000 0x400>; interrupts = <0x00 0x33 0x04 0x00 0x35 0x04 0x00 0x36 0x04 0x00 0x3b 0x04>; clocks = <0x02 0x1a 0x10 0x11 0x00>; clock-names = "apb\0hosc\0losc"; gpio-controller; #gpio-cells = <0x03>; interrupt-controller; #interrupt-cells = <0x03>; vcc-pc-supply = <0x12>; vcc-pd-supply = <0x13>; vcc-pg-supply = <0x14>; phandle = <0x16>; rgmii-pins { pins = "PD0\0PD1\0PD2\0PD3\0PD4\0PD5\0PD7\0PD8\0PD9\0PD10\0PD11\0PD12\0PD13\0PD19\0PD20"; function = "emac"; drive-strength = <0x28>; phandle = <0x21>; }; hdmi-pins { pins = "PH8\0PH9\0PH10"; function = "hdmi"; phandle = <0x29>; }; i2c0-pins { pins = "PD25\0PD26"; function = "i2c0"; phandle = <0x1a>; }; i2c1-pins { pins = "PH5\0PH6"; function = "i2c1"; phandle = <0x1b>; }; i2c2-pins { pins = "PD23\0PD24"; function = "i2c2"; phandle = <0x1c>; }; mmc0-pins { pins = "PF0\0PF1\0PF2\0PF3\0PF4\0PF5"; function = "mmc0"; drive-strength = <0x1e>; bias-pull-up; phandle = <0x15>; }; mmc1-pins { pins = "PG0\0PG1\0PG2\0PG3\0PG4\0PG5"; function = "mmc1"; drive-strength = <0x1e>; bias-pull-up; phandle = <0x17>; }; mmc2-pins { pins = "PC1\0PC4\0PC5\0PC6\0PC7\0PC8\0PC9\0PC10\0PC11\0PC12\0PC13\0PC14"; function = "mmc2"; drive-strength = <0x1e>; bias-pull-up; phandle = <0x18>; }; spi0-pins { pins = "PC0\0PC2\0PC3"; function = "spi0"; phandle = <0x1e>; }; spi0-cs-pin { pins = "PC5"; function = "spi0"; phandle = <0x1f>; }; spi1-pins { pins = "PH4\0PH5\0PH6"; function = "spi1"; phandle = <0x48>; }; spi1-cs-pin { pins = "PH3"; function = "spi1"; phandle = <0x49>; }; spdif-tx-pin { pins = "PH7"; function = "spdif"; phandle = <0x24>; }; uart0-ph-pins { pins = "PH0\0PH1"; function = "uart0"; phandle = <0x19>; }; uart1-pins { pins = "PG6\0PG7"; function = "uart1"; phandle = <0x4a>; }; uart1-rts-cts-pins { pins = "PG8\0PG9"; function = "uart1"; phandle = <0x4b>; }; }; interrupt-controller@3021000 { compatible = "arm,gic-400"; reg = <0x3021000 0x1000 0x3022000 0x2000 0x3024000 0x2000 0x3026000 0x2000>; interrupts = <0x01 0x09 0xf04>; interrupt-controller; #interrupt-cells = <0x03>; phandle = <0x01>; }; iommu@30f0000 { compatible = "allwinner,sun50i-h6-iommu"; reg = <0x30f0000 0x10000>; interrupts = <0x00 0x39 0x04>; clocks = <0x02 0x33>; resets = <0x02 0x0f>; #iommu-cells = <0x01>; phandle = <0x0c>; }; mmc@4020000 { compatible = "allwinner,sun50i-h6-mmc\0allwinner,sun50i-a64-mmc"; reg = <0x4020000 0x1000>; clocks = <0x02 0x43 0x02 0x40>; clock-names = "ahb\0mmc"; resets = <0x02 0x12>; reset-names = "ahb"; interrupts = <0x00 0x23 0x04>; pinctrl-names = "default"; pinctrl-0 = <0x15>; max-frequency = <0x8f0d180>; status = "okay"; #address-cells = <0x01>; #size-cells = <0x00>; vmmc-supply = <0x13>; cd-gpios = <0x16 0x05 0x06 0x01>; bus-width = <0x04>; phandle = <0x4c>; }; mmc@4021000 { compatible = "allwinner,sun50i-h6-mmc\0allwinner,sun50i-a64-mmc"; reg = <0x4021000 0x1000>; clocks = <0x02 0x44 0x02 0x41>; clock-names = "ahb\0mmc"; resets = <0x02 0x13>; reset-names = "ahb"; interrupts = <0x00 0x24 0x04>; pinctrl-names = "default"; pinctrl-0 = <0x17>; max-frequency = <0x8f0d180>; status = "disabled"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x4d>; }; mmc@4022000 { compatible = "allwinner,sun50i-h6-emmc\0allwinner,sun50i-a64-emmc"; reg = <0x4022000 0x1000>; clocks = <0x02 0x45 0x02 0x42>; clock-names = "ahb\0mmc"; resets = <0x02 0x14>; reset-names = "ahb"; interrupts = <0x00 0x25 0x04>; pinctrl-names = "default"; pinctrl-0 = <0x18>; max-frequency = <0x8f0d180>; status = "okay"; #address-cells = <0x01>; #size-cells = <0x00>; vmmc-supply = <0x13>; vqmmc-supply = <0x12>; non-removable; cap-mmc-hw-reset; bus-width = <0x08>; phandle = <0x4e>; }; serial@5000000 { compatible = "snps,dw-apb-uart"; reg = <0x5000000 0x400>; interrupts = <0x00 0x00 0x04>; reg-shift = <0x02>; reg-io-width = <0x04>; clocks = <0x02 0x46>; resets = <0x02 0x15>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <0x19>; phandle = <0x4f>; }; serial@5000400 { compatible = "snps,dw-apb-uart"; reg = <0x5000400 0x400>; interrupts = <0x00 0x01 0x04>; reg-shift = <0x02>; reg-io-width = <0x04>; clocks = <0x02 0x47>; resets = <0x02 0x16>; status = "disabled"; phandle = <0x50>; }; serial@5000800 { compatible = "snps,dw-apb-uart"; reg = <0x5000800 0x400>; interrupts = <0x00 0x02 0x04>; reg-shift = <0x02>; reg-io-width = <0x04>; clocks = <0x02 0x48>; resets = <0x02 0x17>; status = "disabled"; phandle = <0x51>; }; serial@5000c00 { compatible = "snps,dw-apb-uart"; reg = <0x5000c00 0x400>; interrupts = <0x00 0x03 0x04>; reg-shift = <0x02>; reg-io-width = <0x04>; clocks = <0x02 0x49>; resets = <0x02 0x18>; status = "disabled"; phandle = <0x52>; }; i2c@5002000 { compatible = "allwinner,sun50i-h6-i2c\0allwinner,sun6i-a31-i2c"; reg = <0x5002000 0x400>; interrupts = <0x00 0x04 0x04>; clocks = <0x02 0x4a>; resets = <0x02 0x19>; pinctrl-names = "default"; pinctrl-0 = <0x1a>; status = "disabled"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x53>; }; i2c@5002400 { compatible = "allwinner,sun50i-h6-i2c\0allwinner,sun6i-a31-i2c"; reg = <0x5002400 0x400>; interrupts = <0x00 0x05 0x04>; clocks = <0x02 0x4b>; resets = <0x02 0x1a>; pinctrl-names = "default"; pinctrl-0 = <0x1b>; status = "disabled"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x54>; }; i2c@5002800 { compatible = "allwinner,sun50i-h6-i2c\0allwinner,sun6i-a31-i2c"; reg = <0x5002800 0x400>; interrupts = <0x00 0x06 0x04>; clocks = <0x02 0x4c>; resets = <0x02 0x1b>; pinctrl-names = "default"; pinctrl-0 = <0x1c>; status = "disabled"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x55>; }; spi@5010000 { compatible = "allwinner,sun50i-h6-spi\0allwinner,sun8i-h3-spi"; reg = <0x5010000 0x1000>; interrupts = <0x00 0x0a 0x04>; clocks = <0x02 0x52 0x02 0x50>; clock-names = "ahb\0mod"; dmas = <0x1d 0x16 0x1d 0x16>; dma-names = "rx\0tx"; resets = <0x02 0x1f>; status = "disabled"; #address-cells = <0x01>; #size-cells = <0x00>; pinctrl-0 = <0x1e 0x1f>; pinctrl-names = "default"; phandle = <0x56>; flash@0 { compatible = "winbond,w25q128\0jedec,spi-nor"; reg = <0x00>; spi-max-frequency = "\0=\t"; }; }; spi@5011000 { compatible = "allwinner,sun50i-h6-spi\0allwinner,sun8i-h3-spi"; reg = <0x5011000 0x1000>; interrupts = <0x00 0x0b 0x04>; clocks = <0x02 0x53 0x02 0x51>; clock-names = "ahb\0mod"; dmas = <0x1d 0x17 0x1d 0x17>; dma-names = "rx\0tx"; resets = <0x02 0x20>; status = "disabled"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x57>; }; ethernet@5020000 { compatible = "allwinner,sun50i-h6-emac\0allwinner,sun50i-a64-emac"; syscon = <0x20>; reg = <0x5020000 0x10000>; interrupts = <0x00 0x0c 0x04>; interrupt-names = "macirq"; resets = <0x02 0x21>; reset-names = "stmmaceth"; clocks = <0x02 0x54>; clock-names = "stmmaceth"; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <0x21>; phy-mode = "rgmii-id"; phy-handle = <0x22>; phy-supply = <0x23>; allwinner,rx-delay-ps = <0xc8>; allwinner,tx-delay-ps = <0xc8>; phandle = <0x58>; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x59>; ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0x01>; phandle = <0x22>; }; }; }; spdif@5093000 { #sound-dai-cells = <0x00>; compatible = "allwinner,sun50i-h6-spdif"; reg = <0x5093000 0x400>; interrupts = <0x00 0x15 0x04>; clocks = <0x02 0x63 0x02 0x62>; clock-names = "apb\0spdif"; resets = <0x02 0x29>; dmas = <0x1d 0x02>; dma-names = "tx"; pinctrl-names = "default"; pinctrl-0 = <0x24>; status = "disabled"; phandle = <0x5a>; }; usb@5100000 { compatible = "allwinner,sun50i-h6-musb\0allwinner,sun8i-a33-musb"; reg = <0x5100000 0x400>; clocks = <0x02 0x74>; resets = <0x02 0x35>; interrupts = <0x00 0x17 0x04>; interrupt-names = "mc"; phys = <0x25 0x00>; phy-names = "usb"; extcon = <0x25 0x00>; status = "okay"; dr_mode = "host"; phandle = <0x5b>; }; phy@5100400 { compatible = "allwinner,sun50i-h6-usb-phy"; reg = <0x5100400 0x24 0x5101800 0x04 0x5311800 0x04>; reg-names = "phy_ctrl\0pmu0\0pmu3"; clocks = <0x02 0x69 0x02 0x6c>; clock-names = "usb0_phy\0usb3_phy"; resets = <0x02 0x2c 0x02 0x2e>; reset-names = "usb0_reset\0usb3_reset"; status = "okay"; #phy-cells = <0x01>; usb0_vbus-supply = <0x26>; usb3_vbus-supply = <0x26>; phandle = <0x25>; }; usb@5101000 { compatible = "allwinner,sun50i-h6-ehci\0generic-ehci"; reg = <0x5101000 0x100>; interrupts = <0x00 0x18 0x04>; clocks = <0x02 0x6f 0x02 0x71 0x02 0x68>; resets = <0x02 0x30 0x02 0x32>; phys = <0x25 0x00>; phy-names = "usb"; status = "okay"; phandle = <0x5c>; }; usb@5101400 { compatible = "allwinner,sun50i-h6-ohci\0generic-ohci"; reg = <0x5101400 0x100>; interrupts = <0x00 0x19 0x04>; clocks = <0x02 0x6f 0x02 0x68>; resets = <0x02 0x30>; phys = <0x25 0x00>; phy-names = "usb"; status = "okay"; phandle = <0x5d>; }; dwc3@5200000 { compatible = "snps,dwc3"; reg = <0x5200000 0x10000>; interrupts = <0x00 0x1a 0x04>; clocks = <0x02 0x72 0x02 0x72 0x11 0x00>; clock-names = "ref\0bus_early\0suspend"; resets = <0x02 0x33>; dr_mode = "host"; phys = <0x27>; phy-names = "usb3-phy"; status = "disabled"; phandle = <0x5e>; }; phy@5210000 { compatible = "allwinner,sun50i-h6-usb3-phy"; reg = <0x5210000 0x10000>; clocks = <0x02 0x6a>; resets = <0x02 0x2d>; #phy-cells = <0x00>; status = "disabled"; phandle = <0x27>; }; usb@5311000 { compatible = "allwinner,sun50i-h6-ehci\0generic-ehci"; reg = <0x5311000 0x100>; interrupts = <0x00 0x1c 0x04>; clocks = <0x02 0x70 0x02 0x73 0x02 0x6b>; resets = <0x02 0x31 0x02 0x34>; phys = <0x25 0x03>; phy-names = "usb"; status = "okay"; phandle = <0x5f>; }; usb@5311400 { compatible = "allwinner,sun50i-h6-ohci\0generic-ohci"; reg = <0x5311400 0x100>; interrupts = <0x00 0x1d 0x04>; clocks = <0x02 0x70 0x02 0x6b>; resets = <0x02 0x31>; phys = <0x25 0x03>; phy-names = "usb"; status = "okay"; phandle = <0x60>; }; hdmi@6000000 { compatible = "allwinner,sun50i-h6-dw-hdmi"; reg = <0x6000000 0x10000>; reg-io-width = <0x01>; interrupts = <0x00 0x40 0x04>; clocks = <0x02 0x7e 0x02 0x7c 0x02 0x7b 0x02 0x7d 0x02 0x88 0x02 0x89>; clock-names = "iahb\0isfr\0tmds\0cec\0hdcp\0hdcp-bus"; resets = <0x02 0x39 0x02 0x3e>; reset-names = "ctrl\0hdcp"; phys = <0x28>; phy-names = "phy"; pinctrl-names = "default"; pinctrl-0 = <0x29>; status = "okay"; phandle = <0x61>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@0 { reg = <0x00>; phandle = <0x62>; endpoint { remote-endpoint = <0x2a>; phandle = <0x2f>; }; }; port@1 { reg = <0x01>; phandle = <0x63>; endpoint { remote-endpoint = <0x2b>; phandle = <0x3c>; }; }; }; }; hdmi-phy@6010000 { compatible = "allwinner,sun50i-h6-hdmi-phy"; reg = <0x6010000 0x10000>; clocks = <0x02 0x7e 0x02 0x7c>; clock-names = "bus\0mod"; resets = <0x02 0x38>; reset-names = "phy"; #phy-cells = <0x00>; phandle = <0x28>; }; tcon-top@6510000 { compatible = "allwinner,sun50i-h6-tcon-top"; reg = <0x6510000 0x1000>; clocks = <0x02 0x7f 0x02 0x82>; clock-names = "bus\0tcon-tv0"; clock-output-names = "tcon-top-tv0"; resets = <0x02 0x3a>; #clock-cells = <0x01>; phandle = <0x30>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@0 { #address-cells = <0x01>; #size-cells = <0x00>; reg = <0x00>; phandle = <0x64>; endpoint@0 { reg = <0x00>; remote-endpoint = <0x2c>; phandle = <0x0d>; }; }; port@1 { #address-cells = <0x01>; #size-cells = <0x00>; reg = <0x01>; phandle = <0x65>; endpoint@2 { reg = <0x02>; remote-endpoint = <0x2d>; phandle = <0x31>; }; }; port@4 { #address-cells = <0x01>; #size-cells = <0x00>; reg = <0x04>; phandle = <0x66>; endpoint@0 { reg = <0x00>; remote-endpoint = <0x2e>; phandle = <0x32>; }; }; port@5 { reg = <0x05>; phandle = <0x67>; endpoint { remote-endpoint = <0x2f>; phandle = <0x2a>; }; }; }; }; lcd-controller@6515000 { compatible = "allwinner,sun50i-h6-tcon-tv\0allwinner,sun8i-r40-tcon-tv"; reg = <0x6515000 0x1000>; interrupts = <0x00 0x42 0x04>; clocks = <0x02 0x83 0x30 0x00>; clock-names = "ahb\0tcon-ch1"; resets = <0x02 0x3c>; reset-names = "lcd"; phandle = <0x68>; ports { #address-cells = <0x01>; #size-cells = <0x00>; port@0 { reg = <0x00>; phandle = <0x69>; endpoint { remote-endpoint = <0x31>; phandle = <0x2d>; }; }; port@1 { #address-cells = <0x01>; #size-cells = <0x00>; reg = <0x01>; phandle = <0x6a>; endpoint@1 { reg = <0x01>; remote-endpoint = <0x32>; phandle = <0x2e>; }; }; }; }; rtc@7000000 { compatible = "allwinner,sun50i-h6-rtc"; reg = <0x7000000 0x400>; interrupts = <0x00 0x65 0x04 0x00 0x66 0x04>; clock-output-names = "osc32k\0osc32k-out\0iosc"; #clock-cells = <0x01>; clocks = <0x33>; phandle = <0x11>; }; clock@7010000 { compatible = "allwinner,sun50i-h6-r-ccu"; reg = <0x7010000 0x400>; clocks = <0x10 0x11 0x00 0x11 0x02 0x02 0x03>; clock-names = "hosc\0losc\0iosc\0pll-periph"; #clock-cells = <0x01>; #reset-cells = <0x01>; phandle = <0x34>; }; watchdog@7020400 { compatible = "allwinner,sun50i-h6-wdt\0allwinner,sun6i-a31-wdt"; reg = <0x7020400 0x20>; interrupts = <0x00 0x67 0x04>; clocks = <0x10>; phandle = <0x6b>; }; interrupt-controller@7021000 { compatible = "allwinner,sun50i-h6-r-intc\0allwinner,sun6i-a31-r-intc"; interrupt-controller; #interrupt-cells = <0x02>; reg = <0x7021000 0x400>; interrupts = <0x00 0x60 0x04>; phandle = <0x37>; }; pinctrl@7022000 { compatible = "allwinner,sun50i-h6-r-pinctrl"; reg = <0x7022000 0x400>; interrupts = <0x00 0x69 0x04 0x00 0x6f 0x04>; clocks = <0x34 0x02 0x10 0x11 0x00>; clock-names = "apb\0hosc\0losc"; gpio-controller; #gpio-cells = <0x03>; interrupt-controller; #interrupt-cells = <0x03>; vcc-pm-supply = <0x14>; phandle = <0x3d>; r-i2c-pins { pins = "PL0\0PL1"; function = "s_i2c"; phandle = <0x36>; }; r-ir-rx-pin { pins = "PL9"; function = "s_cir_rx"; phandle = <0x35>; }; }; ir@7040000 { compatible = "allwinner,sun50i-h6-ir\0allwinner,sun6i-a31-ir"; reg = <0x7040000 0x400>; interrupts = <0x00 0x6d 0x04>; clocks = <0x34 0x09 0x34 0x0b>; clock-names = "apb\0ir"; resets = <0x34 0x05>; pinctrl-names = "default"; pinctrl-0 = <0x35>; status = "okay"; phandle = <0x6c>; }; i2c@7081400 { compatible = "allwinner,sun50i-h6-i2c\0allwinner,sun6i-a31-i2c"; reg = <0x7081400 0x400>; interrupts = <0x00 0x6b 0x04>; clocks = <0x34 0x08>; resets = <0x34 0x04>; pinctrl-names = "default"; pinctrl-0 = <0x36>; status = "okay"; #address-cells = <0x01>; #size-cells = <0x00>; phandle = <0x6d>; pmic@36 { compatible = "x-powers,axp805\0x-powers,axp806"; reg = <0x36>; interrupt-parent = <0x37>; interrupts = <0x00 0x08>; interrupt-controller; #interrupt-cells = <0x01>; x-powers,self-working-mode; phandle = <0x6e>; regulators { aldo1 { regulator-always-on; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-name = "vcc-pl"; phandle = <0x14>; }; aldo2 { regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-name = "vcc-ac200"; regulator-enable-ramp-delay = <0x186a0>; phandle = <0x23>; }; aldo3 { regulator-always-on; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-name = "vcc-3v3-1"; phandle = <0x6f>; }; bldo1 { regulator-always-on; regulator-min-microvolt = <0x1b7740>; regulator-max-microvolt = <0x1b7740>; regulator-name = "vcc-bias-pll"; phandle = <0x70>; }; bldo2 { regulator-always-on; regulator-min-microvolt = <0x1b7740>; regulator-max-microvolt = <0x1b7740>; regulator-name = "vcc-efuse-pcie-hdmi-io"; phandle = <0x12>; }; bldo3 { regulator-always-on; regulator-min-microvolt = <0x1b7740>; regulator-max-microvolt = <0x1b7740>; regulator-name = "vcc-dcxoio"; phandle = <0x71>; }; bldo4 { }; cldo1 { regulator-always-on; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-name = "vcc-3v3-2"; phandle = <0x13>; }; cldo2 { regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-name = "vcc-wifi-1"; phandle = <0x72>; }; cldo3 { regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-name = "vcc-wifi-2"; phandle = <0x73>; }; dcdca { regulator-always-on; regulator-min-microvolt = <0xc5c10>; regulator-max-microvolt = <0x11b340>; regulator-ramp-delay = <0x9c4>; regulator-name = "vdd-cpu"; phandle = <0x04>; }; dcdcc { regulator-enable-ramp-delay = <0x7d00>; regulator-min-microvolt = <0xc5c10>; regulator-max-microvolt = <0x107ac0>; regulator-ramp-delay = <0x9c4>; regulator-name = "vdd-gpu"; phandle = <0x0f>; }; dcdcd { regulator-always-on; regulator-min-microvolt = <0xea600>; regulator-max-microvolt = <0xea600>; regulator-name = "vdd-sys"; phandle = <0x74>; }; dcdce { regulator-always-on; regulator-min-microvolt = <0x124f80>; regulator-max-microvolt = <0x124f80>; regulator-name = "vcc-dram"; phandle = <0x75>; }; sw { }; }; }; rtc@51 { compatible = "nxp,pcf8563"; reg = <0x51>; interrupt-parent = <0x37>; interrupts = <0x00 0x08>; #clock-cells = <0x00>; phandle = <0x76>; }; }; thermal-sensor@5070400 { compatible = "allwinner,sun50i-h6-ths"; reg = <0x5070400 0x100>; interrupts = <0x00 0x0f 0x04>; clocks = <0x02 0x59>; clock-names = "bus"; resets = <0x02 0x24>; nvmem-cells = <0x38>; nvmem-cell-names = "calibration"; #thermal-sensor-cells = <0x01>; phandle = <0x39>; }; }; thermal-zones { cpu-thermal { polling-delay-passive = <0x00>; polling-delay = <0x00>; thermal-sensors = <0x39 0x00>; trips { cpu-alert { temperature = <0x14c08>; hysteresis = <0x7d0>; type = "passive"; phandle = <0x3a>; }; cpu-crit { temperature = <0x186a0>; hysteresis = <0x00>; type = "critical"; }; }; cooling-maps { map0 { trip = <0x3a>; cooling-device = <0x06 0xffffffff 0xffffffff 0x07 0xffffffff 0xffffffff 0x08 0xffffffff 0xffffffff 0x09 0xffffffff 0xffffffff>; }; }; }; gpu-thermal { polling-delay-passive = <0x00>; polling-delay = <0x00>; thermal-sensors = <0x39 0x01>; }; }; opp-table-cpu { compatible = "allwinner,sun50i-h6-operating-points"; nvmem-cells = <0x3b>; opp-shared; phandle = <0x03>; opp@480000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x1c9c3800>; opp-microvolt-speed0 = <0xd6d80 0xd6d80 0x124f80>; opp-microvolt-speed1 = <0xc8320 0xc8320 0x124f80>; opp-microvolt-speed2 = <0xc8320 0xc8320 0x124f80>; }; opp@720000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x2aea5400>; opp-microvolt-speed0 = <0xd6d80 0xd6d80 0x124f80>; opp-microvolt-speed1 = <0xc8320 0xc8320 0x124f80>; opp-microvolt-speed2 = <0xc8320 0xc8320 0x124f80>; }; opp@816000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x30a32c00>; opp-microvolt-speed0 = <0xd6d80 0xd6d80 0x124f80>; opp-microvolt-speed1 = <0xc8320 0xc8320 0x124f80>; opp-microvolt-speed2 = <0xc8320 0xc8320 0x124f80>; }; opp@888000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x34edce00>; opp-microvolt-speed0 = <0xd6d80 0xd6d80 0x124f80>; opp-microvolt-speed1 = <0xc8320 0xc8320 0x124f80>; opp-microvolt-speed2 = <0xc8320 0xc8320 0x124f80>; }; opp@1080000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x405f7e00>; opp-microvolt-speed0 = <0xe57e0 0xe57e0 0x124f80>; opp-microvolt-speed1 = <0xd6d80 0xd6d80 0x124f80>; opp-microvolt-speed2 = <0xd6d80 0xd6d80 0x124f80>; }; opp@1320000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x4ead9a00>; opp-microvolt-speed0 = <0xf4240 0xf4240 0x124f80>; opp-microvolt-speed1 = <0xe57e0 0xe57e0 0x124f80>; opp-microvolt-speed2 = <0xe57e0 0xe57e0 0x124f80>; }; opp@1488000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x58b11400>; opp-microvolt-speed0 = <0x102ca0 0x102ca0 0x124f80>; opp-microvolt-speed1 = <0xf4240 0xf4240 0x124f80>; opp-microvolt-speed2 = <0xf4240 0xf4240 0x124f80>; }; opp@1608000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x5fd82200>; opp-microvolt-speed0 = <0x10a1d0 0x10a1d0 0x124f80>; opp-microvolt-speed1 = <0xfb770 0xfb770 0x124f80>; opp-microvolt-speed2 = <0xfb770 0xfb770 0x124f80>; }; opp@1704000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x6590fa00>; opp-microvolt-speed0 = <0x111700 0x111700 0x124f80>; opp-microvolt-speed1 = <0x102ca0 0x102ca0 0x124f80>; opp-microvolt-speed2 = <0x102ca0 0x102ca0 0x124f80>; }; opp@1800000000 { clock-latency-ns = <0x3b9b0>; opp-hz = <0x00 0x6b49d200>; opp-microvolt-speed0 = <0x11b340 0x11b340 0x124f80>; opp-microvolt-speed1 = <0x10c8e0 0x10c8e0 0x124f80>; opp-microvolt-speed2 = <0x10c8e0 0x10c8e0 0x124f80>; }; }; aliases { ethernet0 = "/soc/ethernet@5020000"; serial0 = "/soc/serial@5000000"; spi0 = "/soc/spi@5010000"; }; chosen { stdout-path = "serial0:115200n8"; }; ext_osc32k_clk { #clock-cells = <0x00>; compatible = "fixed-clock"; clock-frequency = <0x8000>; clock-output-names = "ext_osc32k"; phandle = <0x33>; }; connector { compatible = "hdmi-connector"; type = "a"; phandle = <0x77>; port { endpoint { remote-endpoint = <0x3c>; phandle = <0x2b>; }; }; }; leds { compatible = "gpio-leds"; heartbeat { label = "pine-h64:green:heartbeat"; gpios = <0x3d 0x00 0x04 0x00>; }; link { label = "pine-h64:white:link"; gpios = <0x3d 0x00 0x03 0x00>; }; status { label = "pine-h64:blue:status"; gpios = <0x3d 0x00 0x07 0x00>; }; }; gmac-3v3 { compatible = "regulator-fixed"; regulator-name = "vcc-gmac-3v3"; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; startup-delay-us = <0x186a0>; gpio = <0x16 0x02 0x10 0x00>; enable-active-high; phandle = <0x78>; }; vbus { compatible = "regulator-fixed"; regulator-name = "usb-vbus"; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; startup-delay-us = <0x186a0>; gpio = <0x3d 0x00 0x05 0x00>; enable-active-high; phandle = <0x26>; }; __symbols__ { cpu0 = "/cpus/cpu@0"; cpu1 = "/cpus/cpu@1"; cpu2 = "/cpus/cpu@2"; cpu3 = "/cpus/cpu@3"; de = "/display-engine"; osc24M = "/osc24M_clk"; display_clocks = "/soc/bus@1000000/clock@0"; 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"; gpu = "/soc/gpu@1800000"; crypto = "/soc/crypto@1904000"; syscon = "/soc/syscon@3000000"; sram_c = "/soc/syscon@3000000/sram@28000"; de2_sram = "/soc/syscon@3000000/sram@28000/sram-section@0"; sram_c1 = "/soc/syscon@3000000/sram@1a00000"; ve_sram = "/soc/syscon@3000000/sram@1a00000/sram-section@0"; ccu = "/soc/clock@3001000"; dma = "/soc/dma-controller@3002000"; msgbox = "/soc/mailbox@3003000"; sid = "/soc/efuse@3006000"; ths_calibration = "/soc/efuse@3006000/thermal-sensor-calibration@14"; cpu_speed_grade = "/soc/efuse@3006000/cpu-speed-grade@1c"; watchdog = "/soc/watchdog@30090a0"; pwm = "/soc/pwm@300a000"; pio = "/soc/pinctrl@300b000"; ext_rgmii_pins = "/soc/pinctrl@300b000/rgmii-pins"; hdmi_pins = "/soc/pinctrl@300b000/hdmi-pins"; i2c0_pins = "/soc/pinctrl@300b000/i2c0-pins"; i2c1_pins = "/soc/pinctrl@300b000/i2c1-pins"; i2c2_pins = "/soc/pinctrl@300b000/i2c2-pins"; mmc0_pins = "/soc/pinctrl@300b000/mmc0-pins"; mmc1_pins = "/soc/pinctrl@300b000/mmc1-pins"; mmc2_pins = "/soc/pinctrl@300b000/mmc2-pins"; spi0_pins = "/soc/pinctrl@300b000/spi0-pins"; spi0_cs_pin = "/soc/pinctrl@300b000/spi0-cs-pin"; spi1_pins = "/soc/pinctrl@300b000/spi1-pins"; spi1_cs_pin = "/soc/pinctrl@300b000/spi1-cs-pin"; spdif_tx_pin = "/soc/pinctrl@300b000/spdif-tx-pin"; uart0_ph_pins = "/soc/pinctrl@300b000/uart0-ph-pins"; uart1_pins = "/soc/pinctrl@300b000/uart1-pins"; uart1_rts_cts_pins = "/soc/pinctrl@300b000/uart1-rts-cts-pins"; gic = "/soc/interrupt-controller@3021000"; iommu = "/soc/iommu@30f0000"; mmc0 = "/soc/mmc@4020000"; mmc1 = "/soc/mmc@4021000"; mmc2 = "/soc/mmc@4022000"; uart0 = "/soc/serial@5000000"; uart1 = "/soc/serial@5000400"; uart2 = "/soc/serial@5000800"; uart3 = "/soc/serial@5000c00"; i2c0 = "/soc/i2c@5002000"; i2c1 = "/soc/i2c@5002400"; i2c2 = "/soc/i2c@5002800"; spi0 = "/soc/spi@5010000"; spi1 = "/soc/spi@5011000"; emac = "/soc/ethernet@5020000"; mdio = "/soc/ethernet@5020000/mdio"; ext_rgmii_phy = "/soc/ethernet@5020000/mdio/ethernet-phy@1"; spdif = "/soc/spdif@5093000"; usb2otg = "/soc/usb@5100000"; usb2phy = "/soc/phy@5100400"; ehci0 = "/soc/usb@5101000"; ohci0 = "/soc/usb@5101400"; dwc3 = "/soc/dwc3@5200000"; usb3phy = "/soc/phy@5210000"; ehci3 = "/soc/usb@5311000"; ohci3 = "/soc/usb@5311400"; hdmi = "/soc/hdmi@6000000"; 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"; tcon_top = "/soc/tcon-top@6510000"; 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_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_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"; rtc = "/soc/rtc@7000000"; r_ccu = "/soc/clock@7010000"; r_watchdog = "/soc/watchdog@7020400"; r_intc = "/soc/interrupt-controller@7021000"; r_pio = "/soc/pinctrl@7022000"; r_i2c_pins = "/soc/pinctrl@7022000/r-i2c-pins"; r_ir_rx_pin = "/soc/pinctrl@7022000/r-ir-rx-pin"; r_ir = "/soc/ir@7040000"; r_i2c = "/soc/i2c@7081400"; axp805 = "/soc/i2c@7081400/pmic@36"; reg_aldo1 = "/soc/i2c@7081400/pmic@36/regulators/aldo1"; reg_aldo2 = "/soc/i2c@7081400/pmic@36/regulators/aldo2"; reg_aldo3 = "/soc/i2c@7081400/pmic@36/regulators/aldo3"; reg_bldo1 = "/soc/i2c@7081400/pmic@36/regulators/bldo1"; reg_bldo2 = "/soc/i2c@7081400/pmic@36/regulators/bldo2"; reg_bldo3 = "/soc/i2c@7081400/pmic@36/regulators/bldo3"; reg_cldo1 = "/soc/i2c@7081400/pmic@36/regulators/cldo1"; reg_cldo2 = "/soc/i2c@7081400/pmic@36/regulators/cldo2"; reg_cldo3 = "/soc/i2c@7081400/pmic@36/regulators/cldo3"; reg_dcdca = "/soc/i2c@7081400/pmic@36/regulators/dcdca"; reg_dcdcc = "/soc/i2c@7081400/pmic@36/regulators/dcdcc"; reg_dcdcd = "/soc/i2c@7081400/pmic@36/regulators/dcdcd"; reg_dcdce = "/soc/i2c@7081400/pmic@36/regulators/dcdce"; pcf8563 = "/soc/i2c@7081400/rtc@51"; ths = "/soc/thermal-sensor@5070400"; cpu_alert = "/thermal-zones/cpu-thermal/trips/cpu-alert"; cpu_opp_table = "/opp-table-cpu"; ext_osc32k = "/ext_osc32k_clk"; hdmi_connector = "/connector"; hdmi_con_in = "/connector/port/endpoint"; reg_gmac_3v3 = "/gmac-3v3"; reg_usb_vbus = "/vbus"; }; };