1012af553SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2019 Clément Péron <peron.clem@gmail.com> 3089bee8dSClément Péron 4089bee8dSClément Péron/dts-v1/; 5089bee8dSClément Péron 6089bee8dSClément Péron#include "sun50i-h6.dtsi" 767533f87SClément Péron#include "sun50i-h6-cpu-opp.dtsi" 8089bee8dSClément Péron 9089bee8dSClément Péron#include <dt-bindings/gpio/gpio.h> 10089bee8dSClément Péron 11089bee8dSClément Péron/ { 12089bee8dSClément Péron model = "Beelink GS1"; 13089bee8dSClément Péron compatible = "azw,beelink-gs1", "allwinner,sun50i-h6"; 14089bee8dSClément Péron 15089bee8dSClément Péron aliases { 16089bee8dSClément Péron ethernet0 = &emac; 17089bee8dSClément Péron serial0 = &uart0; 18089bee8dSClément Péron }; 19089bee8dSClément Péron 20089bee8dSClément Péron chosen { 21089bee8dSClément Péron stdout-path = "serial0:115200n8"; 22089bee8dSClément Péron }; 23089bee8dSClément Péron 24089bee8dSClément Péron connector { 25089bee8dSClément Péron compatible = "hdmi-connector"; 26089bee8dSClément Péron type = "a"; 27f46f408cSClément Péron ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 28089bee8dSClément Péron 29089bee8dSClément Péron port { 30089bee8dSClément Péron hdmi_con_in: endpoint { 31089bee8dSClément Péron remote-endpoint = <&hdmi_out_con>; 32089bee8dSClément Péron }; 33089bee8dSClément Péron }; 34089bee8dSClément Péron }; 35089bee8dSClément Péron 3632507b86SJernej Skrabec ext_osc32k: ext_osc32k_clk { 3732507b86SJernej Skrabec #clock-cells = <0>; 3832507b86SJernej Skrabec compatible = "fixed-clock"; 3932507b86SJernej Skrabec clock-frequency = <32768>; 4032507b86SJernej Skrabec clock-output-names = "ext_osc32k"; 4132507b86SJernej Skrabec }; 4232507b86SJernej Skrabec 43089bee8dSClément Péron leds { 44089bee8dSClément Péron compatible = "gpio-leds"; 45089bee8dSClément Péron 46e299e6ddSMaxime Ripard led { 47089bee8dSClément Péron label = "beelink:white:power"; 48089bee8dSClément Péron gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 49089bee8dSClément Péron default-state = "on"; 50089bee8dSClément Péron }; 51089bee8dSClément Péron }; 52089bee8dSClément Péron 53089bee8dSClément Péron reg_vcc5v: vcc5v { 54089bee8dSClément Péron /* board wide 5V supply directly from the DC jack */ 55089bee8dSClément Péron compatible = "regulator-fixed"; 56089bee8dSClément Péron regulator-name = "vcc-5v"; 57089bee8dSClément Péron regulator-min-microvolt = <5000000>; 58089bee8dSClément Péron regulator-max-microvolt = <5000000>; 59089bee8dSClément Péron regulator-always-on; 60089bee8dSClément Péron }; 6145dd5cf8SClément Péron 6245dd5cf8SClément Péron sound-spdif { 6345dd5cf8SClément Péron compatible = "simple-audio-card"; 6445dd5cf8SClément Péron simple-audio-card,name = "sun50i-h6-spdif"; 6545dd5cf8SClément Péron 6645dd5cf8SClément Péron simple-audio-card,cpu { 6745dd5cf8SClément Péron sound-dai = <&spdif>; 6845dd5cf8SClément Péron }; 6945dd5cf8SClément Péron 7045dd5cf8SClément Péron simple-audio-card,codec { 7145dd5cf8SClément Péron sound-dai = <&spdif_out>; 7245dd5cf8SClément Péron }; 7345dd5cf8SClément Péron }; 7445dd5cf8SClément Péron 7545dd5cf8SClément Péron spdif_out: spdif-out { 7645dd5cf8SClément Péron #sound-dai-cells = <0>; 7745dd5cf8SClément Péron compatible = "linux,spdif-dit"; 7845dd5cf8SClément Péron }; 79089bee8dSClément Péron}; 80089bee8dSClément Péron 8167533f87SClément Péron&cpu0 { 8267533f87SClément Péron cpu-supply = <®_dcdca>; 8367533f87SClément Péron}; 8467533f87SClément Péron 85089bee8dSClément Péron&de { 86089bee8dSClément Péron status = "okay"; 87089bee8dSClément Péron}; 88089bee8dSClément Péron 8959f3f4dcSClément Péron&dwc3 { 9059f3f4dcSClément Péron status = "okay"; 9159f3f4dcSClément Péron}; 9259f3f4dcSClément Péron 93089bee8dSClément Péron&ehci0 { 94089bee8dSClément Péron status = "okay"; 95089bee8dSClément Péron}; 96089bee8dSClément Péron 97089bee8dSClément Péron&emac { 98089bee8dSClément Péron pinctrl-names = "default"; 99089bee8dSClément Péron pinctrl-0 = <&ext_rgmii_pins>; 10097a38c1cSClément Péron phy-mode = "rgmii-id"; 101089bee8dSClément Péron phy-handle = <&ext_rgmii_phy>; 102089bee8dSClément Péron phy-supply = <®_aldo2>; 103089bee8dSClément Péron status = "okay"; 104089bee8dSClément Péron}; 105089bee8dSClément Péron 1068abc4c4aSClément Péron&gpu { 1078abc4c4aSClément Péron mali-supply = <®_dcdcc>; 1088abc4c4aSClément Péron status = "okay"; 1098abc4c4aSClément Péron}; 1108abc4c4aSClément Péron 111089bee8dSClément Péron&hdmi { 112089bee8dSClément Péron status = "okay"; 113089bee8dSClément Péron}; 114089bee8dSClément Péron 115089bee8dSClément Péron&hdmi_out { 116089bee8dSClément Péron hdmi_out_con: endpoint { 117089bee8dSClément Péron remote-endpoint = <&hdmi_con_in>; 118089bee8dSClément Péron }; 119089bee8dSClément Péron}; 120089bee8dSClément Péron 121089bee8dSClément Péron&mdio { 122089bee8dSClément Péron ext_rgmii_phy: ethernet-phy@1 { 123089bee8dSClément Péron compatible = "ethernet-phy-ieee802.3-c22"; 124089bee8dSClément Péron reg = <1>; 125089bee8dSClément Péron }; 126089bee8dSClément Péron}; 127089bee8dSClément Péron 128089bee8dSClément Péron&mmc0 { 129089bee8dSClément Péron vmmc-supply = <®_cldo1>; 130089bee8dSClément Péron cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 131089bee8dSClément Péron bus-width = <4>; 132089bee8dSClément Péron status = "okay"; 133089bee8dSClément Péron}; 134089bee8dSClément Péron 135089bee8dSClément Péron&mmc2 { 136089bee8dSClément Péron vmmc-supply = <®_cldo1>; 137089bee8dSClément Péron vqmmc-supply = <®_bldo2>; 138089bee8dSClément Péron non-removable; 139089bee8dSClément Péron cap-mmc-hw-reset; 140089bee8dSClément Péron bus-width = <8>; 141089bee8dSClément Péron status = "okay"; 142089bee8dSClément Péron}; 143089bee8dSClément Péron 144089bee8dSClément Péron&ohci0 { 145089bee8dSClément Péron status = "okay"; 146089bee8dSClément Péron}; 147089bee8dSClément Péron 148089bee8dSClément Péron&pio { 149089bee8dSClément Péron vcc-pd-supply = <®_cldo1>; 150089bee8dSClément Péron vcc-pg-supply = <®_aldo1>; 151089bee8dSClément Péron}; 152089bee8dSClément Péron 153*531fdbeeSSamuel Holland&r_ir { 154*531fdbeeSSamuel Holland linux,rc-map-name = "rc-beelink-gs1"; 155*531fdbeeSSamuel Holland status = "okay"; 156*531fdbeeSSamuel Holland}; 157*531fdbeeSSamuel Holland 158*531fdbeeSSamuel Holland&r_pio { 159*531fdbeeSSamuel Holland /* 160*531fdbeeSSamuel Holland * FIXME: We can't add that supply for now since it would 161*531fdbeeSSamuel Holland * create a circular dependency between pinctrl, the regulator 162*531fdbeeSSamuel Holland * and the RSB Bus. 163*531fdbeeSSamuel Holland * 164*531fdbeeSSamuel Holland * vcc-pl-supply = <®_aldo1>; 165*531fdbeeSSamuel Holland */ 166*531fdbeeSSamuel Holland vcc-pm-supply = <®_aldo1>; 167*531fdbeeSSamuel Holland}; 168*531fdbeeSSamuel Holland 169*531fdbeeSSamuel Holland&r_rsb { 170089bee8dSClément Péron status = "okay"; 171089bee8dSClément Péron 172*531fdbeeSSamuel Holland axp805: pmic@745 { 173089bee8dSClément Péron compatible = "x-powers,axp805", "x-powers,axp806"; 174*531fdbeeSSamuel Holland reg = <0x745>; 175089bee8dSClément Péron interrupt-parent = <&r_intc>; 17673088dfeSSamuel Holland interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; 177089bee8dSClément Péron interrupt-controller; 178089bee8dSClément Péron #interrupt-cells = <1>; 179089bee8dSClément Péron x-powers,self-working-mode; 180089bee8dSClément Péron vina-supply = <®_vcc5v>; 181089bee8dSClément Péron vinb-supply = <®_vcc5v>; 182089bee8dSClément Péron vinc-supply = <®_vcc5v>; 183089bee8dSClément Péron vind-supply = <®_vcc5v>; 184089bee8dSClément Péron vine-supply = <®_vcc5v>; 185089bee8dSClément Péron aldoin-supply = <®_vcc5v>; 186089bee8dSClément Péron bldoin-supply = <®_vcc5v>; 187089bee8dSClément Péron cldoin-supply = <®_vcc5v>; 188089bee8dSClément Péron 189089bee8dSClément Péron regulators { 190089bee8dSClément Péron reg_aldo1: aldo1 { 191089bee8dSClément Péron regulator-always-on; 192089bee8dSClément Péron regulator-min-microvolt = <3300000>; 193089bee8dSClément Péron regulator-max-microvolt = <3300000>; 194089bee8dSClément Péron regulator-name = "vcc-pl"; 195089bee8dSClément Péron }; 196089bee8dSClément Péron 197089bee8dSClément Péron reg_aldo2: aldo2 { 198089bee8dSClément Péron regulator-min-microvolt = <3300000>; 199089bee8dSClément Péron regulator-max-microvolt = <3300000>; 200089bee8dSClément Péron regulator-name = "vcc-ac200"; 201089bee8dSClément Péron regulator-enable-ramp-delay = <100000>; 202089bee8dSClément Péron }; 203089bee8dSClément Péron 204089bee8dSClément Péron reg_aldo3: aldo3 { 205089bee8dSClément Péron regulator-always-on; 206089bee8dSClément Péron regulator-min-microvolt = <3300000>; 207089bee8dSClément Péron regulator-max-microvolt = <3300000>; 208089bee8dSClément Péron regulator-name = "vcc25-dram"; 209089bee8dSClément Péron }; 210089bee8dSClément Péron 211089bee8dSClément Péron reg_bldo1: bldo1 { 212089bee8dSClément Péron regulator-always-on; 213089bee8dSClément Péron regulator-min-microvolt = <1800000>; 214089bee8dSClément Péron regulator-max-microvolt = <1800000>; 215089bee8dSClément Péron regulator-name = "vcc-bias-pll"; 216089bee8dSClément Péron }; 217089bee8dSClément Péron 218089bee8dSClément Péron reg_bldo2: bldo2 { 219089bee8dSClément Péron regulator-always-on; 220089bee8dSClément Péron regulator-min-microvolt = <1800000>; 221089bee8dSClément Péron regulator-max-microvolt = <1800000>; 222089bee8dSClément Péron regulator-name = "vcc-efuse-pcie-hdmi-io"; 223089bee8dSClément Péron }; 224089bee8dSClément Péron 225089bee8dSClément Péron reg_bldo3: bldo3 { 226089bee8dSClément Péron regulator-always-on; 227089bee8dSClément Péron regulator-min-microvolt = <1800000>; 228089bee8dSClément Péron regulator-max-microvolt = <1800000>; 229089bee8dSClément Péron regulator-name = "vcc-dcxoio"; 230089bee8dSClément Péron }; 231089bee8dSClément Péron 232089bee8dSClément Péron bldo4 { 233089bee8dSClément Péron /* unused */ 234089bee8dSClément Péron }; 235089bee8dSClément Péron 236089bee8dSClément Péron reg_cldo1: cldo1 { 237089bee8dSClément Péron regulator-always-on; 238089bee8dSClément Péron regulator-min-microvolt = <3300000>; 239089bee8dSClément Péron regulator-max-microvolt = <3300000>; 240089bee8dSClément Péron regulator-name = "vcc-3v3"; 241089bee8dSClément Péron }; 242089bee8dSClément Péron 243089bee8dSClément Péron reg_cldo2: cldo2 { 244089bee8dSClément Péron regulator-min-microvolt = <3300000>; 245089bee8dSClément Péron regulator-max-microvolt = <3300000>; 246089bee8dSClément Péron regulator-name = "vcc-wifi-1"; 247089bee8dSClément Péron }; 248089bee8dSClément Péron 249089bee8dSClément Péron reg_cldo3: cldo3 { 250089bee8dSClément Péron regulator-min-microvolt = <3300000>; 251089bee8dSClément Péron regulator-max-microvolt = <3300000>; 252089bee8dSClément Péron regulator-name = "vcc-wifi-2"; 253089bee8dSClément Péron }; 254089bee8dSClément Péron 255089bee8dSClément Péron reg_dcdca: dcdca { 256089bee8dSClément Péron regulator-always-on; 257089bee8dSClément Péron regulator-min-microvolt = <810000>; 25867533f87SClément Péron regulator-max-microvolt = <1160000>; 25967533f87SClément Péron regulator-ramp-delay = <2500>; 260089bee8dSClément Péron regulator-name = "vdd-cpu"; 261089bee8dSClément Péron }; 262089bee8dSClément Péron 263089bee8dSClément Péron reg_dcdcc: dcdcc { 2648abc4c4aSClément Péron regulator-enable-ramp-delay = <32000>; 265089bee8dSClément Péron regulator-min-microvolt = <810000>; 266089bee8dSClément Péron regulator-max-microvolt = <1080000>; 26767533f87SClément Péron regulator-ramp-delay = <2500>; 268089bee8dSClément Péron regulator-name = "vdd-gpu"; 269089bee8dSClément Péron }; 270089bee8dSClément Péron 271089bee8dSClément Péron reg_dcdcd: dcdcd { 272089bee8dSClément Péron regulator-always-on; 273089bee8dSClément Péron regulator-min-microvolt = <960000>; 274089bee8dSClément Péron regulator-max-microvolt = <960000>; 275089bee8dSClément Péron regulator-name = "vdd-sys"; 276089bee8dSClément Péron }; 277089bee8dSClément Péron 278089bee8dSClément Péron reg_dcdce: dcdce { 279089bee8dSClément Péron regulator-always-on; 280089bee8dSClément Péron regulator-min-microvolt = <1200000>; 281089bee8dSClément Péron regulator-max-microvolt = <1200000>; 282089bee8dSClément Péron regulator-name = "vcc-dram"; 283089bee8dSClément Péron }; 284089bee8dSClément Péron 285089bee8dSClément Péron sw { 286089bee8dSClément Péron /* unused */ 287089bee8dSClément Péron }; 288089bee8dSClément Péron }; 289089bee8dSClément Péron }; 290089bee8dSClément Péron}; 291089bee8dSClément Péron 29232507b86SJernej Skrabec&rtc { 29332507b86SJernej Skrabec clocks = <&ext_osc32k>; 29432507b86SJernej Skrabec}; 29532507b86SJernej Skrabec 29645dd5cf8SClément Péron&spdif { 29745dd5cf8SClément Péron status = "okay"; 29845dd5cf8SClément Péron}; 29945dd5cf8SClément Péron 300089bee8dSClément Péron&uart0 { 301089bee8dSClément Péron pinctrl-names = "default"; 302089bee8dSClément Péron pinctrl-0 = <&uart0_ph_pins>; 303089bee8dSClément Péron status = "okay"; 304089bee8dSClément Péron}; 305089bee8dSClément Péron 306089bee8dSClément Péron&usb2otg { 307089bee8dSClément Péron dr_mode = "host"; 308089bee8dSClément Péron status = "okay"; 309089bee8dSClément Péron}; 310089bee8dSClément Péron 311089bee8dSClément Péron&usb2phy { 312089bee8dSClément Péron usb0_vbus-supply = <®_vcc5v>; 313089bee8dSClément Péron status = "okay"; 314089bee8dSClément Péron}; 31559f3f4dcSClément Péron 31659f3f4dcSClément Péron&usb3phy { 31759f3f4dcSClément Péron status = "okay"; 31859f3f4dcSClément Péron}; 319