sunxi: DT: H5: update board .dts files from Linux

Update the .dts file for the various boards with an Allwinner H5 SoC.
This is as of v4.18-rc3, exactly Linux commit:
commit af5d05bdc99c211729cba0a3d5417bccfa308caf
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Tue Apr 24 13:47:14 2018 +0200

    arm64: dts: allwinner: Add dts file for Libre Computer Board ALL-H3-CC H5 ver.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Acked-by: Jagan Teki <jagan@amarulasolutions.com>
lime2-spi
Andre Przywara 6 years ago committed by Jagan Teki
parent 7514ed33d2
commit 1caeae375f
  1. 5
      arch/arm/dts/sun50i-h5-libretech-all-h3-cc.dts
  2. 120
      arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
  3. 89
      arch/arm/dts/sun50i-h5-nanopi-neo2.dts
  4. 149
      arch/arm/dts/sun50i-h5-orangepi-pc2.dts
  5. 174
      arch/arm/dts/sun50i-h5-orangepi-prime.dts
  6. 62
      arch/arm/dts/sun50i-h5-orangepi-zero-plus2.dts

@ -1,11 +1,12 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/* /*
* Copyright (C) 2018 Chen-Yu Tsai <wens@csie.org> * Copyright (C) 2018 BayLibre, SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/ */
/dts-v1/; /dts-v1/;
#include "sun50i-h5.dtsi" #include "sun50i-h5.dtsi"
#include "sunxi-libretech-all-h3-cc.dtsi" #include <sunxi-libretech-all-h3-cc.dtsi>
/ { / {
model = "Libre Computer Board ALL-H3-CC H5"; model = "Libre Computer Board ALL-H3-CC H5";

@ -1,18 +1,18 @@
/* /*
* Copyright (C) 2017 Antony Antony <antony@phenome.org> * Copyright (C) 2017 Antony Antony <antony@phenome.org>
* Copyright (c) 2016 ARM Ltd. * Copyright (C) 2016 ARM Ltd.
* *
* This file is dual-licensed: you can use it either under the terms * This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual * of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a * licensing only applies to this file, and not this project as a
* whole. * whole.
* *
* a) This library is free software; you can redistribute it and/or * a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This library is distributed in the hope that it will be useful, * This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
@ -42,16 +42,18 @@
*/ */
/dts-v1/; /dts-v1/;
#include "sun50i-h5.dtsi" #include "sun50i-h5.dtsi"
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>
/ { / {
model = "FriendlyARM NanoPi NEO Plus 2"; model = "FriendlyARM NanoPi NEO Plus2";
compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5"; compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
aliases { aliases {
ethernet0 = &emac;
serial0 = &uart0; serial0 = &uart0;
}; };
@ -59,24 +61,114 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
leds {
compatible = "gpio-leds";
pwr {
label = "nanopi:green:pwr";
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
status {
label = "nanopi:red:status";
gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
};
};
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
pinctrl-names = "default";
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
};
reg_vcc3v3: vcc3v3 { reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vcc3v3"; regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
vdd_cpux: gpio-regulator {
compatible = "regulator-gpio";
pinctrl-names = "default";
regulator-name = "vdd-cpux";
regulator-type = "voltage";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <50>; /* 4ms */
gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>;
gpios-states = <0x1>;
states = <1100000 0x0
1300000 0x1>;
};
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
post-power-on-delay-ms = <200>;
};
};
&codec {
allwinner,audio-routing =
"Line Out", "LINEOUT",
"MIC1", "Mic",
"Mic", "MBIAS";
status = "okay";
}; };
&ehci1 { &ehci0 {
status = "okay"; status = "okay";
}; };
&ehci3 {
status = "okay";
};
&emac {
pinctrl-names = "default";
pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii";
status = "okay";
};
&external_mdio {
ext_rgmii_phy: ethernet-phy@7 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <7>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted; status = "okay";
};
&mmc1 {
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay"; status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
}; };
&mmc2 { &mmc2 {
@ -89,7 +181,11 @@
status = "okay"; status = "okay";
}; };
&ohci1 { &ohci0 {
status = "okay";
};
&ohci3 {
status = "okay"; status = "okay";
}; };
@ -99,6 +195,12 @@
status = "okay"; status = "okay";
}; };
&usb_otg {
dr_mode = "host";
status = "okay";
};
&usbphy { &usbphy {
/* USB Type-A ports' VBUS is always on */
status = "okay"; status = "okay";
}; };

