1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2// Copyright (C) 2019 Clément Péron <peron.clem@gmail.com> 3 4/dts-v1/; 5 6#include "sun50i-h6.dtsi" 7 8#include <dt-bindings/gpio/gpio.h> 9 10/ { 11 model = "Beelink GS1"; 12 compatible = "azw,beelink-gs1", "allwinner,sun50i-h6"; 13 14 aliases { 15 ethernet0 = &emac; 16 serial0 = &uart0; 17 }; 18 19 chosen { 20 stdout-path = "serial0:115200n8"; 21 }; 22 23 connector { 24 compatible = "hdmi-connector"; 25 type = "a"; 26 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 27 28 port { 29 hdmi_con_in: endpoint { 30 remote-endpoint = <&hdmi_out_con>; 31 }; 32 }; 33 }; 34 35 leds { 36 compatible = "gpio-leds"; 37 38 power { 39 label = "beelink:white:power"; 40 gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 41 default-state = "on"; 42 }; 43 }; 44 45 reg_vcc5v: vcc5v { 46 /* board wide 5V supply directly from the DC jack */ 47 compatible = "regulator-fixed"; 48 regulator-name = "vcc-5v"; 49 regulator-min-microvolt = <5000000>; 50 regulator-max-microvolt = <5000000>; 51 regulator-always-on; 52 }; 53 54 sound-spdif { 55 compatible = "simple-audio-card"; 56 simple-audio-card,name = "sun50i-h6-spdif"; 57 58 simple-audio-card,cpu { 59 sound-dai = <&spdif>; 60 }; 61 62 simple-audio-card,codec { 63 sound-dai = <&spdif_out>; 64 }; 65 }; 66 67 spdif_out: spdif-out { 68 #sound-dai-cells = <0>; 69 compatible = "linux,spdif-dit"; 70 }; 71}; 72 73&de { 74 status = "okay"; 75}; 76 77&dwc3 { 78 status = "okay"; 79}; 80 81&ehci0 { 82 status = "okay"; 83}; 84 85&emac { 86 pinctrl-names = "default"; 87 pinctrl-0 = <&ext_rgmii_pins>; 88 phy-mode = "rgmii"; 89 phy-handle = <&ext_rgmii_phy>; 90 phy-supply = <®_aldo2>; 91 status = "okay"; 92}; 93 94&gpu { 95 mali-supply = <®_dcdcc>; 96 status = "okay"; 97}; 98 99&hdmi { 100 status = "okay"; 101}; 102 103&hdmi_out { 104 hdmi_out_con: endpoint { 105 remote-endpoint = <&hdmi_con_in>; 106 }; 107}; 108 109&mdio { 110 ext_rgmii_phy: ethernet-phy@1 { 111 compatible = "ethernet-phy-ieee802.3-c22"; 112 reg = <1>; 113 }; 114}; 115 116&mmc0 { 117 vmmc-supply = <®_cldo1>; 118 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 119 bus-width = <4>; 120 status = "okay"; 121}; 122 123&mmc2 { 124 vmmc-supply = <®_cldo1>; 125 vqmmc-supply = <®_bldo2>; 126 non-removable; 127 cap-mmc-hw-reset; 128 bus-width = <8>; 129 status = "okay"; 130}; 131 132&ohci0 { 133 status = "okay"; 134}; 135 136&pio { 137 vcc-pd-supply = <®_cldo1>; 138 vcc-pg-supply = <®_aldo1>; 139}; 140 141&r_i2c { 142 status = "okay"; 143 144 axp805: pmic@36 { 145 compatible = "x-powers,axp805", "x-powers,axp806"; 146 reg = <0x36>; 147 interrupt-parent = <&r_intc>; 148 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 149 interrupt-controller; 150 #interrupt-cells = <1>; 151 x-powers,self-working-mode; 152 vina-supply = <®_vcc5v>; 153 vinb-supply = <®_vcc5v>; 154 vinc-supply = <®_vcc5v>; 155 vind-supply = <®_vcc5v>; 156 vine-supply = <®_vcc5v>; 157 aldoin-supply = <®_vcc5v>; 158 bldoin-supply = <®_vcc5v>; 159 cldoin-supply = <®_vcc5v>; 160 161 regulators { 162 reg_aldo1: aldo1 { 163 regulator-always-on; 164 regulator-min-microvolt = <3300000>; 165 regulator-max-microvolt = <3300000>; 166 regulator-name = "vcc-pl"; 167 }; 168 169 reg_aldo2: aldo2 { 170 regulator-min-microvolt = <3300000>; 171 regulator-max-microvolt = <3300000>; 172 regulator-name = "vcc-ac200"; 173 regulator-enable-ramp-delay = <100000>; 174 }; 175 176 reg_aldo3: aldo3 { 177 regulator-always-on; 178 regulator-min-microvolt = <3300000>; 179 regulator-max-microvolt = <3300000>; 180 regulator-name = "vcc25-dram"; 181 }; 182 183 reg_bldo1: bldo1 { 184 regulator-always-on; 185 regulator-min-microvolt = <1800000>; 186 regulator-max-microvolt = <1800000>; 187 regulator-name = "vcc-bias-pll"; 188 }; 189 190 reg_bldo2: bldo2 { 191 regulator-always-on; 192 regulator-min-microvolt = <1800000>; 193 regulator-max-microvolt = <1800000>; 194 regulator-name = "vcc-efuse-pcie-hdmi-io"; 195 }; 196 197 reg_bldo3: bldo3 { 198 regulator-always-on; 199 regulator-min-microvolt = <1800000>; 200 regulator-max-microvolt = <1800000>; 201 regulator-name = "vcc-dcxoio"; 202 }; 203 204 bldo4 { 205 /* unused */ 206 }; 207 208 reg_cldo1: cldo1 { 209 regulator-always-on; 210 regulator-min-microvolt = <3300000>; 211 regulator-max-microvolt = <3300000>; 212 regulator-name = "vcc-3v3"; 213 }; 214 215 reg_cldo2: cldo2 { 216 regulator-min-microvolt = <3300000>; 217 regulator-max-microvolt = <3300000>; 218 regulator-name = "vcc-wifi-1"; 219 }; 220 221 reg_cldo3: cldo3 { 222 regulator-min-microvolt = <3300000>; 223 regulator-max-microvolt = <3300000>; 224 regulator-name = "vcc-wifi-2"; 225 }; 226 227 reg_dcdca: dcdca { 228 regulator-always-on; 229 regulator-min-microvolt = <810000>; 230 regulator-max-microvolt = <1080000>; 231 regulator-name = "vdd-cpu"; 232 }; 233 234 reg_dcdcc: dcdcc { 235 regulator-enable-ramp-delay = <32000>; 236 regulator-min-microvolt = <810000>; 237 regulator-max-microvolt = <1080000>; 238 regulator-name = "vdd-gpu"; 239 }; 240 241 reg_dcdcd: dcdcd { 242 regulator-always-on; 243 regulator-min-microvolt = <960000>; 244 regulator-max-microvolt = <960000>; 245 regulator-name = "vdd-sys"; 246 }; 247 248 reg_dcdce: dcdce { 249 regulator-always-on; 250 regulator-min-microvolt = <1200000>; 251 regulator-max-microvolt = <1200000>; 252 regulator-name = "vcc-dram"; 253 }; 254 255 sw { 256 /* unused */ 257 }; 258 }; 259 }; 260}; 261 262&r_ir { 263 linux,rc-map-name = "rc-beelink-gs1"; 264 status = "okay"; 265}; 266 267&r_pio { 268 /* 269 * PL0 and PL1 are used for PMIC I2C 270 * don't enable the pl-supply else 271 * it will fail at boot 272 * 273 * vcc-pl-supply = <®_aldo1>; 274 */ 275 vcc-pm-supply = <®_aldo1>; 276}; 277 278&spdif { 279 status = "okay"; 280}; 281 282&uart0 { 283 pinctrl-names = "default"; 284 pinctrl-0 = <&uart0_ph_pins>; 285 status = "okay"; 286}; 287 288&usb2otg { 289 dr_mode = "host"; 290 status = "okay"; 291}; 292 293&usb2phy { 294 usb0_vbus-supply = <®_vcc5v>; 295 status = "okay"; 296}; 297 298&usb3phy { 299 status = "okay"; 300}; 301