1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (C) 2019 Ondřej Jirman <megous@megous.com>
6 #include "sun50i-h6.dtsi"
7 #include "sun50i-h6-cpu-opp.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
13 compatible = "xunlong,orangepi-3", "allwinner,sun50i-h6";
21 stdout-path = "serial0:115200n8";
25 compatible = "hdmi-connector";
26 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
30 hdmi_con_in: endpoint {
31 remote-endpoint = <&hdmi_out_con>;
36 ext_osc32k: ext_osc32k_clk {
38 compatible = "fixed-clock";
39 clock-frequency = <32768>;
40 clock-output-names = "ext_osc32k";
44 compatible = "gpio-leds";
47 label = "orangepi:red:power";
48 gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
53 label = "orangepi:green:status";
54 gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
59 /* board wide 5V supply directly from the DC jack */
60 compatible = "regulator-fixed";
61 regulator-name = "vcc-5v";
62 regulator-min-microvolt = <5000000>;
63 regulator-max-microvolt = <5000000>;
67 reg_vcc33_wifi: vcc33-wifi {
68 /* Always on 3.3V regulator for WiFi and BT */
69 compatible = "regulator-fixed";
70 regulator-name = "vcc33-wifi";
71 regulator-min-microvolt = <3300000>;
72 regulator-max-microvolt = <3300000>;
74 vin-supply = <®_vcc5v>;
77 reg_vcc_wifi_io: vcc-wifi-io {
78 /* Always on 1.8V/300mA regulator for WiFi and BT IO */
79 compatible = "regulator-fixed";
80 regulator-name = "vcc-wifi-io";
81 regulator-min-microvolt = <1800000>;
82 regulator-max-microvolt = <1800000>;
84 vin-supply = <®_vcc33_wifi>;
87 wifi_pwrseq: wifi-pwrseq {
88 compatible = "mmc-pwrseq-simple";
90 clock-names = "ext_clock";
91 reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
92 post-power-on-delay-ms = <200>;
97 cpu-supply = <®_dcdca>;
117 mali-supply = <®_dcdcc>;
126 hdmi_out_con: endpoint {
127 remote-endpoint = <&hdmi_con_in>;
132 vmmc-supply = <®_cldo1>;
133 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
139 vmmc-supply = <®_vcc33_wifi>;
140 vqmmc-supply = <®_vcc_wifi_io>;
141 mmc-pwrseq = <&wifi_pwrseq>;
148 compatible = "brcm,bcm4329-fmac";
149 interrupt-parent = <&r_pio>;
150 interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
151 interrupt-names = "host-wake";
156 vmmc-supply = <®_cldo1>;
157 vqmmc-supply = <®_bldo2>;
173 vcc-pc-supply = <®_bldo2>;
174 vcc-pd-supply = <®_cldo1>;
175 vcc-pg-supply = <®_vcc_wifi_io>;
182 compatible = "x-powers,axp805", "x-powers,axp806";
184 interrupt-parent = <&r_intc>;
185 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
186 interrupt-controller;
187 #interrupt-cells = <1>;
188 x-powers,self-working-mode;
189 vina-supply = <®_vcc5v>;
190 vinb-supply = <®_vcc5v>;
191 vinc-supply = <®_vcc5v>;
192 vind-supply = <®_vcc5v>;
193 vine-supply = <®_vcc5v>;
194 aldoin-supply = <®_vcc5v>;
195 bldoin-supply = <®_vcc5v>;
196 cldoin-supply = <®_vcc5v>;
201 regulator-min-microvolt = <3300000>;
202 regulator-max-microvolt = <3300000>;
203 regulator-name = "vcc-pl-led-ir";
207 regulator-min-microvolt = <3300000>;
208 regulator-max-microvolt = <3300000>;
209 regulator-name = "vcc33-audio-tv-ephy-mac";
212 /* ALDO3 is shorted to CLDO1 */
215 regulator-min-microvolt = <3300000>;
216 regulator-max-microvolt = <3300000>;
217 regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1";
222 regulator-min-microvolt = <1800000>;
223 regulator-max-microvolt = <1800000>;
224 regulator-name = "vcc18-dram-bias-pll";
229 regulator-min-microvolt = <1800000>;
230 regulator-max-microvolt = <1800000>;
231 regulator-name = "vcc-efuse-pcie-hdmi-pc";
244 regulator-min-microvolt = <3300000>;
245 regulator-max-microvolt = <3300000>;
246 regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
259 regulator-min-microvolt = <800000>;
260 regulator-max-microvolt = <1160000>;
261 regulator-ramp-delay = <2500>;
262 regulator-name = "vdd-cpu";
266 regulator-enable-ramp-delay = <32000>;
267 regulator-min-microvolt = <810000>;
268 regulator-max-microvolt = <1080000>;
269 regulator-ramp-delay = <2500>;
270 regulator-name = "vdd-gpu";
275 regulator-min-microvolt = <960000>;
276 regulator-max-microvolt = <960000>;
277 regulator-name = "vdd-sys";
282 regulator-min-microvolt = <1200000>;
283 regulator-max-microvolt = <1200000>;
284 regulator-name = "vcc-dram";
299 clocks = <&ext_osc32k>;
303 pinctrl-names = "default";
304 pinctrl-0 = <&uart0_ph_pins>;
308 /* There's the BT part of the AP6256 connected to that UART */
310 pinctrl-names = "default";
311 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
316 compatible = "brcm,bcm4345c5";
319 device-wakeup-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
320 host-wakeup-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
321 shutdown-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
322 max-speed = <1500000>;
328 * This board doesn't have a controllable VBUS even though it
329 * does have an ID pin. Using it as anything but a USB host is
337 usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */
338 usb0_vbus-supply = <®_vcc5v>;
339 usb3_vbus-supply = <®_vcc5v>;