* [PATCH 1/8] dt-bindings: usb: ti,usb8041: document the TUSB8040A hub
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-13 9:45 ` Krzysztof Kozlowski
2026-08-10 0:42 ` [PATCH 2/8] dt-bindings: net: asix,ax88178: document the AX88179 Dmitry Baryshkov
` (6 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The TI TUSB8040A four-port USB 3.0 hub is not documented, so onboard
device nodes for it cannot be validated.
Document it next to its TUSB8041 sibling: the same reset-gpios/peer-hub
properties apply. Besides the datasheet default 0451:8040 / 0451:8042
IDs, also document 0451:8041 / 0451:8043: the configuration EEPROM can
override the product IDs, and e.g. the APQ8074 Dragonboard programs
these values, as seen when booting the vendor image.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/usb/ti,usb8041.yaml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/ti,usb8041.yaml b/Documentation/devicetree/bindings/usb/ti,usb8041.yaml
index 07e13fae640b..a7ce487090a2 100644
--- a/Documentation/devicetree/bindings/usb/ti,usb8041.yaml
+++ b/Documentation/devicetree/bindings/usb/ti,usb8041.yaml
@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/usb/ti,usb8041.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: TI USB8041 and USB8044 USB 3.0 hub controllers
+title: TI TUSB8040A, USB8041 and USB8044 USB 3.0 hub controllers
maintainers:
- Alexander Stein <alexander.stein@ew.tq-group.com>
@@ -16,6 +16,10 @@ allOf:
properties:
compatible:
enum:
+ - usb451,8040
+ - usb451,8041
+ - usb451,8042
+ - usb451,8043
- usb451,8140
- usb451,8142
- usb451,8440
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 1/8] dt-bindings: usb: ti,usb8041: document the TUSB8040A hub
2026-08-10 0:42 ` [PATCH 1/8] dt-bindings: usb: ti,usb8041: document the TUSB8040A hub Dmitry Baryshkov
@ 2026-08-13 9:45 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-13 9:45 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam, linux-usb, devicetree,
linux-kernel, netdev
On Mon, Aug 10, 2026 at 03:42:32AM +0300, Dmitry Baryshkov wrote:
> The TI TUSB8040A four-port USB 3.0 hub is not documented, so onboard
> device nodes for it cannot be validated.
>
> Document it next to its TUSB8041 sibling: the same reset-gpios/peer-hub
> properties apply. Besides the datasheet default 0451:8040 / 0451:8042
> IDs, also document 0451:8041 / 0451:8043: the configuration EEPROM can
> override the product IDs, and e.g. the APQ8074 Dragonboard programs
> these values, as seen when booting the vendor image.
>
> Assisted-by: Claude:claude-fable-5
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/usb/ti,usb8041.yaml | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/8] dt-bindings: net: asix,ax88178: document the AX88179
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 1/8] dt-bindings: usb: ti,usb8041: document the TUSB8040A hub Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-13 9:50 ` Krzysztof Kozlowski
2026-08-10 0:42 ` [PATCH 3/8] dt-bindings: usb: document the Prolific PL2775 USB-SATA bridge Dmitry Baryshkov
` (5 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The APQ8074 Dragonboard has an onboard ASIX AX88179 USB 3.0 Gigabit
Ethernet controller whose RESET_N pin is wired to a PMIC GPIO, so the
device has to be described in DT for the OS to release it from reset.
Add the AX88179 device ID (0b95:1790) to the ASIX USB Ethernet schema,
together with the reset-gpios and vdd-supply properties used by
hard-wired onboard devices.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/net/asix,ax88178.yaml | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/asix,ax88178.yaml b/Documentation/devicetree/bindings/net/asix,ax88178.yaml
index 03341b7438d5..48a2ee883c15 100644
--- a/Documentation/devicetree/bindings/net/asix,ax88178.yaml
+++ b/Documentation/devicetree/bindings/net/asix,ax88178.yaml
@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/net/asix,ax88178.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: ASIX AX88172/AX88772 USB Ethernet Controllers
+title: ASIX AX88172/AX88772/AX88179 USB Ethernet Controllers
maintainers:
- Oleksij Rempel <o.rempel@pengutronix.de>
@@ -22,6 +22,7 @@ properties:
- usbb95,1720 # ASIX AX88172
- usbb95,172a # ASIX AX88172A
- usbb95,1780 # ASIX AX88178
+ - usbb95,1790 # ASIX AX88179
- usbb95,7720 # ASIX AX88772
- usbb95,772a # ASIX AX88772A
- usbb95,772b # ASIX AX88772B
@@ -30,6 +31,13 @@ properties:
reg:
maxItems: 1
+ reset-gpios:
+ description: GPIO connected to the RESET_N pin.
+ maxItems: 1
+
+ vdd-supply:
+ description: Power supply of the controller.
+
local-mac-address: true
mac-address: true
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 2/8] dt-bindings: net: asix,ax88178: document the AX88179
2026-08-10 0:42 ` [PATCH 2/8] dt-bindings: net: asix,ax88178: document the AX88179 Dmitry Baryshkov
@ 2026-08-13 9:50 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-13 9:50 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam, linux-usb, devicetree,
linux-kernel, netdev
On Mon, Aug 10, 2026 at 03:42:33AM +0300, Dmitry Baryshkov wrote:
> The APQ8074 Dragonboard has an onboard ASIX AX88179 USB 3.0 Gigabit
> Ethernet controller whose RESET_N pin is wired to a PMIC GPIO, so the
> device has to be described in DT for the OS to release it from reset.
Would be nice if you checked other devices from this schema if they have
reset-gpios as well. I think they do (confirmed on AX88772 and
AX88772A), but having this explicit would spare us from validating it by
outselves.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 3/8] dt-bindings: usb: document the Prolific PL2775 USB-SATA bridge
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 1/8] dt-bindings: usb: ti,usb8041: document the TUSB8040A hub Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 2/8] dt-bindings: net: asix,ax88178: document the AX88179 Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-13 9:53 ` Krzysztof Kozlowski
2026-08-10 0:42 ` [PATCH 4/8] dt-bindings: usb: microchip,usb2514: document the USB4604 hub Dmitry Baryshkov
` (4 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The APQ8074 Dragonboard has an onboard Prolific PL2775 USB 3.0 to SATA
bridge whose RESET_N pin is wired to a PMIC GPIO, so the device has to
be described in DT for the OS to release it from reset.
Add a schema for the hard-wired PL2775 (067b:2775) with the
reset-gpios and vdd-supply properties used by onboard USB devices.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
.../devicetree/bindings/usb/prolific,pl2775.yaml | 51 ++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/prolific,pl2775.yaml b/Documentation/devicetree/bindings/usb/prolific,pl2775.yaml
new file mode 100644
index 000000000000..5af8b4f5ee64
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/prolific,pl2775.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/prolific,pl2775.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Prolific PL2775 USB 3.0 to SATA bridge
+
+maintainers:
+ - Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+
+description:
+ Device tree properties for hard wired Prolific PL2775 USB 3.0 to
+ SATA bridge controllers.
+
+allOf:
+ - $ref: usb-device.yaml#
+
+properties:
+ compatible:
+ const: usb67b,2775
+
+ reg: true
+
+ reset-gpios:
+ description: GPIO connected to the RESET_N pin.
+ maxItems: 1
+
+ vdd-supply:
+ description: Power supply of the controller.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ usb {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ device@1 {
+ compatible = "usb67b,2775";
+ reg = <1>;
+ reset-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+ };
+ };
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 3/8] dt-bindings: usb: document the Prolific PL2775 USB-SATA bridge
2026-08-10 0:42 ` [PATCH 3/8] dt-bindings: usb: document the Prolific PL2775 USB-SATA bridge Dmitry Baryshkov
@ 2026-08-13 9:53 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-13 9:53 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam, linux-usb, devicetree,
linux-kernel, netdev
On Mon, Aug 10, 2026 at 03:42:34AM +0300, Dmitry Baryshkov wrote:
> The APQ8074 Dragonboard has an onboard Prolific PL2775 USB 3.0 to SATA
> bridge whose RESET_N pin is wired to a PMIC GPIO, so the device has to
> be described in DT for the OS to release it from reset.
>
> Add a schema for the hard-wired PL2775 (067b:2775) with the
> reset-gpios and vdd-supply properties used by onboard USB devices.
>
> Assisted-by: Claude:claude-fable-5
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> .../devicetree/bindings/usb/prolific,pl2775.yaml | 51 ++++++++++++++++++++++
> 1 file changed, 51 insertions(+)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 4/8] dt-bindings: usb: microchip,usb2514: document the USB4604 hub
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
` (2 preceding siblings ...)
2026-08-10 0:42 ` [PATCH 3/8] dt-bindings: usb: document the Prolific PL2775 USB-SATA bridge Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-13 9:53 ` Krzysztof Kozlowski
2026-08-10 0:42 ` [PATCH 5/8] usb: misc: onboard_usb_dev: add support for the TI TUSB8040A hub Dmitry Baryshkov
` (3 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The SMSC/Microchip USB4604 HSIC hub on the APQ8074 Dragonboard has its
RESET_N pin wired to a PMIC GPIO. On this board the hub SMBus
configuration interface is not usable (the bus pull-ups are referenced
to 1.8V while the hub samples the strap against its 3.3V rail), so the
hub runs in standalone mode and only needs its reset released, which
has to be described in DT.
Document the USB4604 device ID (0424:4604, the ID used when the
upstream port operates in HSIC mode) in the onboard hub schema.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/usb/microchip,usb2514.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/usb/microchip,usb2514.yaml b/Documentation/devicetree/bindings/usb/microchip,usb2514.yaml
index 4e3901efed3f..cbff9a350857 100644
--- a/Documentation/devicetree/bindings/usb/microchip,usb2514.yaml
+++ b/Documentation/devicetree/bindings/usb/microchip,usb2514.yaml
@@ -17,6 +17,7 @@ properties:
- usb424,2417
- usb424,2514
- usb424,2517
+ - usb424,4604
- items:
- enum:
- usb424,2512
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH 4/8] dt-bindings: usb: microchip,usb2514: document the USB4604 hub
2026-08-10 0:42 ` [PATCH 4/8] dt-bindings: usb: microchip,usb2514: document the USB4604 hub Dmitry Baryshkov
@ 2026-08-13 9:53 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-13 9:53 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam, linux-usb, devicetree,
linux-kernel, netdev
On Mon, Aug 10, 2026 at 03:42:35AM +0300, Dmitry Baryshkov wrote:
> The SMSC/Microchip USB4604 HSIC hub on the APQ8074 Dragonboard has its
> RESET_N pin wired to a PMIC GPIO. On this board the hub SMBus
> configuration interface is not usable (the bus pull-ups are referenced
> to 1.8V while the hub samples the strap against its 3.3V rail), so the
> hub runs in standalone mode and only needs its reset released, which
> has to be described in DT.
>
> Document the USB4604 device ID (0424:4604, the ID used when the
> upstream port operates in HSIC mode) in the onboard hub schema.
>
> Assisted-by: Claude:claude-fable-5
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 5/8] usb: misc: onboard_usb_dev: add support for the TI TUSB8040A hub
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
` (3 preceding siblings ...)
2026-08-10 0:42 ` [PATCH 4/8] dt-bindings: usb: microchip,usb2514: document the USB4604 hub Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 6/8] usb: misc: onboard_usb_dev: add support for the ASIX AX88179 Dmitry Baryshkov
` (2 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The TI TUSB8040A four-port USB 3.0 hub has no onboard-usb-dev support,
so its reset GPIO and power supply cannot be managed by the kernel.
Add the device IDs, reusing the TUSB8020B platform data: the power-on
and reset timings match. Cover both the datasheet default product IDs
(0451:8040 / 0451:8042) and the EEPROM-overridden 0451:8041 /
0451:8043 pair used e.g. on the APQ8074 Dragonboard.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/usb/misc/onboard_usb_dev.c | 4 ++++
drivers/usb/misc/onboard_usb_dev.h | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 11508ed4df25..37ebbccce35b 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -681,6 +681,10 @@ static const struct usb_device_id onboard_dev_id_table[] = {
{ USB_DEVICE(VENDOR_ID_TERMINUS, 0x0101) }, /* Terminus FE1.1s 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8025) }, /* TI USB8020B 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8027) }, /* TI USB8020B 2.0 HUB */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8040) }, /* TI TUSB8040A 3.0 HUB */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8041) }, /* TI TUSB8040A 3.0 HUB (custom PID) */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8042) }, /* TI TUSB8040A 2.0 HUB */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8043) }, /* TI TUSB8040A 2.0 HUB (custom PID) */
{ USB_DEVICE(VENDOR_ID_TI, 0x8140) }, /* TI USB8041 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8142) }, /* TI USB8041 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8440) }, /* TI USB8044 3.0 HUB */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 3523f8f8a149..7961b9ffa99e 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -143,6 +143,10 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb424,5744", .data = µchip_usb5744_data, },
{ .compatible = "usb451,8025", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8027", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8040", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8041", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8042", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8043", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8140", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8142", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8440", .data = &ti_tusb8020b_data, },
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 6/8] usb: misc: onboard_usb_dev: add support for the ASIX AX88179
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
` (4 preceding siblings ...)
2026-08-10 0:42 ` [PATCH 5/8] usb: misc: onboard_usb_dev: add support for the TI TUSB8040A hub Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 7/8] usb: misc: onboard_usb_dev: add support for the Prolific PL2775 Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 8/8] usb: misc: onboard_usb_dev: add support for the SMSC USB4604 Dmitry Baryshkov
7 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The ASIX AX88179 USB 3.0 Gigabit Ethernet controller on the APQ8074
Dragonboard has its RESET_N pin wired to a PMIC GPIO, so it stays in
reset until the OS releases it and the device never enumerates.
Add the AX88179 (0b95:1790) to the onboard USB device driver as a
non-hub device with a single vdd supply and a conservative 1 ms reset
pulse.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/usb/misc/onboard_usb_dev.c | 2 ++
drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 37ebbccce35b..8139fe3f2cf5 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -564,6 +564,7 @@ static struct platform_driver onboard_dev_driver = {
/************************** USB driver **************************/
+#define VENDOR_ID_ASIX 0x0b95
#define VENDOR_ID_BISON 0x5986
#define VENDOR_ID_CORECHIPS 0x3431
#define VENDOR_ID_CYPRESS 0x04b4
@@ -650,6 +651,7 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev)
}
static const struct usb_device_id onboard_dev_id_table[] = {
+ { USB_DEVICE(VENDOR_ID_ASIX, 0x1790) }, /* AX88179 USB 3.0 Gigabit Ethernet */
{ USB_DEVICE(VENDOR_ID_BISON, 0x1198) }, /* Bison Electronics Inc. Integrated Camera */
{ USB_DEVICE(VENDOR_ID_CORECHIPS, 0x6241) }, /* SL6341 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_CORECHIPS, 0x6341) }, /* SL6341 3.0 HUB */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 7961b9ffa99e..27efccbe2286 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -59,6 +59,13 @@ static const struct onboard_dev_pdata realtek_rtl8188etv_data = {
.is_hub = false,
};
+static const struct onboard_dev_pdata asix_ax88179_data = {
+ .reset_us = 1000,
+ .num_supplies = 1,
+ .supply_names = { "vdd" },
+ .is_hub = false,
+};
+
static const struct onboard_dev_pdata ti_tusb8020b_data = {
.reset_us = 3000,
.num_supplies = 1,
@@ -159,6 +166,7 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb5e3,620", .data = &genesys_gl852g_data, },
{ .compatible = "usb5e3,625", .data = &genesys_gl3590_data, },
{ .compatible = "usb5e3,626", .data = &genesys_gl852g_data, },
+ { .compatible = "usbb95,1790", .data = &asix_ax88179_data, },
{ .compatible = "usbbda,179", .data = &realtek_rtl8188etv_data, },
{ .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
{ .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 7/8] usb: misc: onboard_usb_dev: add support for the Prolific PL2775
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
` (5 preceding siblings ...)
2026-08-10 0:42 ` [PATCH 6/8] usb: misc: onboard_usb_dev: add support for the ASIX AX88179 Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
2026-08-10 0:42 ` [PATCH 8/8] usb: misc: onboard_usb_dev: add support for the SMSC USB4604 Dmitry Baryshkov
7 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The Prolific PL2775 USB 3.0 to SATA bridge on the APQ8074 Dragonboard
has its RESET_N pin wired to a PMIC GPIO, so it stays in reset until
the OS releases it and the device never enumerates.
Add the PL2775 (067b:2775) to the onboard USB device driver as a
non-hub device with a single vdd supply and a conservative 1 ms reset
pulse.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/usb/misc/onboard_usb_dev.c | 2 ++
drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 8139fe3f2cf5..6299c0539212 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -571,6 +571,7 @@ static struct platform_driver onboard_dev_driver = {
#define VENDOR_ID_GENESYS 0x05e3
#define VENDOR_ID_MICROCHIP 0x0424
#define VENDOR_ID_PARADE 0x1da0
+#define VENDOR_ID_PROLIFIC 0x067b
#define VENDOR_ID_REALTEK 0x0bda
#define VENDOR_ID_TERMINUS 0x1a40
#define VENDOR_ID_TI 0x0451
@@ -675,6 +676,7 @@ static const struct usb_device_id onboard_dev_id_table[] = {
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x5744) }, /* USB5744 USB 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_PARADE, 0x5511) }, /* PS5511 USB 3.2 */
{ USB_DEVICE(VENDOR_ID_PARADE, 0x55a1) }, /* PS5511 USB 2.0 */
+ { USB_DEVICE(VENDOR_ID_PROLIFIC, 0x2775) }, /* PL2775 USB 3.0 SATA bridge */
{ USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 HUB */
{ USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 HUB */
{ USB_DEVICE(VENDOR_ID_REALTEK, 0x0414) }, /* RTS5414 USB 3.2 HUB */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 27efccbe2286..11425bdc5a63 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -66,6 +66,13 @@ static const struct onboard_dev_pdata asix_ax88179_data = {
.is_hub = false,
};
+static const struct onboard_dev_pdata prolific_pl2775_data = {
+ .reset_us = 1000,
+ .num_supplies = 1,
+ .supply_names = { "vdd" },
+ .is_hub = false,
+};
+
static const struct onboard_dev_pdata ti_tusb8020b_data = {
.reset_us = 3000,
.num_supplies = 1,
@@ -166,6 +173,7 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb5e3,620", .data = &genesys_gl852g_data, },
{ .compatible = "usb5e3,625", .data = &genesys_gl3590_data, },
{ .compatible = "usb5e3,626", .data = &genesys_gl852g_data, },
+ { .compatible = "usb67b,2775", .data = &prolific_pl2775_data, },
{ .compatible = "usbb95,1790", .data = &asix_ax88179_data, },
{ .compatible = "usbbda,179", .data = &realtek_rtl8188etv_data, },
{ .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH 8/8] usb: misc: onboard_usb_dev: add support for the SMSC USB4604
2026-08-10 0:42 [PATCH 0/8] usb: misc: onboard_usb_dev: support several devices Dmitry Baryshkov
` (6 preceding siblings ...)
2026-08-10 0:42 ` [PATCH 7/8] usb: misc: onboard_usb_dev: add support for the Prolific PL2775 Dmitry Baryshkov
@ 2026-08-10 0:42 ` Dmitry Baryshkov
7 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-08-10 0:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alexander Stein, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Oleksij Rempel,
Matthias Kaehlcke, Fabio Estevam
Cc: linux-usb, devicetree, linux-kernel, netdev
The SMSC USB4604 HSIC hub on the APQ8074 Dragonboard has its RESET_N
pin wired to a PMIC GPIO, so it stays in reset until the OS releases
it. The release also has to happen while the HSIC host controller is
up: HSIC has no connect detection comparable to USB 2.0, so the
one-shot connect signaled by the hub after reset deassertion is lost
if the controller is not yet running.
Add the USB4604 (0424:4604, the ID used when the upstream port is in
HSIC mode) to the onboard USB device driver, which releases the reset
when the parent host controller probes.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/usb/misc/onboard_usb_dev.c | 1 +
drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 6299c0539212..0eeb9713f5a3 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -673,6 +673,7 @@ static const struct usb_device_id onboard_dev_id_table[] = {
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2517) }, /* USB2517 USB 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2744) }, /* USB5744 USB 2.0 HUB */
+ { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x4604) }, /* USB4604 HSIC HUB */
{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x5744) }, /* USB5744 USB 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_PARADE, 0x5511) }, /* PS5511 USB 3.2 */
{ USB_DEVICE(VENDOR_ID_PARADE, 0x55a1) }, /* PS5511 USB 2.0 */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 11425bdc5a63..9e320b042a86 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -30,6 +30,13 @@ static const struct onboard_dev_pdata microchip_usb2514_data = {
.is_hub = true,
};
+static const struct onboard_dev_pdata microchip_usb4604_data = {
+ .reset_us = 3000,
+ .num_supplies = 1,
+ .supply_names = { "vdd" },
+ .is_hub = true,
+};
+
static const struct onboard_dev_pdata microchip_usb5744_data = {
.reset_us = 0,
.power_on_delay_us = 10000,
@@ -154,6 +161,7 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb424,2514", .data = µchip_usb2514_data, },
{ .compatible = "usb424,2517", .data = µchip_usb424_data, },
{ .compatible = "usb424,2744", .data = µchip_usb5744_data, },
+ { .compatible = "usb424,4604", .data = µchip_usb4604_data, },
{ .compatible = "usb424,5744", .data = µchip_usb5744_data, },
{ .compatible = "usb451,8025", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8027", .data = &ti_tusb8020b_data, },
--
2.47.3
^ permalink raw reply related [flat|nested] 13+ messages in thread