linux/drivers/usb/misc
Lukasz Czechowski 1c001b6dde usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs
commit 9f657a9280 upstream.

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>
History 2025-05-18 08:24:55 +02:00
..
sisusbvga USB: sisusbvga: Add endpoint checks 2023-04-20 11:43:22 +02:00
adutux.c usb: misc: adutux: use swap() 2021-08-05 12:31:34 +02:00
apple-mfi-fastcharge.c USB: apple-mfi-fastcharge: Fix use after free in probe 2020-12-04 16:48:07 +01:00
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-12-05 14:02:36 +01:00
cypress_cy7c63.c USB: misc: cypress_cy7c63: check for short transfer 2024-09-13 07:54:50 +02:00
cytherm.c USB: misc: Remove unnecessary NULL values 2023-08-04 14:48:55 +02:00
ehset.c usb: misc: ehset: fix wrong if condition 2023-07-27 10:37:30 +02:00
emi26.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
emi62.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
ezusb.c usb: misc: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:24 +02:00
idmouse.c usb: idmouse: fix an uninit-value in idmouse_open 2022-09-27 10:37:09 +02:00
iowarrior.c usb: yurex: make waiting on yurex_write interruptible 2024-12-05 14:02:36 +01:00
isight_firmware.c usb: misc: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:24 +02:00
Kconfig usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support 2024-10-04 15:36:51 +02:00
ldusb.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
legousbtower.c USB: make devnode() callback in usb_class_driver take a const * 2022-10-20 12:11:56 +02:00
lvstest.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
Makefile usb: misc: onboard_hub: rename to onboard_dev 2024-03-27 07:57:16 +01:00
onboard_usb_dev.c usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs 2025-05-18 08:24:55 +02:00
onboard_usb_dev.h usb: misc: onboard_dev: extend platform data to add power on delay field 2024-09-11 15:36:25 +02: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: misc: eud: switch to fallback compatible for device matching 2024-07-31 10:42:17 +02:00
trancevibrator.c USB: trancevibrator: fix control-request direction 2021-05-21 20:10:43 +02:00
usb-ljca.c usb: misc: ljca: move usb_autopm_put_interface() after wait for response 2024-12-05 14:03:00 +01:00
usb251xb.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
usb3503.c usb: misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-20 19:18:57 +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 USB: usblcd: Remove the superfluous break 2020-08-28 09:48:33 +02:00
usbsevseg.c USB: misc: Remove unnecessary NULL values 2023-08-04 14:48:55 +02:00
usbtest.c usb: usbtest: fix a type promotion bug 2023-10-08 07:50:36 +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 usb: yurex: make waiting on yurex_write interruptible 2024-12-05 14:02:36 +01:00