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