]> www.infradead.org Git - linux.git/commitdiff
usb: misc: onboard_usb_dev: Add Parade PS5511 hub support
authorPin-yen Lin <treapking@chromium.org>
Tue, 22 Apr 2025 08:28:30 +0000 (16:28 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 May 2025 15:30:52 +0000 (17:30 +0200)
Parade PS5511 is 4+1 port USB 3.2 gen 1 hub with a reset pin and two power
supplies (3V3 and 1V1).

Add the support for this hub for the reset pin control and power supply.

Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20250422082957.2058229-5-treapking@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/onboard_usb_dev.c
drivers/usb/misc/onboard_usb_dev.h

index 2f9e8f8108d8c36403b02f3e66db55757d4808ef..84659fbc0ec86b85ad95e6f9271c2def44dee33d 100644 (file)
@@ -490,6 +490,7 @@ static struct platform_driver onboard_dev_driver = {
 #define VENDOR_ID_CYPRESS      0x04b4
 #define VENDOR_ID_GENESYS      0x05e3
 #define VENDOR_ID_MICROCHIP    0x0424
+#define VENDOR_ID_PARADE       0x1da0
 #define VENDOR_ID_REALTEK      0x0bda
 #define VENDOR_ID_TI           0x0451
 #define VENDOR_ID_VIA          0x2109
@@ -580,6 +581,8 @@ static const struct usb_device_id onboard_dev_id_table[] = {
        { 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, 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_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 */
index 4b023ddfbdd61efbc41c039cafbd0c85971563ee..a5b18840c3f455ddc3880557e140ddd67d240cb1 100644 (file)
@@ -38,6 +38,13 @@ static const struct onboard_dev_pdata microchip_usb5744_data = {
        .is_hub = true,
 };
 
+static const struct onboard_dev_pdata parade_ps5511_data = {
+       .reset_us = 500,
+       .num_supplies = 2,
+       .supply_names = { "vddd11", "vdd33"},
+       .is_hub = true,
+};
+
 static const struct onboard_dev_pdata realtek_rts5411_data = {
        .reset_us = 0,
        .num_supplies = 1,
@@ -130,6 +137,8 @@ static const struct of_device_id onboard_dev_match[] = {
        { .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
        { .compatible = "usbbda,414", .data = &realtek_rts5411_data, },
        { .compatible = "usbbda,5414", .data = &realtek_rts5411_data, },
+       { .compatible = "usb1da0,5511", .data = &parade_ps5511_data, },
+       { .compatible = "usb1da0,55a1", .data = &parade_ps5511_data, },
        { .compatible = "usb2109,817", .data = &vialab_vl817_data, },
        { .compatible = "usb2109,2817", .data = &vialab_vl817_data, },
        { .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, },