1089bee8dSClément Péron// SPDX-License-Identifier: (GPL-2.0+ or MIT) 2089bee8dSClément Péron/* 3089bee8dSClément Péron * Copyright (C) 2019 Clément Péron <peron.clem@gmail.com> 4089bee8dSClément Péron */ 5089bee8dSClément Péron 6089bee8dSClément Péron/dts-v1/; 7089bee8dSClément Péron 8089bee8dSClément Péron#include "sun50i-h6.dtsi" 9089bee8dSClément Péron 10089bee8dSClément Péron#include <dt-bindings/gpio/gpio.h> 11089bee8dSClément Péron 12089bee8dSClément Péron/ { 13089bee8dSClément Péron model = "Beelink GS1"; 14089bee8dSClément Péron compatible = "azw,beelink-gs1", "allwinner,sun50i-h6"; 15089bee8dSClément Péron 16089bee8dSClément Péron aliases { 17089bee8dSClément Péron ethernet0 = &emac; 18089bee8dSClément Péron serial0 = &uart0; 19089bee8dSClément Péron }; 20089bee8dSClément Péron 21089bee8dSClément Péron chosen { 22089bee8dSClément Péron stdout-path = "serial0:115200n8"; 23089bee8dSClément Péron }; 24089bee8dSClément Péron 25089bee8dSClément Péron connector { 26089bee8dSClément Péron compatible = "hdmi-connector"; 27089bee8dSClément Péron type = "a"; 28f46f408cSClément Péron ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 29089bee8dSClément Péron 30089bee8dSClément Péron port { 31089bee8dSClément Péron hdmi_con_in: endpoint { 32089bee8dSClément Péron remote-endpoint = <&hdmi_out_con>; 33089bee8dSClément Péron }; 34089bee8dSClément Péron }; 35089bee8dSClément Péron }; 36089bee8dSClément Péron 37089bee8dSClément Péron leds { 38089bee8dSClément Péron compatible = "gpio-leds"; 39089bee8dSClément Péron 40089bee8dSClément Péron power { 41089bee8dSClément Péron label = "beelink:white:power"; 42089bee8dSClément Péron gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 43089bee8dSClément Péron default-state = "on"; 44089bee8dSClément Péron }; 45089bee8dSClément Péron }; 46089bee8dSClément Péron 47089bee8dSClément Péron reg_vcc5v: vcc5v { 48089bee8dSClément Péron /* board wide 5V supply directly from the DC jack */ 49089bee8dSClément Péron compatible = "regulator-fixed"; 50089bee8dSClément Péron regulator-name = "vcc-5v"; 51089bee8dSClément Péron regulator-min-microvolt = <5000000>; 52089bee8dSClément Péron regulator-max-microvolt = <5000000>; 53089bee8dSClément Péron regulator-always-on; 54089bee8dSClément Péron }; 5545dd5cf8SClément Péron 5645dd5cf8SClément Péron sound-spdif { 5745dd5cf8SClément Péron compatible = "simple-audio-card"; 5845dd5cf8SClément Péron simple-audio-card,name = "sun50i-h6-spdif"; 5945dd5cf8SClément Péron 6045dd5cf8SClément Péron simple-audio-card,cpu { 6145dd5cf8SClément Péron sound-dai = <&spdif>; 6245dd5cf8SClément Péron }; 6345dd5cf8SClément Péron 6445dd5cf8SClément Péron simple-audio-card,codec { 6545dd5cf8SClément Péron sound-dai = <&spdif_out>; 6645dd5cf8SClément Péron }; 6745dd5cf8SClément Péron }; 6845dd5cf8SClément Péron 6945dd5cf8SClément Péron spdif_out: spdif-out { 7045dd5cf8SClément Péron #sound-dai-cells = <0>; 7145dd5cf8SClément Péron compatible = "linux,spdif-dit"; 7245dd5cf8SClément Péron }; 73089bee8dSClément Péron}; 74089bee8dSClément Péron 75089bee8dSClément Péron&de { 76089bee8dSClément Péron status = "okay"; 77089bee8dSClément Péron}; 78089bee8dSClément Péron 7959f3f4dcSClément Péron&dwc3 { 8059f3f4dcSClément Péron status = "okay"; 8159f3f4dcSClément Péron}; 8259f3f4dcSClément Péron 83089bee8dSClément Péron&ehci0 { 84089bee8dSClément Péron status = "okay"; 85089bee8dSClément Péron}; 86089bee8dSClément Péron 87089bee8dSClément Péron&emac { 88089bee8dSClément Péron pinctrl-names = "default"; 89089bee8dSClément Péron pinctrl-0 = <&ext_rgmii_pins>; 90089bee8dSClément Péron phy-mode = "rgmii"; 91089bee8dSClément Péron phy-handle = <&ext_rgmii_phy>; 92089bee8dSClément Péron phy-supply = <®_aldo2>; 93089bee8dSClément Péron status = "okay"; 94089bee8dSClément Péron}; 95089bee8dSClément Péron 968abc4c4aSClément Péron&gpu { 978abc4c4aSClément Péron mali-supply = <®_dcdcc>; 988abc4c4aSClément Péron status = "okay"; 998abc4c4aSClément Péron}; 1008abc4c4aSClément Péron 101089bee8dSClément Péron&hdmi { 102089bee8dSClément Péron status = "okay"; 103089bee8dSClément Péron}; 104089bee8dSClément Péron 105089bee8dSClément Péron&hdmi_out { 106089bee8dSClément Péron hdmi_out_con: endpoint { 107089bee8dSClément Péron remote-endpoint = <&hdmi_con_in>; 108089bee8dSClément Péron }; 109089bee8dSClément Péron}; 110089bee8dSClément Péron 111089bee8dSClément Péron&mdio { 112089bee8dSClément Péron ext_rgmii_phy: ethernet-phy@1 { 113089bee8dSClément Péron compatible = "ethernet-phy-ieee802.3-c22"; 114089bee8dSClément Péron reg = <1>; 115089bee8dSClément Péron }; 116089bee8dSClément Péron}; 117089bee8dSClément Péron 118089bee8dSClément Péron&mmc0 { 119089bee8dSClément Péron vmmc-supply = <®_cldo1>; 120089bee8dSClément Péron cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 121089bee8dSClément Péron bus-width = <4>; 122089bee8dSClément Péron status = "okay"; 123089bee8dSClément Péron}; 124089bee8dSClément Péron 125089bee8dSClément Péron&mmc2 { 126089bee8dSClément Péron vmmc-supply = <®_cldo1>; 127089bee8dSClément Péron vqmmc-supply = <®_bldo2>; 128089bee8dSClément Péron non-removable; 129089bee8dSClément Péron cap-mmc-hw-reset; 130089bee8dSClément Péron bus-width = <8>; 131089bee8dSClément Péron status = "okay"; 132089bee8dSClément Péron}; 133089bee8dSClément Péron 134089bee8dSClément Péron&ohci0 { 135089bee8dSClément Péron status = "okay"; 136089bee8dSClément Péron}; 137089bee8dSClément Péron 138089bee8dSClément Péron&pio { 139089bee8dSClément Péron vcc-pd-supply = <®_cldo1>; 140089bee8dSClément Péron vcc-pg-supply = <®_aldo1>; 141089bee8dSClément Péron}; 142089bee8dSClément Péron 143089bee8dSClément Péron&r_i2c { 144089bee8dSClément Péron status = "okay"; 145089bee8dSClément Péron 146089bee8dSClément Péron axp805: pmic@36 { 147089bee8dSClément Péron compatible = "x-powers,axp805", "x-powers,axp806"; 148089bee8dSClément Péron reg = <0x36>; 149089bee8dSClément Péron interrupt-parent = <&r_intc>; 150089bee8dSClément Péron interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 151089bee8dSClément Péron interrupt-controller; 152089bee8dSClément Péron #interrupt-cells = <1>; 153089bee8dSClément Péron x-powers,self-working-mode; 154089bee8dSClément Péron vina-supply = <®_vcc5v>; 155089bee8dSClément Péron vinb-supply = <®_vcc5v>; 156089bee8dSClément Péron vinc-supply = <®_vcc5v>; 157089bee8dSClément Péron vind-supply = <®_vcc5v>; 158089bee8dSClément Péron vine-supply = <®_vcc5v>; 159089bee8dSClément Péron aldoin-supply = <®_vcc5v>; 160089bee8dSClément Péron bldoin-supply = <®_vcc5v>; 161089bee8dSClément Péron cldoin-supply = <®_vcc5v>; 162089bee8dSClément Péron 163089bee8dSClément Péron regulators { 164089bee8dSClément Péron reg_aldo1: aldo1 { 165089bee8dSClément Péron regulator-always-on; 166089bee8dSClément Péron regulator-min-microvolt = <3300000>; 167089bee8dSClément Péron regulator-max-microvolt = <3300000>; 168089bee8dSClément Péron regulator-name = "vcc-pl"; 169089bee8dSClément Péron }; 170089bee8dSClément Péron 171089bee8dSClément Péron reg_aldo2: aldo2 { 172089bee8dSClément Péron regulator-min-microvolt = <3300000>; 173089bee8dSClément Péron regulator-max-microvolt = <3300000>; 174089bee8dSClément Péron regulator-name = "vcc-ac200"; 175089bee8dSClément Péron regulator-enable-ramp-delay = <100000>; 176089bee8dSClément Péron }; 177089bee8dSClément Péron 178089bee8dSClément Péron reg_aldo3: aldo3 { 179089bee8dSClément Péron regulator-always-on; 180089bee8dSClément Péron regulator-min-microvolt = <3300000>; 181089bee8dSClément Péron regulator-max-microvolt = <3300000>; 182089bee8dSClément Péron regulator-name = "vcc25-dram"; 183089bee8dSClément Péron }; 184089bee8dSClément Péron 185089bee8dSClément Péron reg_bldo1: bldo1 { 186089bee8dSClément Péron regulator-always-on; 187089bee8dSClément Péron regulator-min-microvolt = <1800000>; 188089bee8dSClément Péron regulator-max-microvolt = <1800000>; 189089bee8dSClément Péron regulator-name = "vcc-bias-pll"; 190089bee8dSClément Péron }; 191089bee8dSClément Péron 192089bee8dSClément Péron reg_bldo2: bldo2 { 193089bee8dSClément Péron regulator-always-on; 194089bee8dSClément Péron regulator-min-microvolt = <1800000>; 195089bee8dSClément Péron regulator-max-microvolt = <1800000>; 196089bee8dSClément Péron regulator-name = "vcc-efuse-pcie-hdmi-io"; 197089bee8dSClément Péron }; 198089bee8dSClément Péron 199089bee8dSClément Péron reg_bldo3: bldo3 { 200089bee8dSClément Péron regulator-always-on; 201089bee8dSClément Péron regulator-min-microvolt = <1800000>; 202089bee8dSClément Péron regulator-max-microvolt = <1800000>; 203089bee8dSClément Péron regulator-name = "vcc-dcxoio"; 204089bee8dSClément Péron }; 205089bee8dSClément Péron 206089bee8dSClément Péron bldo4 { 207089bee8dSClément Péron /* unused */ 208089bee8dSClément Péron }; 209089bee8dSClément Péron 210089bee8dSClément Péron reg_cldo1: cldo1 { 211089bee8dSClément Péron regulator-always-on; 212089bee8dSClément Péron regulator-min-microvolt = <3300000>; 213089bee8dSClément Péron regulator-max-microvolt = <3300000>; 214089bee8dSClément Péron regulator-name = "vcc-3v3"; 215089bee8dSClément Péron }; 216089bee8dSClément Péron 217089bee8dSClément Péron reg_cldo2: cldo2 { 218089bee8dSClément Péron regulator-min-microvolt = <3300000>; 219089bee8dSClément Péron regulator-max-microvolt = <3300000>; 220089bee8dSClément Péron regulator-name = "vcc-wifi-1"; 221089bee8dSClément Péron }; 222089bee8dSClément Péron 223089bee8dSClément Péron reg_cldo3: cldo3 { 224089bee8dSClément Péron regulator-min-microvolt = <3300000>; 225089bee8dSClément Péron regulator-max-microvolt = <3300000>; 226089bee8dSClément Péron regulator-name = "vcc-wifi-2"; 227089bee8dSClément Péron }; 228089bee8dSClément Péron 229089bee8dSClément Péron reg_dcdca: dcdca { 230089bee8dSClément Péron regulator-always-on; 231089bee8dSClément Péron regulator-min-microvolt = <810000>; 232089bee8dSClément Péron regulator-max-microvolt = <1080000>; 233089bee8dSClément Péron regulator-name = "vdd-cpu"; 234089bee8dSClément Péron }; 235089bee8dSClément Péron 236089bee8dSClément Péron reg_dcdcc: dcdcc { 2378abc4c4aSClément Péron regulator-enable-ramp-delay = <32000>; 238089bee8dSClément Péron regulator-min-microvolt = <810000>; 239089bee8dSClément Péron regulator-max-microvolt = <1080000>; 240089bee8dSClément Péron regulator-name = "vdd-gpu"; 241089bee8dSClément Péron }; 242089bee8dSClément Péron 243089bee8dSClément Péron reg_dcdcd: dcdcd { 244089bee8dSClément Péron regulator-always-on; 245089bee8dSClément Péron regulator-min-microvolt = <960000>; 246089bee8dSClément Péron regulator-max-microvolt = <960000>; 247089bee8dSClément Péron regulator-name = "vdd-sys"; 248089bee8dSClément Péron }; 249089bee8dSClément Péron 250089bee8dSClément Péron reg_dcdce: dcdce { 251089bee8dSClément Péron regulator-always-on; 252089bee8dSClément Péron regulator-min-microvolt = <1200000>; 253089bee8dSClément Péron regulator-max-microvolt = <1200000>; 254089bee8dSClément Péron regulator-name = "vcc-dram"; 255089bee8dSClément Péron }; 256089bee8dSClément Péron 257089bee8dSClément Péron sw { 258089bee8dSClément Péron /* unused */ 259089bee8dSClément Péron }; 260089bee8dSClément Péron }; 261089bee8dSClément Péron }; 262089bee8dSClément Péron}; 263089bee8dSClément Péron 26486be7408SClément Péron&r_ir { 2656555431bSClément Péron linux,rc-map-name = "rc-beelink-gs1"; 26686be7408SClément Péron status = "okay"; 26786be7408SClément Péron}; 26886be7408SClément Péron 269089bee8dSClément Péron&r_pio { 270089bee8dSClément Péron /* 271089bee8dSClément Péron * PL0 and PL1 are used for PMIC I2C 272089bee8dSClément Péron * don't enable the pl-supply else 273089bee8dSClément Péron * it will fail at boot 274089bee8dSClément Péron * 275089bee8dSClément Péron * vcc-pl-supply = <®_aldo1>; 276089bee8dSClément Péron */ 277089bee8dSClément Péron vcc-pm-supply = <®_aldo1>; 278089bee8dSClément Péron}; 279089bee8dSClément Péron 28045dd5cf8SClément Péron&spdif { 28145dd5cf8SClément Péron status = "okay"; 28245dd5cf8SClément Péron}; 28345dd5cf8SClément Péron 284089bee8dSClément Péron&uart0 { 285089bee8dSClément Péron pinctrl-names = "default"; 286089bee8dSClément Péron pinctrl-0 = <&uart0_ph_pins>; 287089bee8dSClément Péron status = "okay"; 288089bee8dSClément Péron}; 289089bee8dSClément Péron 290089bee8dSClément Péron&usb2otg { 291089bee8dSClément Péron dr_mode = "host"; 292089bee8dSClément Péron status = "okay"; 293089bee8dSClément Péron}; 294089bee8dSClément Péron 295089bee8dSClément Péron&usb2phy { 296089bee8dSClément Péron usb0_vbus-supply = <®_vcc5v>; 297089bee8dSClément Péron status = "okay"; 298089bee8dSClément Péron}; 29959f3f4dcSClément Péron 30059f3f4dcSClément Péron&usb3phy { 30159f3f4dcSClément Péron status = "okay"; 30259f3f4dcSClément Péron}; 303