xref: /linux/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts (revision 26bda0dff9ca74ae071643e0176f248d72f43580)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
3
4/dts-v1/;
5
6#include "sun50i-h5.dtsi"
7
8#include <dt-bindings/gpio/gpio.h>
9
10/ {
11	model = "OrangePi Zero Plus2";
12	compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5";
13
14	aliases {
15		serial0 = &uart0;
16	};
17
18	chosen {
19		stdout-path = "serial0:115200n8";
20	};
21
22	connector {
23		compatible = "hdmi-connector";
24		type = "a";
25
26		port {
27			hdmi_con_in: endpoint {
28				remote-endpoint = <&hdmi_out_con>;
29			};
30		};
31	};
32
33	leds {
34		compatible = "gpio-leds";
35
36		led-0 {
37			label = "orangepi:green:pwr";
38			gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
39			default-state = "on";
40		};
41
42		led-1 {
43			label = "orangepi:red:status";
44			gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>;
45		};
46	};
47
48	reg_vcc3v3: vcc3v3 {
49		compatible = "regulator-fixed";
50		regulator-name = "vcc3v3";
51		regulator-min-microvolt = <3300000>;
52		regulator-max-microvolt = <3300000>;
53	};
54
55	wifi_pwrseq: pwrseq {
56		compatible = "mmc-pwrseq-simple";
57		reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
58		post-power-on-delay-ms = <200>;
59	};
60};
61
62&de {
63	status = "okay";
64};
65
66&ehci0 {
67	status = "okay";
68};
69
70&hdmi {
71	status = "okay";
72};
73
74&hdmi_out {
75	hdmi_out_con: endpoint {
76		remote-endpoint = <&hdmi_con_in>;
77	};
78};
79
80&mmc0 {
81	vmmc-supply = <&reg_vcc3v3>;
82	disable-wp;
83	bus-width = <4>;
84	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
85	status = "okay";
86};
87
88&mmc1 {
89	vmmc-supply = <&reg_vcc3v3>;
90	vqmmc-supply = <&reg_vcc3v3>;
91	mmc-pwrseq = <&wifi_pwrseq>;
92	bus-width = <4>;
93	non-removable;
94	status = "okay";
95
96	brcmf: wifi@1 {
97		reg = <1>;
98		compatible = "brcm,bcm4329-fmac";
99		interrupt-parent = <&r_pio>;
100		interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>;	/* PL7 */
101		interrupt-names = "host-wake";
102	};
103};
104
105&mmc2 {
106	pinctrl-names = "default";
107	pinctrl-0 = <&mmc2_8bit_pins>;
108	vmmc-supply = <&reg_vcc3v3>;
109	bus-width = <8>;
110	non-removable;
111	cap-mmc-hw-reset;
112	status = "okay";
113};
114
115&ohci0 {
116	status = "okay";
117};
118
119&uart0 {
120	pinctrl-names = "default";
121	pinctrl-0 = <&uart0_pa_pins>;
122	status = "okay";
123};
124
125&uart1 {
126	pinctrl-names = "default";
127	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
128	status = "okay";
129};
130
131&usb_otg {
132	/*
133	 * According to schematics CN1 MicroUSB port can be used to take
134	 * external 5V to power up the board VBUS. On the contrary CN1 MicroUSB
135	 * port cannot provide power externally even if the board is powered
136	 * via GPIO pins. It thus makes sense to force peripheral mode.
137	 */
138	dr_mode = "peripheral";
139	status = "okay";
140};
141
142&usbphy {
143	status = "okay";
144};
145