@ -1,18 +1,17 @@
/* /*
* Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
* Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
* *
* This file is dual-licensed: you can use it either under the terms * This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual * of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a * licensing only applies to this file, and not this project as a
* whole. * whole.
* *
* a) This library is free software; you can redistribute it and/or * a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This library is distributed in the hope that it will be useful, * This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
@ -42,7 +41,6 @@
*/ */
/dts-v1/; /dts-v1/;
#include "sun50i-h5.dtsi" #include "sun50i-h5.dtsi"
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
@ -52,6 +50,7 @@
compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5"; compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5";
aliases { aliases {
ethernet0 = &emac;
serial0 = &uart0; serial0 = &uart0;
}; };
@ -59,26 +58,102 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
leds {
compatible = "gpio-leds";
pwr {
label = "nanopi:green:pwr";
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
status {
label = "nanopi:blue:status";
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
};
};
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
};
reg_vcc3v3: vcc3v3 { reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vcc3v3"; regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
reg_usb0_vbus: usb0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb0-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
status = "okay";
};
};
&ehci0 {
status = "okay";
};
&ehci3 {
status = "okay";
};
&emac {
pinctrl-names = "default";
pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii";
status = "okay";
};
&external_mdio {
ext_rgmii_phy: ethernet-phy@7 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <7>;
};
}; };
&mmc0 { &mmc0 {
compatible = "allwinner,sun50i-h5-mmc",
"allwinner,sun50i-a64-mmc",
"allwinner,sun5i-a13-mmc";
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay"; status = "okay";
}; };
&ohci0 {
status = "okay";
};
&ohci3 {
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pins_a>;
status = "okay"; status = "okay";
}; };
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
/* USB Type-A port's VBUS is always on */
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
usb0_vbus-supply = <&reg_usb0_vbus>;
status = "okay";
};

@ -1,17 +1,17 @@
/* /*
* Copyright (c) 2016 ARM Ltd. * Copyright (C) 2016 ARM Ltd.
* *
* This file is dual-licensed: you can use it either under the terms * This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual * of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a * licensing only applies to this file, and not this project as a
* whole. * whole.
* *
* a) This library is free software; you can redistribute it and/or * a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This library is distributed in the hope that it will be useful, * This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
@ -41,36 +41,99 @@
*/ */
/dts-v1/; /dts-v1/;
#include "sun50i-h5.dtsi" #include "sun50i-h5.dtsi"
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>
/ { / {
model = "OrangePi PC 2"; model = "Xunlong Orange Pi PC 2";
compatible = "xunlong,orangepi-pc-2", "allwinner,sun50i-h5"; compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5";
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
aliases { aliases {
serial0 = &uart0;
ethernet0 = &emac; ethernet0 = &emac;
serial0 = &uart0;
}; };
chosen { chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
memory { connector {
reg = <0x40000000 0x40000000>; compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
leds {
compatible = "gpio-leds";
pwr {
label = "orangepi:green:pwr";
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
status {
label = "orangepi:red:status";
gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
};
}; };
soc { r-gpio-keys {
reg_vcc3v3: vcc3v3 { compatible = "gpio-keys";
compatible = "regulator-fixed";
regulator-name = "vcc3v3"; sw4 {
regulator-min-microvolt = <3300000>; label = "sw4";
regulator-max-microvolt = <3300000>; linux,code = <BTN_0>;
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
}; };
}; };
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
};
reg_usb0_vbus: usb0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb0-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
status = "okay";
};
};
&codec {
allwinner,audio-routing =
"Line Out", "LINEOUT",
"MIC1", "Mic",
"Mic", "MBIAS";
status = "okay";
};
&de {
status = "okay";
}; };
&ehci0 { &ehci0 {
@ -81,11 +144,20 @@
status = "okay"; status = "okay";
}; };
&ehci2 {
status = "okay";
};
&ehci3 {
status = "okay";
};
&emac { &emac {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&emac_rgmii_pins>; pinctrl-0 = <&emac_rgmii_pins>;
phy-mode = "rgmii"; phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>; phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii";
status = "okay"; status = "okay";
}; };
@ -96,14 +168,26 @@
}; };
}; };
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir {
pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>;
status = "okay";
};
&mmc0 { &mmc0 {
compatible = "allwinner,sun50i-h5-mmc",
"allwinner,sun50i-a64-mmc",
"allwinner,sun5i-a13-mmc";
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted;
status = "okay"; status = "okay";
}; };
@ -115,17 +199,40 @@
status = "okay"; status = "okay";
}; };
&ohci2 {
status = "okay";
};
&ohci3 {
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pins_a>;
status = "okay"; status = "okay";
}; };
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "disabled";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
status = "disabled";
};
&usb_otg { &usb_otg {
dr_mode = "otg"; dr_mode = "otg";
status = "okay"; status = "okay";
}; };
&usbphy { &usbphy {
/* USB Type-A ports' VBUS is always on */
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
usb0_vbus-supply = <&reg_usb0_vbus>;
status = "okay"; status = "okay";
}; };

