mirror-linux/drivers/usb/misc
Lukasz Czechowski 9f657a9280 usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs
The Cypress HX3 USB3.0 hubs use different PID values depending
on the product variant. The comment in compatibles table is
misleading, as the currently used PIDs (0x6504 and 0x6506 for
USB 3.0 and USB 2.0, respectively) are defaults for the CYUSB331x,
while CYUSB330x and CYUSB332x variants use different values.
Based on the datasheet [1], update the compatible usb devices table
to handle different types of the hub.
The change also includes vendor mode PIDs, which are used by the
hub in I2C Master boot mode, if connected EEPROM contains invalid
signature or is blank. This allows to correctly boot the hub even
if the EEPROM will have broken content.
Number of vcc supplies and timing requirements are the same for all
HX variants, so the platform driver's match table does not have to
be extended.

[1] https://www.infineon.com/dgdl/Infineon-HX3_USB_3_0_Hub_Consumer_Industrial-DataSheet-v22_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0ecb53f644b8
    Table 9. PID Values

Fixes: b43cd82a1a ("usb: misc: onboard-hub: add support for Cypress HX3 USB 3.0 family")
Cc: stable <stable@kernel.org>
Signed-off-by: Lukasz Czechowski <lukasz.czechowski@thaumatec.com>
Link: https://lore.kernel.org/r/20250425-onboard_usb_dev-v2-1-4a76a474a010@thaumatec.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-01 17:39:59 +02:00
..
sisusbvga
Kconfig usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support 2024-10-04 15:36:51 +02:00
Makefile usb: misc: onboard_hub: rename to onboard_dev 2024-03-27 07:57:16 +01:00
adutux.c
apple-mfi-fastcharge.c
appledisplay.c USB: appledisplay: close race between probe and completion handler 2024-09-13 07:54:23 +02:00
brcmstb-usb-pinmap.c usb: misc: brcmstb-usb-pinmap: fix module autoloading 2024-08-25 13:45:56 +02:00
chaoskey.c USB: chaoskey: Fix possible deadlock chaoskey_list_lock 2024-10-13 14:02:47 +02:00
cypress_cy7c63.c USB: misc: cypress_cy7c63: check for short transfer 2024-09-13 07:54:50 +02:00
cytherm.c
ehset.c
emi26.c
emi62.c
ezusb.c usb: misc: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:24 +02:00
idmouse.c
iowarrior.c usb: yurex: make waiting on yurex_write interruptible 2024-10-04 15:16:17 +02:00
isight_firmware.c usb: misc: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:24 +02:00
ldusb.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
legousbtower.c
lvstest.c
onboard_usb_dev.c usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs 2025-05-01 17:39:59 +02:00
onboard_usb_dev.h usb: misc: onboard_dev: add vdda support for Microchip USB2514 2025-02-19 15:14:13 +01:00
onboard_usb_dev_pdevs.c usb: misc: onboard_hub: rename to onboard_dev 2024-03-27 07:57:16 +01:00
qcom_eud.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
trancevibrator.c
usb-ljca.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
usb251xb.c usb: usb251xb: silence EPROBE_DEFER error on boot 2025-02-03 16:29:21 +01:00
usb3503.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
usb4604.c usb: misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-20 19:18:57 +02:00
usblcd.c
usbsevseg.c
usbtest.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
uss720.c usb: misc: uss720: check for incompatible versions of the Belkin F5U002 2024-04-04 17:07:48 +02:00
yurex.c Merge 6.12-rc3 into usb-next 2024-10-14 08:03:44 +02:00