18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (C) 2019 Clément Péron <peron.clem@gmail.com> 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/dts-v1/; 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include "sun50i-h6.dtsi" 78c2ecf20Sopenharmony_ci#include "sun50i-h6-cpu-opp.dtsi" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci model = "Beelink GS1"; 138c2ecf20Sopenharmony_ci compatible = "azw,beelink-gs1", "allwinner,sun50i-h6"; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci aliases { 168c2ecf20Sopenharmony_ci ethernet0 = &emac; 178c2ecf20Sopenharmony_ci serial0 = &uart0; 188c2ecf20Sopenharmony_ci }; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci chosen { 218c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 228c2ecf20Sopenharmony_ci }; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci connector { 258c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 268c2ecf20Sopenharmony_ci type = "a"; 278c2ecf20Sopenharmony_ci ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci port { 308c2ecf20Sopenharmony_ci hdmi_con_in: endpoint { 318c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_out_con>; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci }; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci ext_osc32k: ext_osc32k_clk { 378c2ecf20Sopenharmony_ci #clock-cells = <0>; 388c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 398c2ecf20Sopenharmony_ci clock-frequency = <32768>; 408c2ecf20Sopenharmony_ci clock-output-names = "ext_osc32k"; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci leds { 448c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci power { 478c2ecf20Sopenharmony_ci label = "beelink:white:power"; 488c2ecf20Sopenharmony_ci gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 498c2ecf20Sopenharmony_ci default-state = "on"; 508c2ecf20Sopenharmony_ci }; 518c2ecf20Sopenharmony_ci }; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci reg_vcc5v: vcc5v { 548c2ecf20Sopenharmony_ci /* board wide 5V supply directly from the DC jack */ 558c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 568c2ecf20Sopenharmony_ci regulator-name = "vcc-5v"; 578c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 588c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 598c2ecf20Sopenharmony_ci regulator-always-on; 608c2ecf20Sopenharmony_ci }; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci sound-spdif { 638c2ecf20Sopenharmony_ci compatible = "simple-audio-card"; 648c2ecf20Sopenharmony_ci simple-audio-card,name = "sun50i-h6-spdif"; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci simple-audio-card,cpu { 678c2ecf20Sopenharmony_ci sound-dai = <&spdif>; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci simple-audio-card,codec { 718c2ecf20Sopenharmony_ci sound-dai = <&spdif_out>; 728c2ecf20Sopenharmony_ci }; 738c2ecf20Sopenharmony_ci }; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci spdif_out: spdif-out { 768c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 778c2ecf20Sopenharmony_ci compatible = "linux,spdif-dit"; 788c2ecf20Sopenharmony_ci }; 798c2ecf20Sopenharmony_ci}; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci&cpu0 { 828c2ecf20Sopenharmony_ci cpu-supply = <®_dcdca>; 838c2ecf20Sopenharmony_ci}; 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci&de { 868c2ecf20Sopenharmony_ci status = "okay"; 878c2ecf20Sopenharmony_ci}; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci&dwc3 { 908c2ecf20Sopenharmony_ci status = "okay"; 918c2ecf20Sopenharmony_ci}; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci&ehci0 { 948c2ecf20Sopenharmony_ci status = "okay"; 958c2ecf20Sopenharmony_ci}; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci&emac { 988c2ecf20Sopenharmony_ci pinctrl-names = "default"; 998c2ecf20Sopenharmony_ci pinctrl-0 = <&ext_rgmii_pins>; 1008c2ecf20Sopenharmony_ci phy-mode = "rgmii-id"; 1018c2ecf20Sopenharmony_ci phy-handle = <&ext_rgmii_phy>; 1028c2ecf20Sopenharmony_ci phy-supply = <®_aldo2>; 1038c2ecf20Sopenharmony_ci status = "okay"; 1048c2ecf20Sopenharmony_ci}; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci&gpu { 1078c2ecf20Sopenharmony_ci mali-supply = <®_dcdcc>; 1088c2ecf20Sopenharmony_ci status = "okay"; 1098c2ecf20Sopenharmony_ci}; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci&hdmi { 1128c2ecf20Sopenharmony_ci status = "okay"; 1138c2ecf20Sopenharmony_ci}; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci&hdmi_out { 1168c2ecf20Sopenharmony_ci hdmi_out_con: endpoint { 1178c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_con_in>; 1188c2ecf20Sopenharmony_ci }; 1198c2ecf20Sopenharmony_ci}; 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci&mdio { 1228c2ecf20Sopenharmony_ci ext_rgmii_phy: ethernet-phy@1 { 1238c2ecf20Sopenharmony_ci compatible = "ethernet-phy-ieee802.3-c22"; 1248c2ecf20Sopenharmony_ci reg = <1>; 1258c2ecf20Sopenharmony_ci }; 1268c2ecf20Sopenharmony_ci}; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci&mmc0 { 1298c2ecf20Sopenharmony_ci vmmc-supply = <®_cldo1>; 1308c2ecf20Sopenharmony_ci cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 1318c2ecf20Sopenharmony_ci bus-width = <4>; 1328c2ecf20Sopenharmony_ci status = "okay"; 1338c2ecf20Sopenharmony_ci}; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci&mmc2 { 1368c2ecf20Sopenharmony_ci vmmc-supply = <®_cldo1>; 1378c2ecf20Sopenharmony_ci vqmmc-supply = <®_bldo2>; 1388c2ecf20Sopenharmony_ci non-removable; 1398c2ecf20Sopenharmony_ci cap-mmc-hw-reset; 1408c2ecf20Sopenharmony_ci bus-width = <8>; 1418c2ecf20Sopenharmony_ci status = "okay"; 1428c2ecf20Sopenharmony_ci}; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci&ohci0 { 1458c2ecf20Sopenharmony_ci status = "okay"; 1468c2ecf20Sopenharmony_ci}; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci&pio { 1498c2ecf20Sopenharmony_ci vcc-pd-supply = <®_cldo1>; 1508c2ecf20Sopenharmony_ci vcc-pg-supply = <®_aldo1>; 1518c2ecf20Sopenharmony_ci}; 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci&r_i2c { 1548c2ecf20Sopenharmony_ci status = "okay"; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci axp805: pmic@36 { 1578c2ecf20Sopenharmony_ci compatible = "x-powers,axp805", "x-powers,axp806"; 1588c2ecf20Sopenharmony_ci reg = <0x36>; 1598c2ecf20Sopenharmony_ci interrupt-parent = <&r_intc>; 1608c2ecf20Sopenharmony_ci interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 1618c2ecf20Sopenharmony_ci interrupt-controller; 1628c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 1638c2ecf20Sopenharmony_ci x-powers,self-working-mode; 1648c2ecf20Sopenharmony_ci vina-supply = <®_vcc5v>; 1658c2ecf20Sopenharmony_ci vinb-supply = <®_vcc5v>; 1668c2ecf20Sopenharmony_ci vinc-supply = <®_vcc5v>; 1678c2ecf20Sopenharmony_ci vind-supply = <®_vcc5v>; 1688c2ecf20Sopenharmony_ci vine-supply = <®_vcc5v>; 1698c2ecf20Sopenharmony_ci aldoin-supply = <®_vcc5v>; 1708c2ecf20Sopenharmony_ci bldoin-supply = <®_vcc5v>; 1718c2ecf20Sopenharmony_ci cldoin-supply = <®_vcc5v>; 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci regulators { 1748c2ecf20Sopenharmony_ci reg_aldo1: aldo1 { 1758c2ecf20Sopenharmony_ci regulator-always-on; 1768c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 1778c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1788c2ecf20Sopenharmony_ci regulator-name = "vcc-pl"; 1798c2ecf20Sopenharmony_ci }; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci reg_aldo2: aldo2 { 1828c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 1838c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1848c2ecf20Sopenharmony_ci regulator-name = "vcc-ac200"; 1858c2ecf20Sopenharmony_ci regulator-enable-ramp-delay = <100000>; 1868c2ecf20Sopenharmony_ci }; 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci reg_aldo3: aldo3 { 1898c2ecf20Sopenharmony_ci regulator-always-on; 1908c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 1918c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1928c2ecf20Sopenharmony_ci regulator-name = "vcc25-dram"; 1938c2ecf20Sopenharmony_ci }; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci reg_bldo1: bldo1 { 1968c2ecf20Sopenharmony_ci regulator-always-on; 1978c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 1988c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 1998c2ecf20Sopenharmony_ci regulator-name = "vcc-bias-pll"; 2008c2ecf20Sopenharmony_ci }; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci reg_bldo2: bldo2 { 2038c2ecf20Sopenharmony_ci regulator-always-on; 2048c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 2058c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 2068c2ecf20Sopenharmony_ci regulator-name = "vcc-efuse-pcie-hdmi-io"; 2078c2ecf20Sopenharmony_ci }; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci reg_bldo3: bldo3 { 2108c2ecf20Sopenharmony_ci regulator-always-on; 2118c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 2128c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 2138c2ecf20Sopenharmony_ci regulator-name = "vcc-dcxoio"; 2148c2ecf20Sopenharmony_ci }; 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci bldo4 { 2178c2ecf20Sopenharmony_ci /* unused */ 2188c2ecf20Sopenharmony_ci }; 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ci reg_cldo1: cldo1 { 2218c2ecf20Sopenharmony_ci regulator-always-on; 2228c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 2238c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 2248c2ecf20Sopenharmony_ci regulator-name = "vcc-3v3"; 2258c2ecf20Sopenharmony_ci }; 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci reg_cldo2: cldo2 { 2288c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 2298c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 2308c2ecf20Sopenharmony_ci regulator-name = "vcc-wifi-1"; 2318c2ecf20Sopenharmony_ci }; 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci reg_cldo3: cldo3 { 2348c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 2358c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 2368c2ecf20Sopenharmony_ci regulator-name = "vcc-wifi-2"; 2378c2ecf20Sopenharmony_ci }; 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci reg_dcdca: dcdca { 2408c2ecf20Sopenharmony_ci regulator-always-on; 2418c2ecf20Sopenharmony_ci regulator-min-microvolt = <810000>; 2428c2ecf20Sopenharmony_ci regulator-max-microvolt = <1160000>; 2438c2ecf20Sopenharmony_ci regulator-ramp-delay = <2500>; 2448c2ecf20Sopenharmony_ci regulator-name = "vdd-cpu"; 2458c2ecf20Sopenharmony_ci }; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci reg_dcdcc: dcdcc { 2488c2ecf20Sopenharmony_ci regulator-enable-ramp-delay = <32000>; 2498c2ecf20Sopenharmony_ci regulator-min-microvolt = <810000>; 2508c2ecf20Sopenharmony_ci regulator-max-microvolt = <1080000>; 2518c2ecf20Sopenharmony_ci regulator-ramp-delay = <2500>; 2528c2ecf20Sopenharmony_ci regulator-name = "vdd-gpu"; 2538c2ecf20Sopenharmony_ci }; 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ci reg_dcdcd: dcdcd { 2568c2ecf20Sopenharmony_ci regulator-always-on; 2578c2ecf20Sopenharmony_ci regulator-min-microvolt = <960000>; 2588c2ecf20Sopenharmony_ci regulator-max-microvolt = <960000>; 2598c2ecf20Sopenharmony_ci regulator-name = "vdd-sys"; 2608c2ecf20Sopenharmony_ci }; 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ci reg_dcdce: dcdce { 2638c2ecf20Sopenharmony_ci regulator-always-on; 2648c2ecf20Sopenharmony_ci regulator-min-microvolt = <1200000>; 2658c2ecf20Sopenharmony_ci regulator-max-microvolt = <1200000>; 2668c2ecf20Sopenharmony_ci regulator-name = "vcc-dram"; 2678c2ecf20Sopenharmony_ci }; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci sw { 2708c2ecf20Sopenharmony_ci /* unused */ 2718c2ecf20Sopenharmony_ci }; 2728c2ecf20Sopenharmony_ci }; 2738c2ecf20Sopenharmony_ci }; 2748c2ecf20Sopenharmony_ci}; 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_ci&r_ir { 2778c2ecf20Sopenharmony_ci linux,rc-map-name = "rc-beelink-gs1"; 2788c2ecf20Sopenharmony_ci status = "okay"; 2798c2ecf20Sopenharmony_ci}; 2808c2ecf20Sopenharmony_ci 2818c2ecf20Sopenharmony_ci&r_pio { 2828c2ecf20Sopenharmony_ci /* 2838c2ecf20Sopenharmony_ci * PL0 and PL1 are used for PMIC I2C 2848c2ecf20Sopenharmony_ci * don't enable the pl-supply else 2858c2ecf20Sopenharmony_ci * it will fail at boot 2868c2ecf20Sopenharmony_ci * 2878c2ecf20Sopenharmony_ci * vcc-pl-supply = <®_aldo1>; 2888c2ecf20Sopenharmony_ci */ 2898c2ecf20Sopenharmony_ci vcc-pm-supply = <®_aldo1>; 2908c2ecf20Sopenharmony_ci}; 2918c2ecf20Sopenharmony_ci 2928c2ecf20Sopenharmony_ci&spdif { 2938c2ecf20Sopenharmony_ci status = "okay"; 2948c2ecf20Sopenharmony_ci}; 2958c2ecf20Sopenharmony_ci 2968c2ecf20Sopenharmony_ci&uart0 { 2978c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2988c2ecf20Sopenharmony_ci pinctrl-0 = <&uart0_ph_pins>; 2998c2ecf20Sopenharmony_ci status = "okay"; 3008c2ecf20Sopenharmony_ci}; 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci&usb2otg { 3038c2ecf20Sopenharmony_ci dr_mode = "host"; 3048c2ecf20Sopenharmony_ci status = "okay"; 3058c2ecf20Sopenharmony_ci}; 3068c2ecf20Sopenharmony_ci 3078c2ecf20Sopenharmony_ci&usb2phy { 3088c2ecf20Sopenharmony_ci usb0_vbus-supply = <®_vcc5v>; 3098c2ecf20Sopenharmony_ci status = "okay"; 3108c2ecf20Sopenharmony_ci}; 3118c2ecf20Sopenharmony_ci 3128c2ecf20Sopenharmony_ci&usb3phy { 3138c2ecf20Sopenharmony_ci status = "okay"; 3148c2ecf20Sopenharmony_ci}; 315