[v1,05/11] usb: misc: onboard_usb_hub: add Genesys Logic GL852G-OHG hub support

Message ID 20221228100321.15949-6-linux.amoon@gmail.com
State New
Headers
Series [v1,01/11] dt-bindings: usb: Add device id for Genesys Logic hub controller |

Commit Message

Anand Moon Dec. 28, 2022, 10:03 a.m. UTC
  Genesys Logic GL852G-OHG is a 4-port USB 2.0 STT hub that has a reset pin to
toggle and a 5.0V core supply exported though an integrated LDO is
available for powering it.

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

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
---
 drivers/usb/misc/onboard_usb_hub.c | 1 +
 drivers/usb/misc/onboard_usb_hub.h | 1 +
 2 files changed, 2 insertions(+)
  

Comments

Matthias Kaehlcke Jan. 4, 2023, 8:28 p.m. UTC | #1
On Wed, Dec 28, 2022 at 10:03:14AM +0000, Anand Moon wrote:
> Genesys Logic GL852G-OHG is a 4-port USB 2.0 STT hub that has a reset pin to
> toggle and a 5.0V core supply exported though an integrated LDO is
> available for powering it.
> 
> Add the support for this hub, for controlling the reset pin and the core
> power supply.
> 
> Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> ---
>  drivers/usb/misc/onboard_usb_hub.c | 1 +
>  drivers/usb/misc/onboard_usb_hub.h | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
> index 94e7966e199d..c0e8e6f4ec0a 100644
> --- a/drivers/usb/misc/onboard_usb_hub.c
> +++ b/drivers/usb/misc/onboard_usb_hub.c
> @@ -409,6 +409,7 @@ static void onboard_hub_usbdev_disconnect(struct usb_device *udev)
>  
>  static const struct usb_device_id onboard_hub_id_table[] = {
>  	{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
> +	{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G-OHG USB 2.0 */
>  	{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
>  	{ USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */
>  	{ USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
> diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
> index 62129a6a1ba5..2ee1b0032d23 100644
> --- a/drivers/usb/misc/onboard_usb_hub.h
> +++ b/drivers/usb/misc/onboard_usb_hub.h
> @@ -31,6 +31,7 @@ static const struct of_device_id onboard_hub_match[] = {
>  	{ .compatible = "usb451,8140", .data = &ti_tusb8041_data, },
>  	{ .compatible = "usb451,8142", .data = &ti_tusb8041_data, },
>  	{ .compatible = "usb5e3,608", .data = &genesys_gl850g_data, },
> +	{ .compatible = "genesys,usb5e3,610", .data = &genesys_gl850g_data, },

s/genesys,//

>  	{ .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
>  	{ .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
>  	{ .compatible = "usbbda,414", .data = &realtek_rts5411_data, },
> -- 
> 2.38.1
>
  
Matthias Kaehlcke Jan. 4, 2023, 8:53 p.m. UTC | #2
On Wed, Jan 04, 2023 at 08:28:18PM +0000, Matthias Kaehlcke wrote:
> On Wed, Dec 28, 2022 at 10:03:14AM +0000, Anand Moon wrote:
> > Genesys Logic GL852G-OHG is a 4-port USB 2.0 STT hub that has a reset pin to
> > toggle and a 5.0V core supply exported though an integrated LDO is
> > available for powering it.
> > 
> > Add the support for this hub, for controlling the reset pin and the core
> > power supply.
> > 
> > Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> > ---
> >  drivers/usb/misc/onboard_usb_hub.c | 1 +
> >  drivers/usb/misc/onboard_usb_hub.h | 1 +
> >  2 files changed, 2 insertions(+)
> > 
> > diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
> > index 94e7966e199d..c0e8e6f4ec0a 100644
> > --- a/drivers/usb/misc/onboard_usb_hub.c
> > +++ b/drivers/usb/misc/onboard_usb_hub.c
> > @@ -409,6 +409,7 @@ static void onboard_hub_usbdev_disconnect(struct usb_device *udev)
> >  
> >  static const struct usb_device_id onboard_hub_id_table[] = {
> >  	{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
> > +	{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G-OHG USB 2.0 */

Do you happen to know what '-OHG' stands for? The Genesys website only
mentions a GL852G with different package types (none of them 'OHG').
Unless there is an 'OHG' variant with a different product id I'd say
let's drop the suffix.

> >  	{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
> >  	{ USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */
> >  	{ USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
> > diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
> > index 62129a6a1ba5..2ee1b0032d23 100644
> > --- a/drivers/usb/misc/onboard_usb_hub.h
> > +++ b/drivers/usb/misc/onboard_usb_hub.h
> > @@ -31,6 +31,7 @@ static const struct of_device_id onboard_hub_match[] = {
> >  	{ .compatible = "usb451,8140", .data = &ti_tusb8041_data, },
> >  	{ .compatible = "usb451,8142", .data = &ti_tusb8041_data, },
> >  	{ .compatible = "usb5e3,608", .data = &genesys_gl850g_data, },
> > +	{ .compatible = "genesys,usb5e3,610", .data = &genesys_gl850g_data, },
> 
> s/genesys,//
> 
> >  	{ .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
> >  	{ .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
> >  	{ .compatible = "usbbda,414", .data = &realtek_rts5411_data, },
> > -- 
> > 2.38.1
> >
  
Anand Moon Jan. 7, 2023, 2:56 p.m. UTC | #3
Hi Matthias

On Thu, 5 Jan 2023 at 02:23, Matthias Kaehlcke <mka@chromium.org> wrote:
>
> On Wed, Jan 04, 2023 at 08:28:18PM +0000, Matthias Kaehlcke wrote:
> > On Wed, Dec 28, 2022 at 10:03:14AM +0000, Anand Moon wrote:
> > > Genesys Logic GL852G-OHG is a 4-port USB 2.0 STT hub that has a reset pin to
> > > toggle and a 5.0V core supply exported through an integrated LDO is
> > > available for powering it.
> > >
> > > Add the support for this hub, for controlling the reset pin and the core
> > > power supply.
> > >
> > > Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> > > ---
> > >  drivers/usb/misc/onboard_usb_hub.c | 1 +
> > >  drivers/usb/misc/onboard_usb_hub.h | 1 +
> > >  2 files changed, 2 insertions(+)
> > >
> > > diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
> > > index 94e7966e199d..c0e8e6f4ec0a 100644
> > > --- a/drivers/usb/misc/onboard_usb_hub.c
> > > +++ b/drivers/usb/misc/onboard_usb_hub.c
> > > @@ -409,6 +409,7 @@ static void onboard_hub_usbdev_disconnect(struct usb_device *udev)
> > >
> > >  static const struct usb_device_id onboard_hub_id_table[] = {
> > >     { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
> > > +   { USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G-OHG USB 2.0 */
>
> Do you happen to know what '-OHG' stands for? The Genesys website only
> mentions a GL852G with different package types (none of them 'OHG').
> Unless there is an 'OHG' variant with a different product id I'd say
> let's drop the suffix.

Ok, done.


>
> > >     { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
> > >     { USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */
> > >     { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
> > > diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
> > > index 62129a6a1ba5..2ee1b0032d23 100644
> > > --- a/drivers/usb/misc/onboard_usb_hub.h
> > > +++ b/drivers/usb/misc/onboard_usb_hub.h
> > > @@ -31,6 +31,7 @@ static const struct of_device_id onboard_hub_match[] = {
> > >     { .compatible = "usb451,8140", .data = &ti_tusb8041_data, },
> > >     { .compatible = "usb451,8142", .data = &ti_tusb8041_data, },
> > >     { .compatible = "usb5e3,608", .data = &genesys_gl850g_data, },
> > > +   { .compatible = "genesys,usb5e3,610", .data = &genesys_gl850g_data, },
> >
> > s/genesys,//
> >
> > >     { .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
> > >     { .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
> > >     { .compatible = "usbbda,414", .data = &realtek_rts5411_data, },
> > > --
> > > 2.38.1
> > >
  

Patch

diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
index 94e7966e199d..c0e8e6f4ec0a 100644
--- a/drivers/usb/misc/onboard_usb_hub.c
+++ b/drivers/usb/misc/onboard_usb_hub.c
@@ -409,6 +409,7 @@  static void onboard_hub_usbdev_disconnect(struct usb_device *udev)
 
 static const struct usb_device_id onboard_hub_id_table[] = {
 	{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
+	{ USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G-OHG USB 2.0 */
 	{ USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
 	{ USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */
 	{ USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
index 62129a6a1ba5..2ee1b0032d23 100644
--- a/drivers/usb/misc/onboard_usb_hub.h
+++ b/drivers/usb/misc/onboard_usb_hub.h
@@ -31,6 +31,7 @@  static const struct of_device_id onboard_hub_match[] = {
 	{ .compatible = "usb451,8140", .data = &ti_tusb8041_data, },
 	{ .compatible = "usb451,8142", .data = &ti_tusb8041_data, },
 	{ .compatible = "usb5e3,608", .data = &genesys_gl850g_data, },
+	{ .compatible = "genesys,usb5e3,610", .data = &genesys_gl850g_data, },
 	{ .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
 	{ .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
 	{ .compatible = "usbbda,414", .data = &realtek_rts5411_data, },