usb: usb251xb: Add support for USB2422

The USB2422 uses a different package that the USB251x and only comes in
a variant with 2 downstream ports. Other than that it is software
compatible.

Tested-by: Carsten Stelling <carsten.stelling@goerlitz.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20191023105250.16537-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Uwe Kleine-König 2019-10-23 12:52:50 +02:00 committed by Greg Kroah-Hartman
parent 6fa54eda64
commit cd7da3bc6c

View File

@ -156,6 +156,14 @@ struct usb251xb_data {
char product_str[USB251XB_STRING_BUFSIZE / 2]; /* ASCII string */ char product_str[USB251XB_STRING_BUFSIZE / 2]; /* ASCII string */
}; };
static const struct usb251xb_data usb2422_data = {
.product_id = 0x2422,
.port_cnt = 2,
.led_support = false,
.bat_support = true,
.product_str = "USB2422",
};
static const struct usb251xb_data usb2512b_data = { static const struct usb251xb_data usb2512b_data = {
.product_id = 0x2512, .product_id = 0x2512,
.port_cnt = 2, .port_cnt = 2,
@ -593,6 +601,9 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
static const struct of_device_id usb251xb_of_match[] = { static const struct of_device_id usb251xb_of_match[] = {
{ {
.compatible = "microchip,usb2422",
.data = &usb2422_data,
}, {
.compatible = "microchip,usb2512b", .compatible = "microchip,usb2512b",
.data = &usb2512b_data, .data = &usb2512b_data,
}, { }, {
@ -720,6 +731,7 @@ static int __maybe_unused usb251xb_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(usb251xb_pm_ops, usb251xb_suspend, usb251xb_resume); static SIMPLE_DEV_PM_OPS(usb251xb_pm_ops, usb251xb_suspend, usb251xb_resume);
static const struct i2c_device_id usb251xb_id[] = { static const struct i2c_device_id usb251xb_id[] = {
{ "usb2422", 0 },
{ "usb2512b", 0 }, { "usb2512b", 0 },
{ "usb2512bi", 0 }, { "usb2512bi", 0 },
{ "usb2513b", 0 }, { "usb2513b", 0 },