1b4b8f2c9SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2cabbaed7SClément Péron// Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
3ea43d9b8SJagan Teki
4ea43d9b8SJagan Teki/dts-v1/;
5ea43d9b8SJagan Teki
6ea43d9b8SJagan Teki#include "sun50i-h5.dtsi"
7ea43d9b8SJagan Teki
8ea43d9b8SJagan Teki#include <dt-bindings/gpio/gpio.h>
9ea43d9b8SJagan Teki
10ea43d9b8SJagan Teki/ {
11ea43d9b8SJagan Teki	model = "OrangePi Zero Plus2";
12ea43d9b8SJagan Teki	compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5";
13ea43d9b8SJagan Teki
14ea43d9b8SJagan Teki	aliases {
15ea43d9b8SJagan Teki		serial0 = &uart0;
16ea43d9b8SJagan Teki	};
17ea43d9b8SJagan Teki
18ea43d9b8SJagan Teki	chosen {
19ea43d9b8SJagan Teki		stdout-path = "serial0:115200n8";
20ea43d9b8SJagan Teki	};
21ea43d9b8SJagan Teki
2222821975SJernej Skrabec	connector {
2322821975SJernej Skrabec		compatible = "hdmi-connector";
2422821975SJernej Skrabec		type = "a";
2522821975SJernej Skrabec
2622821975SJernej Skrabec		port {
2722821975SJernej Skrabec			hdmi_con_in: endpoint {
2822821975SJernej Skrabec				remote-endpoint = <&hdmi_out_con>;
2922821975SJernej Skrabec			};
3022821975SJernej Skrabec		};
3122821975SJernej Skrabec	};
3222821975SJernej Skrabec
33ea43d9b8SJagan Teki	reg_vcc3v3: vcc3v3 {
34ea43d9b8SJagan Teki		compatible = "regulator-fixed";
35ea43d9b8SJagan Teki		regulator-name = "vcc3v3";
36ea43d9b8SJagan Teki		regulator-min-microvolt = <3300000>;
37ea43d9b8SJagan Teki		regulator-max-microvolt = <3300000>;
38ea43d9b8SJagan Teki	};
39cf8e19e1SSergey Matyukevich
40cf8e19e1SSergey Matyukevich	wifi_pwrseq: wifi_pwrseq {
41cf8e19e1SSergey Matyukevich		compatible = "mmc-pwrseq-simple";
42cf8e19e1SSergey Matyukevich		reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
43cf8e19e1SSergey Matyukevich		post-power-on-delay-ms = <200>;
44cf8e19e1SSergey Matyukevich	};
45ea43d9b8SJagan Teki};
46ea43d9b8SJagan Teki
4722821975SJernej Skrabec&de {
4822821975SJernej Skrabec	status = "okay";
4922821975SJernej Skrabec};
5022821975SJernej Skrabec
5122821975SJernej Skrabec&hdmi {
5222821975SJernej Skrabec	status = "okay";
5322821975SJernej Skrabec};
5422821975SJernej Skrabec
5522821975SJernej Skrabec&hdmi_out {
5622821975SJernej Skrabec	hdmi_out_con: endpoint {
5722821975SJernej Skrabec		remote-endpoint = <&hdmi_con_in>;
5822821975SJernej Skrabec	};
5922821975SJernej Skrabec};
6022821975SJernej Skrabec
61ea43d9b8SJagan Teki&mmc0 {
62ea43d9b8SJagan Teki	vmmc-supply = <&reg_vcc3v3>;
63ea43d9b8SJagan Teki	bus-width = <4>;
64f88e9301SSergey Matyukevich	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
65ea43d9b8SJagan Teki	status = "okay";
66ea43d9b8SJagan Teki};
67ea43d9b8SJagan Teki
68cf8e19e1SSergey Matyukevich&mmc1 {
69cf8e19e1SSergey Matyukevich	vmmc-supply = <&reg_vcc3v3>;
70cf8e19e1SSergey Matyukevich	vqmmc-supply = <&reg_vcc3v3>;
71cf8e19e1SSergey Matyukevich	mmc-pwrseq = <&wifi_pwrseq>;
72cf8e19e1SSergey Matyukevich	bus-width = <4>;
73cf8e19e1SSergey Matyukevich	non-removable;
74cf8e19e1SSergey Matyukevich	status = "okay";
75cf8e19e1SSergey Matyukevich
76cf8e19e1SSergey Matyukevich	brcmf: wifi@1 {
77cf8e19e1SSergey Matyukevich		reg = <1>;
78cf8e19e1SSergey Matyukevich		compatible = "brcm,bcm4329-fmac";
79cf8e19e1SSergey Matyukevich		interrupt-parent = <&r_pio>;
80cf8e19e1SSergey Matyukevich		interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>;	/* PL7 */
81cf8e19e1SSergey Matyukevich		interrupt-names = "host-wake";
82cf8e19e1SSergey Matyukevich	};
83cf8e19e1SSergey Matyukevich};
84cf8e19e1SSergey Matyukevich
85ea43d9b8SJagan Teki&mmc2 {
86ea43d9b8SJagan Teki	pinctrl-names = "default";
87ea43d9b8SJagan Teki	pinctrl-0 = <&mmc2_8bit_pins>;
88ea43d9b8SJagan Teki	vmmc-supply = <&reg_vcc3v3>;
89ea43d9b8SJagan Teki	bus-width = <8>;
90ea43d9b8SJagan Teki	non-removable;
91ea43d9b8SJagan Teki	cap-mmc-hw-reset;
92ea43d9b8SJagan Teki	status = "okay";
93ea43d9b8SJagan Teki};
94ea43d9b8SJagan Teki
95ea43d9b8SJagan Teki&uart0 {
96ea43d9b8SJagan Teki	pinctrl-names = "default";
97a4dc7919SMaxime Ripard	pinctrl-0 = <&uart0_pa_pins>;
98ea43d9b8SJagan Teki	status = "okay";
99ea43d9b8SJagan Teki};
100cf8e19e1SSergey Matyukevich
101cf8e19e1SSergey Matyukevich&uart1 {
102cf8e19e1SSergey Matyukevich	pinctrl-names = "default";
103cf8e19e1SSergey Matyukevich	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
104cf8e19e1SSergey Matyukevich	status = "okay";
105cf8e19e1SSergey Matyukevich};
106