0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 // Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
0003
0004 /dts-v1/;
0005
0006 #include "sun50i-h5.dtsi"
0007
0008 #include <dt-bindings/gpio/gpio.h>
0009
0010 / {
0011 model = "OrangePi Zero Plus2";
0012 compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5";
0013
0014 aliases {
0015 serial0 = &uart0;
0016 };
0017
0018 chosen {
0019 stdout-path = "serial0:115200n8";
0020 };
0021
0022 connector {
0023 compatible = "hdmi-connector";
0024 type = "a";
0025
0026 port {
0027 hdmi_con_in: endpoint {
0028 remote-endpoint = <&hdmi_out_con>;
0029 };
0030 };
0031 };
0032
0033 leds {
0034 compatible = "gpio-leds";
0035
0036 led-0 {
0037 label = "orangepi:green:pwr";
0038 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
0039 default-state = "on";
0040 };
0041
0042 led-1 {
0043 label = "orangepi:red:status";
0044 gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>;
0045 };
0046 };
0047
0048 reg_vcc3v3: vcc3v3 {
0049 compatible = "regulator-fixed";
0050 regulator-name = "vcc3v3";
0051 regulator-min-microvolt = <3300000>;
0052 regulator-max-microvolt = <3300000>;
0053 };
0054
0055 wifi_pwrseq: wifi_pwrseq {
0056 compatible = "mmc-pwrseq-simple";
0057 reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
0058 post-power-on-delay-ms = <200>;
0059 };
0060 };
0061
0062 &de {
0063 status = "okay";
0064 };
0065
0066 &ehci0 {
0067 status = "okay";
0068 };
0069
0070 &hdmi {
0071 status = "okay";
0072 };
0073
0074 &hdmi_out {
0075 hdmi_out_con: endpoint {
0076 remote-endpoint = <&hdmi_con_in>;
0077 };
0078 };
0079
0080 &mmc0 {
0081 vmmc-supply = <®_vcc3v3>;
0082 bus-width = <4>;
0083 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
0084 status = "okay";
0085 };
0086
0087 &mmc1 {
0088 vmmc-supply = <®_vcc3v3>;
0089 vqmmc-supply = <®_vcc3v3>;
0090 mmc-pwrseq = <&wifi_pwrseq>;
0091 bus-width = <4>;
0092 non-removable;
0093 status = "okay";
0094
0095 brcmf: wifi@1 {
0096 reg = <1>;
0097 compatible = "brcm,bcm4329-fmac";
0098 interrupt-parent = <&r_pio>;
0099 interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
0100 interrupt-names = "host-wake";
0101 };
0102 };
0103
0104 &mmc2 {
0105 pinctrl-names = "default";
0106 pinctrl-0 = <&mmc2_8bit_pins>;
0107 vmmc-supply = <®_vcc3v3>;
0108 bus-width = <8>;
0109 non-removable;
0110 cap-mmc-hw-reset;
0111 status = "okay";
0112 };
0113
0114 &ohci0 {
0115 status = "okay";
0116 };
0117
0118 &uart0 {
0119 pinctrl-names = "default";
0120 pinctrl-0 = <&uart0_pa_pins>;
0121 status = "okay";
0122 };
0123
0124 &uart1 {
0125 pinctrl-names = "default";
0126 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
0127 status = "okay";
0128 };
0129
0130 &usb_otg {
0131 /*
0132 * According to schematics CN1 MicroUSB port can be used to take
0133 * external 5V to power up the board VBUS. On the contrary CN1 MicroUSB
0134 * port cannot provide power externally even if the board is powered
0135 * via GPIO pins. It thus makes sense to force peripheral mode.
0136 */
0137 dr_mode = "peripheral";
0138 status = "okay";
0139 };
0140
0141 &usbphy {
0142 status = "okay";
0143 };