[PATCH 18.06 2/2] bcm63xx: VH4032N: fix non working LEDs and GPIOs
Daniel González Cabanelas
dgcbueu at gmail.com
Thu Jan 21 16:06:07 EST 2021
The GPIO hog feature is broken for bcm63xx in the 18.06 release. As a
result of this, the whole GPIO infrastructure will fail, causing a non
working LEDs problem and empty GPIOs when a hog is requested at boot time.
[0.537448] requesting hog GPIO usb-hub-reset-gpio (chip bcm63xx-gpio.0,
offset 27) failed, -517
[0.546564] gpiochip_add_data: GPIOs 480..511 (bcm63xx-gpio.0) failed
to register
The GPIO hog is used in this device to pull out of reset the USB hub.
There is a kernel fix for the 19.07 release, 6d6127e537 commit. But to
avoid unexpected behavior on other devices, we'll use a simple workaround
to enable the USB hub. A fake LED is used instead.
Signed-off-by: Daniel González Cabanelas <dgcbueu at gmail.com>
---
target/linux/brcm63xx/dts/vh4032n.dts | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/target/linux/brcm63xx/dts/vh4032n.dts b/target/linux/brcm63xx/dts/vh4032n.dts
index a17db77..0eb935a 100644
--- a/target/linux/brcm63xx/dts/vh4032n.dts
+++ b/target/linux/brcm63xx/dts/vh4032n.dts
@@ -68,6 +68,12 @@
label = "VH4032N:red:voice";
gpios = <&pinctrl 26 1>;
};
+ /* Workaround: enable the USB hub using a fake LED */
+ usb-hub-reset {
+ label = "usb-hub-reset-gpio";
+ gpios = <&pinctrl 27 0>;
+ default-state = "on";
+ };
};
};
@@ -76,12 +82,16 @@
pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led
&pinctrl_ephy2_led &pinctrl_ephy3_led>;
- usb_hub_reset {
- gpio-hog;
- gpios = <27 0>;
- output-high;
- line-name = "usb-hub-reset-gpio";
- };
+ /*
+ * GPIO hog is broken in 18.06, disable this node and use a fake
+ * LED instead. (Fixed in 19.07, commit 6d6127e537)
+ * usb_hub_reset {
+ * gpio-hog;
+ * gpios = <27 0>;
+ * output-high;
+ * line-name = "usb-hub-reset-gpio";
+ * };
+ */
};
&pflash {
--
2.30.0
More information about the openwrt-devel
mailing list