From 3aae5439e31495eb7c5191cc0d84722620a9fe7b Mon Sep 17 00:00:00 2001 From: Igor Pecovnik Date: Thu, 24 May 2018 12:20:26 +0200 Subject: [PATCH] Merge sunxi-next from development branch --- ...-readd-dwmac-sun8i-DT-bindings-arm64.patch | 2 +- .../09-dw-hdmi-add-workarounds.patch | 23 +- .../sunxi-next/add-bananapi-m2-zero.patch | 54 +- .../add-overlay-compilation-support.patch | 12 +- .../sunxi-next/board-add-tritium-h5.patch | 480 ++++++++++++++++++ ...unxi-hdmi-otg_enble-opi-zero2plus-h5.patch | 41 +- 6 files changed, 518 insertions(+), 94 deletions(-) create mode 100644 patch/kernel/sunxi-next/board-add-tritium-h5.patch diff --git a/patch/kernel/sunxi-next/00-readd-dwmac-sun8i-DT-bindings-arm64.patch b/patch/kernel/sunxi-next/00-readd-dwmac-sun8i-DT-bindings-arm64.patch index b557c6f2e..6dcc957cd 100644 --- a/patch/kernel/sunxi-next/00-readd-dwmac-sun8i-DT-bindings-arm64.patch +++ b/patch/kernel/sunxi-next/00-readd-dwmac-sun8i-DT-bindings-arm64.patch @@ -142,7 +142,7 @@ index d891a1a27f6c5..216e3a5dafaef 100644 +&emac { + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_pins>; -+ phy-mode = "rgmii"; ++ phy-mode = "rgmii-txid"; + phy-handle = <&ext_rgmii_phy>; + status = "okay"; +}; diff --git a/patch/kernel/sunxi-next/09-dw-hdmi-add-workarounds.patch b/patch/kernel/sunxi-next/09-dw-hdmi-add-workarounds.patch index 972230657..c2aefd86d 100644 --- a/patch/kernel/sunxi-next/09-dw-hdmi-add-workarounds.patch +++ b/patch/kernel/sunxi-next/09-dw-hdmi-add-workarounds.patch @@ -19,25 +19,22 @@ diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/ index 09cb5a3e4c718..72969240a9d42 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -@@ -1631,9 +1631,10 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) - * then write one of the FC registers several times. - * - * The number of iterations matters and depends on the HDMI TX revision -- * (and possibly on the platform). So far only i.MX6Q (v1.30a) and -- * i.MX6DL (v1.31a) have been identified as needing the workaround, with -- * 4 and 1 iterations respectively. -+ * (and possibly on the platform). So far i.MX6Q (v1.30a), i.MX6DL -+ * (v1.31a) and multiple Allwinner SoCs (v1.32a) have been identified -+ * as needing the workaround, with 4 iterations for v1.30a and 1 -+ * iteration for others. +@@ -1645,7 +1645,9 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + * i.MX6DL (v1.31a) have been identified as needing the workaround, with + * 4 and 1 iterations respectively. + * The Amlogic Meson GX SoCs (v2.01a) have been identified as needing +- * the workaround with a single iteration. ++ * the workaround with a single iteration. and multiple Allwinner SoCs ++ * (v1.32a) have been identified as needing the workaround, with 4 iterations ++ * for v1.30a and 1 iteration for others. */ switch (hdmi->version) { -@@ -1641,6 +1642,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) +@@ -1653,6 +1655,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) count = 4; break; case 0x131a: + case 0x132a: + case 0x201a: count = 1; break; - default: diff --git a/patch/kernel/sunxi-next/add-bananapi-m2-zero.patch b/patch/kernel/sunxi-next/add-bananapi-m2-zero.patch index 4a040fb19..6e0f474ef 100644 --- a/patch/kernel/sunxi-next/add-bananapi-m2-zero.patch +++ b/patch/kernel/sunxi-next/add-bananapi-m2-zero.patch @@ -1,32 +1,5 @@ -From 9270c2efc5e63e8c69338c0cf6c5128fb6808c15 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Thu, 8 Feb 2018 18:06:13 +0800 -Subject: [PATCH] ARM: sun8i: h2+: add support for Banana Pi M2 Zero board - -Banana Pi M2 Zero board is a H2+-based board by Sinovoip, with a form -factor and GPIO holes similar to Raspberry Pi Zero. - -It features: -- Allwinner H2+ SoC -- Single-chip (16-bit) 512MiB DDR3 DRAM -- Ampak AP6212 Wi-Fi/Bluetooth module -- MicroSD slot -- Two MicroUSB Type-B ports (one can only be used to power the board and - the other features OTG functionality) -- Two keys, a reset and a GPIO-connected key. -- HDMI Type-C (miniHDMI) connector connected to the HDMI part of H2+. -- CSI connector to connect the camera sensor provided by Sinovoip. - -Signed-off-by: Icenowy Zheng -Signed-off-by: Maxime Ripard ---- - arch/arm/boot/dts/Makefile | 1 + - .../boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts | 125 +++++++++++++++++++++ - 2 files changed, 126 insertions(+) - create mode 100644 arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts - diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index ade7a38543dc9..d5a17e6e8b0f4 100644 +index e2d218d..88fa9f7 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -917,6 +917,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ @@ -39,10 +12,10 @@ index ade7a38543dc9..d5a17e6e8b0f4 100644 sun8i-h2-plus-sunvell-r69.dtb \ diff --git a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts new file mode 100644 -index 0000000000000..1cdbd9a3ef578 +index 0000000..1e58d7c --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts -@@ -0,0 +1,125 @@ +@@ -0,0 +1,146 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2017 Icenowy Zheng @@ -93,6 +66,23 @@ index 0000000000000..1cdbd9a3ef578 + }; + }; + ++ reg_sy8113b: gpio-regulator { ++ compatible = "regulator-gpio"; ++ 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 1 GPIO_ACTIVE_HIGH>; /* PL1 */ ++ enable-active-high; ++ gpios-states = <0x1>; ++ states = <1100000 0x0 ++ 1300000 0x1>; ++ }; ++ + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; @@ -100,6 +90,10 @@ index 0000000000000..1cdbd9a3ef578 + }; +}; + ++&cpu0 { ++ cpu-supply = <®_sy8113b>; ++}; ++ +&ehci0 { + status = "okay"; +}; diff --git a/patch/kernel/sunxi-next/add-overlay-compilation-support.patch b/patch/kernel/sunxi-next/add-overlay-compilation-support.patch index 877eda1d1..d679f2ac8 100644 --- a/patch/kernel/sunxi-next/add-overlay-compilation-support.patch +++ b/patch/kernel/sunxi-next/add-overlay-compilation-support.patch @@ -19,11 +19,11 @@ diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore index 3c79f859..4e5c1d59 100644 --- a/arch/arm/boot/.gitignore +++ b/arch/arm/boot/.gitignore -@@ -3,4 +3,5 @@ zImage +@@ -3,4 +3,6 @@ zImage + zImage xipImage bootpImage uImage --*.dtb +*.dtb* +*.scr diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile @@ -43,14 +43,6 @@ index f839ecd9..9788f16d 100644 PHONY += dtbs dtbs_install dtbs: prepare scripts -diff --git a/arch/arm64/boot/dts/.gitignore b/arch/arm64/boot/dts/.gitignore -index b60ed208..4bec63b6 100644 ---- a/arch/arm64/boot/dts/.gitignore -+++ b/arch/arm64/boot/dts/.gitignore -@@ -1 +1,2 @@ --*.dtb -+*.dtb* -+*.scr diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst index 34614a48..8a8313d6 100644 --- a/scripts/Makefile.dtbinst diff --git a/patch/kernel/sunxi-next/board-add-tritium-h5.patch b/patch/kernel/sunxi-next/board-add-tritium-h5.patch new file mode 100644 index 000000000..b7c7d0f2d --- /dev/null +++ b/patch/kernel/sunxi-next/board-add-tritium-h5.patch @@ -0,0 +1,480 @@ +diff --git a/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts b/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts +new file mode 100644 +index 0000000..b4b2427 +--- /dev/null ++++ b/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts +@@ -0,0 +1,222 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (C) 2017 Chen-Yu Tsai ++ * ++ */ ++ ++/dts-v1/; ++#include "sun8i-h3.dtsi" ++#include ++#include ++ ++/ { ++ model = "Libre Computer Board ALL-H3-CC H3"; ++ compatible = "libretech,all-h3-cc-h3", "allwinner,sun8i-h3"; ++ ++ ++ aliases { ++ ethernet0 = &emac; ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_con_in: endpoint { ++ remote-endpoint = <&hdmi_out_con>; ++ }; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ pwr_led { ++ label = "librecomputer:green:pwr"; ++ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ ++ default-state = "on"; ++ }; ++ ++ status_led { ++ label = "librecomputer:blue:status"; ++ gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ ++ }; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ ++ power { ++ label = "power"; ++ linux,code = ; ++ gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ ++ }; ++ }; ++ ++ reg_vcc1v2: vcc1v2 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc1v2"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc5v0>; ++ gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ ++ enable-active-high; ++ }; ++ ++ reg_vcc3v3: vcc3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <®_vcc5v0>; ++ }; ++ ++ /* This represents the board's 5V input */ ++ reg_vcc5v0: vcc5v0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc5v0"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ }; ++ ++ reg_vcc_dram: vcc-dram { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-dram"; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc5v0>; ++ gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ ++ enable-active-high; ++ }; ++ ++ reg_vcc_io: vcc-io { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-io"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc3v3>; ++ gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ ++ }; ++ ++ reg_vdd_cpux: vdd-cpux { ++ compatible = "regulator-fixed"; ++ regulator-name = "vdd-cpux"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc5v0>; ++ gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ ++ enable-active-high; ++ }; ++}; ++ ++&codec { ++ allwinner,audio-routing = ++ "Line Out", "LINEOUT", ++ "MIC1", "Mic", ++ "Mic", "MBIAS"; ++ status = "okay"; ++}; ++ ++&cpu0 { ++ cpu-supply = <®_vdd_cpux>; ++}; ++ ++&de { ++ status = "okay"; ++}; ++ ++&ehci0 { ++ status = "okay"; ++}; ++ ++&ehci1 { ++ status = "okay"; ++}; ++ ++&ehci2 { ++ status = "okay"; ++}; ++ ++&ehci3 { ++ status = "okay"; ++}; ++ ++&emac { ++ phy-handle = <&int_mii_phy>; ++ phy-mode = "mii"; ++ allwinner,leds-active-low; ++ status = "okay"; ++}; ++ ++&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 { ++ vmmc-supply = <®_vcc_io>; ++ bus-width = <4>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ ++ status = "okay"; ++}; ++ ++&ohci0 { ++ status = "okay"; ++}; ++ ++&ohci1 { ++ status = "okay"; ++}; ++ ++&ohci2 { ++ status = "okay"; ++}; ++ ++&ohci3 { ++ status = "okay"; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins_a>; ++ status = "okay"; ++}; ++ ++&usb_otg { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbphy { ++ /* VBUS on USB ports are always on */ ++ usb0_vbus-supply = <®_vcc5v0>; ++ usb1_vbus-supply = <®_vcc5v0>; ++ usb2_vbus-supply = <®_vcc5v0>; ++ usb3_vbus-supply = <®_vcc5v0>; ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile +index 3c032fb..ac7698f 100755 +--- a/arch/arm64/boot/dts/allwinner/Makefile ++++ b/arch/arm64/boot/dts/allwinner/Makefile +@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h3-cc.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-libretech-all-h3-cc.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-libretech-all-h3-cc.dts +new file mode 100644 +index 0000000..598c19f +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-libretech-all-h3-cc.dts +@@ -0,0 +1,234 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (C) 2017 Chen-Yu Tsai ++ * ++ */ ++ ++/dts-v1/; ++#include "sun50i-h5.dtsi" ++#include ++#include ++ ++/ { ++ model = "Libre Computer Board ALL-H3-CC H5"; ++ compatible = "libretech,all-h3-cc-h5", "allwinner,sun50i-h5"; ++ ++ ++ aliases { ++ ethernet0 = &emac; ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++/* connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_con_in: endpoint { ++ remote-endpoint = <&hdmi_out_con>; ++ }; ++ }; ++ }; ++*/ ++ leds { ++ compatible = "gpio-leds"; ++ ++ pwr_led { ++ label = "librecomputer:green:pwr"; ++ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ ++ default-state = "on"; ++ }; ++ ++ status_led { ++ label = "librecomputer:blue:status"; ++ gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ ++ }; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ ++ power { ++ label = "power"; ++ linux,code = ; ++ gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ ++ }; ++ }; ++ ++ reg_vcc1v2: vcc1v2 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc1v2"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc5v0>; ++ gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ ++ enable-active-high; ++ }; ++ ++ reg_vcc3v3: vcc3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <®_vcc5v0>; ++ }; ++ ++ /* This represents the board's 5V input */ ++ reg_vcc5v0: vcc5v0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc5v0"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ }; ++ ++ reg_vcc_dram: vcc-dram { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-dram"; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc5v0>; ++ gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ ++ enable-active-high; ++ }; ++ ++ reg_vcc_io: vcc-io { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-io"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc3v3>; ++ gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ ++ }; ++ ++ reg_vdd_cpux: vdd-cpux { ++ compatible = "regulator-fixed"; ++ regulator-name = "vdd-cpux"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-always-on; ++ regulator-boot-on; ++ vin-supply = <®_vcc5v0>; ++ gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ ++ enable-active-high; ++ }; ++}; ++ ++&codec { ++ allwinner,audio-routing = ++ "Line Out", "LINEOUT", ++ "MIC1", "Mic", ++ "Mic", "MBIAS"; ++ status = "okay"; ++}; ++ ++&cpu0 { ++ cpu-supply = <®_vdd_cpux>; ++}; ++ ++&de { ++ status = "okay"; ++}; ++ ++&ehci0 { ++ status = "okay"; ++}; ++ ++&ehci1 { ++ status = "okay"; ++}; ++ ++&ehci2 { ++ status = "okay"; ++}; ++ ++&ehci3 { ++ status = "okay"; ++}; ++ ++&emac { ++ phy-handle = <&int_mii_phy>; ++ phy-mode = "mii"; ++ allwinner,leds-active-low; ++ status = "okay"; ++}; ++ ++&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 { ++ vmmc-supply = <®_vcc_io>; ++ bus-width = <4>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ ++ status = "okay"; ++}; ++ ++&ohci0 { ++ status = "okay"; ++}; ++ ++&ohci1 { ++ status = "okay"; ++}; ++ ++&ohci2 { ++ status = "okay"; ++}; ++ ++&ohci3 { ++ status = "okay"; ++}; ++ ++&sound_hdmi { ++ status = "okay"; ++}; ++ ++&mixer0 { ++ status = "okay"; ++}; ++ ++&tcon0 { ++ status = "okay"; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins_a>; ++ status = "okay"; ++}; ++ ++&usb_otg { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbphy { ++ /* VBUS on USB ports are always on */ ++ usb0_vbus-supply = <®_vcc5v0>; ++ usb1_vbus-supply = <®_vcc5v0>; ++ usb2_vbus-supply = <®_vcc5v0>; ++ usb3_vbus-supply = <®_vcc5v0>; ++ status = "okay"; ++}; diff --git a/patch/kernel/sunxi-next/sunxi-hdmi-otg_enble-opi-zero2plus-h5.patch b/patch/kernel/sunxi-next/sunxi-hdmi-otg_enble-opi-zero2plus-h5.patch index d1d28b45e..b2334cccd 100644 --- a/patch/kernel/sunxi-next/sunxi-hdmi-otg_enble-opi-zero2plus-h5.patch +++ b/patch/kernel/sunxi-next/sunxi-hdmi-otg_enble-opi-zero2plus-h5.patch @@ -22,49 +22,10 @@ index ba4d6b1..d71a8b8 }; chosen { -@@ -65,11 +67,29 @@ - regulator-max-microvolt = <3300000>; - }; - -- wifi_pwrseq: wifi_pwrseq { -- compatible = "mmc-pwrseq-simple"; -- reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ -- post-power-on-delay-ms = <50>; -- }; -+ wifi_pwrseq: wifi_pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ -+ post-power-on-delay-ms = <50>; -+ }; -+ -+ reg_sy8113b: gpio-regulator { -+ compatible = "regulator-gpio"; -+ 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>; /* PL6 */ -+ enable-active-high; -+ gpios-states = <0x1>; -+ states = <1100000 0x0 -+ 1300000 0x1>; -+ }; -+ - }; - - &mmc0 { -@@ -112,6 +132,43 @@ +@@ -112,6 +132,39 @@ status = "okay"; }; -+&cpu0 { -+ cpu-supply = <®_sy8113b>; -+}; -+ +&de { + status = "okay"; +};