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