Am Freitag, 25. April 2025, 17:18:06 Mitteleuropäische Sommerzeit schrieb Lukasz Czechowski: > 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: b43cd82a1a40 ("usb: misc: onboard-hub: add support for Cypress HX3 USB 3.0 family") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Lukasz Czechowski <lukasz.czechowski@xxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> @GregKH: I'd assume you pick patches 1+2 (dt-binding + driver) and I pick the Rockchip arm64-dts patches afterwards, after the first two look good to you? Thanks a lot Heiko > --- > drivers/usb/misc/onboard_usb_dev.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c > index 75ac3c6aa92d0d925bb9488d1e6295548446bf98..f5372dfa241a9cee09fea95fd14b72727a149b2e 100644 > --- a/drivers/usb/misc/onboard_usb_dev.c > +++ b/drivers/usb/misc/onboard_usb_dev.c > @@ -569,8 +569,14 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev) > } > > static const struct usb_device_id onboard_dev_id_table[] = { > - { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6504) }, /* CYUSB33{0,1,2}x/CYUSB230x 3.0 HUB */ > - { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6506) }, /* CYUSB33{0,1,2}x/CYUSB230x 2.0 HUB */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6500) }, /* CYUSB330x 3.0 HUB */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6502) }, /* CYUSB330x 2.0 HUB */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6503) }, /* CYUSB33{0,1}x 2.0 HUB, Vendor Mode */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6504) }, /* CYUSB331x 3.0 HUB */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6506) }, /* CYUSB331x 2.0 HUB */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6507) }, /* CYUSB332x 2.0 HUB, Vendor Mode */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6508) }, /* CYUSB332x 3.0 HUB */ > + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x650a) }, /* CYUSB332x 2.0 HUB */ > { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6570) }, /* CY7C6563x 2.0 HUB */ > { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 HUB */ > { USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G USB 2.0 HUB */ > >