[PATCHv3 0/2] usb: bcma: control VBUS via a regulator
From: Rosen Penev <hidden>
Date: 2026-09-24 23:38:44
Also in:
linux-devicetree, linux-usb, lkml
bcma-hcd currently drives the USB power line by grabbing the undocumented "vcc-gpio" property from the controller node and poking it through gpiolib. Besides relying on a non-standard binding, this cannot work on boards such as the NETGEAR R7000 and R8000 where one chipcommon GPIO powers both the USB2 and USB3 cores: the two controllers each request that GPIO exclusively, so the second one fails with -EBUSY and its port stays dead. Instead, switch the driver to the standard regulator interface and express the power rails as regulator-fixed nodes bound to the chipcommon GPIOs. The regulator core reference-counts enable/disable requests, letting both controllers share one GPIO without conflicts. v3: don't drop GPIO. v2: fixup dts and keep GPIO working. Rosen Penev (2): usb: bcma: add regulator support ARM: dts: broadcom: model USB VBUS power with regulator-fixed .../broadcom/bcm4708-buffalo-wxr-1750dhp.dts | 12 +++- .../bcm4708-buffalo-wzr-1166dhp-common.dtsi | 23 +++++++- .../broadcom/bcm4708-buffalo-wzr-1750dhp.dts | 23 +++++++- .../broadcom/bcm4708-linksys-ea6300-v1.dts | 12 +++- .../broadcom/bcm4708-linksys-ea6500-v2.dts | 12 +++- .../dts/broadcom/bcm4708-netgear-r6250.dts | 12 +++- .../dts/broadcom/bcm4708-netgear-r6300-v2.dts | 12 +++- .../dts/broadcom/bcm47081-luxul-xwr-1200.dts | 12 +++- .../broadcom/bcm47081-tplink-archer-c5-v2.dts | 12 +++- .../dts/broadcom/bcm4709-asus-rt-ac3200.dts | 12 +++- .../broadcom/bcm4709-buffalo-wxr-1900dhp.dts | 13 ++++- .../dts/broadcom/bcm4709-linksys-ea9200.dts | 24 +++++++- .../dts/broadcom/bcm4709-netgear-r7000.dts | 14 ++++- .../dts/broadcom/bcm4709-netgear-r8000.dts | 14 ++++- .../broadcom/bcm4709-tplink-archer-c9-v1.dts | 24 +++++++- .../dts/broadcom/bcm47094-asus-rt-ac3100.dtsi | 12 +++- .../dts/broadcom/bcm47094-asus-rt-ac5300.dts | 12 +++- .../dts/broadcom/bcm47094-dlink-dir-885l.dts | 12 +++- .../dts/broadcom/bcm47094-dlink-dir-890l.dts | 24 +++++++- .../broadcom/bcm47094-linksys-panamera.dts | 24 +++++++- .../dts/broadcom/bcm47094-luxul-abr-4500.dts | 12 +++- .../dts/broadcom/bcm47094-luxul-xbr-4500.dts | 12 +++- .../dts/broadcom/bcm47094-luxul-xwr-3100.dts | 12 +++- .../broadcom/bcm47094-luxul-xwr-3150-v1.dts | 12 +++- .../arm/boot/dts/broadcom/bcm947189acdbmr.dts | 12 +++- drivers/usb/host/bcma-hcd.c | 55 +++++++++++++++---- 26 files changed, 384 insertions(+), 46 deletions(-) -- 2.55.0