@ -1,17 +1,20 @@
/* /*
* Copyright (C) 2017 Jagan Teki <jteki@openedev.com> * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
*
* Based on sun50i-h5-orangepi-pc2.dts, which is:
* Copyright (C) 2016 ARM Ltd.
* *
* This file is dual-licensed: you can use it either under the terms * This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual * of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a * licensing only applies to this file, and not this project as a
* whole. * whole.
* *
* a) This library is free software; you can redistribute it and/or * a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This library is distributed in the hope that it will be useful, * This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
@ -41,16 +44,17 @@
*/ */
/dts-v1/; /dts-v1/;
#include "sun50i-h5.dtsi" #include "sun50i-h5.dtsi"
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ { / {
model = "OrangePi Prime"; model = "Xunlong Orange Pi Prime";
compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5"; compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5";
aliases { aliases {
ethernet0 = &emac;
serial0 = &uart0; serial0 = &uart0;
}; };
@ -58,18 +62,85 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
memory { connector {
reg = <0x40000000 0x80000000>; compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
}; };
soc { leds {
reg_vcc3v3: vcc3v3 { compatible = "gpio-leds";
compatible = "regulator-fixed";
regulator-name = "vcc3v3"; pwr {
regulator-min-microvolt = <3300000>; label = "orangepi:green:pwr";
regulator-max-microvolt = <3300000>; gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
default-state = "on";
}; };
status {
label = "orangepi:red:status";
gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
};
};
r-gpio-keys {
compatible = "gpio-keys";
sw4 {
label = "sw4";
linux,code = <BTN_0>;
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
};
};
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
};
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
reg_usb0_vbus: usb0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb0-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
status = "okay";
}; };
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&pio 2 14 GPIO_ACTIVE_LOW>; /* PC14 */
};
};
&codec {
allwinner,audio-routing =
"Line Out", "LINEOUT",
"MIC1", "Mic",
"Mic", "MBIAS";
status = "okay";
};
&de {
status = "okay";
}; };
&ehci0 { &ehci0 {
@ -80,14 +151,58 @@
status = "okay"; status = "okay";
}; };
&ehci2 {
status = "okay";
};
&ehci3 {
status = "okay";
};
&emac {
pinctrl-names = "default";
pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>;
phy-mode = "rgmii";
status = "okay";
};
&external_mdio {
ext_rgmii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
};
&ir {
pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>;
status = "okay";
};
&mmc0 { &mmc0 {
compatible = "allwinner,sun50i-h5-mmc",
"allwinner,sun50i-a64-mmc",
"allwinner,sun5i-a13-mmc";
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
cd-inverted; status = "okay";
};
&mmc1 {
vmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay"; status = "okay";
}; };
@ -99,17 +214,40 @@
status = "okay"; status = "okay";
}; };
&ohci2 {
status = "okay";
};
&ohci3 {
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pins_a>;
status = "okay"; status = "okay";
}; };
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "disabled";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
status = "disabled";
};
&usb_otg { &usb_otg {
dr_mode = "otg"; dr_mode = "otg";
status = "okay"; status = "okay";
}; };
&usbphy { &usbphy {
/* USB Type-A ports' VBUS is always on */
usb0_id_det-gpios = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */
usb0_vbus-supply = <&reg_usb0_vbus>;
status = "okay"; status = "okay";
}; };

@ -46,7 +46,6 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
/ { / {
model = "OrangePi Zero Plus2"; model = "OrangePi Zero Plus2";
compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5"; compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5";
@ -59,25 +58,70 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con_in: endpoint {
remote-endpoint = <&hdmi_out_con>;
};
};
};
reg_vcc3v3: vcc3v3 { reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vcc3v3"; regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
post-power-on-delay-ms = <200>;
};
};
&de {
status = "okay";
};
&hdmi {
status = "okay";
};
&hdmi_out {
hdmi_out_con: endpoint {
remote-endpoint = <&hdmi_con_in>;
};
}; };
&mmc0 { &mmc0 {
compatible = "allwinner,sun50i-h5-mmc",
"allwinner,sun50i-a64-mmc",
"allwinner,sun5i-a13-mmc";
vmmc-supply = <&reg_vcc3v3>; vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>; bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
cd-inverted;
status = "okay"; status = "okay";
}; };
&mmc1 {
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&r_pio>;
interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
interrupt-names = "host-wake";
};
};
&mmc2 { &mmc2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc2_8bit_pins>; pinctrl-0 = <&mmc2_8bit_pins>;
@ -93,3 +137,9 @@
pinctrl-0 = <&uart0_pins_a>; pinctrl-0 = <&uart0_pins_a>;
status = "okay"; status = "okay";
}; };
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
status = "okay";
};

Loading…
Cancel
Save