[PATCH 2/3] usb: gadget: aspeed: add ast2600 vhub support

From: rentao . bupt
Date: Fri Jan 31 2020 - 17:22:17 EST


From: Tao Ren <rentao.bupt@xxxxxxxxx>

Add AST2600 support in aspeed-vhub driver. There are 3 major differences
between AST2500 and AST2600 vhub:
- AST2600 supports 7 downstream ports while AST2500 supports 5.
- AST2600 supports 21 generic endpoints while AST2500 supports 15.
- EP0 data buffer's 8-byte DMA alignment restriction is removed from
AST2600.

Signed-off-by: Tao Ren <rentao.bupt@xxxxxxxxx>
Reviewed-by: Andrew Jeffery <andrew@xxxxxxxx>
---
drivers/usb/gadget/udc/aspeed-vhub/Kconfig | 4 ++--
drivers/usb/gadget/udc/aspeed-vhub/core.c | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/udc/aspeed-vhub/Kconfig b/drivers/usb/gadget/udc/aspeed-vhub/Kconfig
index 83ba8a2eb6af..605500b19cf3 100644
--- a/drivers/usb/gadget/udc/aspeed-vhub/Kconfig
+++ b/drivers/usb/gadget/udc/aspeed-vhub/Kconfig
@@ -4,5 +4,5 @@ config USB_ASPEED_VHUB
depends on ARCH_ASPEED || COMPILE_TEST
depends on USB_LIBCOMPOSITE
help
- USB peripheral controller for the Aspeed AST2500 family
- SoCs supporting the "vHub" functionality and USB2.0
+ USB peripheral controller for the Aspeed AST2400, AST2500 and
+ AST2600 family SoCs supporting the "vHub" functionality and USB2.0
diff --git a/drivers/usb/gadget/udc/aspeed-vhub/core.c b/drivers/usb/gadget/udc/aspeed-vhub/core.c
index 94081cc04113..c827bf420278 100644
--- a/drivers/usb/gadget/udc/aspeed-vhub/core.c
+++ b/drivers/usb/gadget/udc/aspeed-vhub/core.c
@@ -42,6 +42,11 @@ static const struct ast_vhub_config ast2400_config = {
.max_epns = 15,
};

+static const struct ast_vhub_config ast2600_config = {
+ .max_ports = 7,
+ .max_epns = 21,
+};
+
static const struct of_device_id ast_vhub_dt_ids[] = {
{
.compatible = "aspeed,ast2400-usb-vhub",
@@ -51,6 +56,10 @@ static const struct of_device_id ast_vhub_dt_ids[] = {
.compatible = "aspeed,ast2500-usb-vhub",
.data = &ast2400_config,
},
+ {
+ .compatible = "aspeed,ast2600-usb-vhub",
+ .data = &ast2600_config,
+ },
{ }
};
MODULE_DEVICE_TABLE(of, ast_vhub_dt_ids);
--
2.17.1