usb: misc: onboard-hub: add support for Cypress HX3 USB 3.0 family
authorBenjamin Bara <benjamin.bara@skidata.com>
Fri, 23 Jun 2023 07:28:13 +0000 (09:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 30 Jul 2023 11:27:32 +0000 (13:27 +0200)
commitb43cd82a1a40daaf4e1dd7098b8b63b4b8dfb094
treea843d1af35cee52a2a478c4e08022a8948368b54
parentf26069c9d7b6f83af953060cf05e425ea3cc7eeb
usb: misc: onboard-hub: add support for Cypress HX3 USB 3.0 family

The HX3 comes in different variants (up to 4 USB 3.0 ports; multi-TT),
e.g. CYUSB330x/CYUSB331x/CYUSB332x/CYUSB230x. It operates with two
different power supplies: 1V2 and 3V3.

Add the support for this hub, for controlling the reset pin and the
power supplies.

Reset time is extracted from data sheet, page 24:
"The RESETN pin can be tied to VDD_IO through an external resistor and
to ground (GND) through an external capacitor (minimum 5 ms time
constant)."
V_IH min is given at 0.7 * 3V3 (page 34), therefore use 10ms.

Also add USB PIDs for the USB 2.0 and USB 3.0 root hub.

Acked-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
Link: https://lore.kernel.org/r/20230620-hx3-v7-2-f79b4b22a1bf@skidata.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/onboard_usb_hub.c
drivers/usb/misc/onboard_usb_hub.h