[PATCH 7/8] usb: misc: onboard_usb_dev: add support for the Prolific PL2775
Dmitry Baryshkov <[email protected]>
| Newsgroups | org.kernel.vger.netdev,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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