diff mbox series

[V1,3/4] usb: gadget: tegra-xudc: Add Tegra194 support

Message ID 1587022460-31988-4-git-send-email-nkristam@nvidia.com
State Deferred
Headers show
Series Tegra XUDC support on Tegra194 Soc | expand

Commit Message

Nagarjuna Kristam April 16, 2020, 7:34 a.m. UTC
This commit adds support for XUSB device mode controller support on
Tegra194 SoC. This is very similar to the existing Tegra186 XUDC, with lpm
support added in addition.

Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
---
 drivers/usb/gadget/udc/tegra-xudc.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

Thierry Reding April 28, 2020, 12:21 p.m. UTC | #1
On Thu, Apr 16, 2020 at 01:04:19PM +0530, Nagarjuna Kristam wrote:
> This commit adds support for XUSB device mode controller support on
> Tegra194 SoC. This is very similar to the existing Tegra186 XUDC, with lpm
> support added in addition.
> 
> Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
> ---
>  drivers/usb/gadget/udc/tegra-xudc.c | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c
> index 52a6add..fb01117 100644
> --- a/drivers/usb/gadget/udc/tegra-xudc.c
> +++ b/drivers/usb/gadget/udc/tegra-xudc.c
> @@ -3494,6 +3494,13 @@ static const char * const tegra186_xudc_clock_names[] = {
>  	"fs_src",
>  };
>  
> +static const char * const tegra194_xudc_clock_names[] = {
> +	"dev",
> +	"ss",
> +	"ss_src",
> +	"fs_src",
> +};
> +

This looks identical to tegra186_xudc_clock_names, so there's no need to
duplicate them. Just reuse the other one for Tegra194.

With that fixed:

Acked-by: Thierry Reding <treding@nvidia.com>
diff mbox series

Patch

diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c
index 52a6add..fb01117 100644
--- a/drivers/usb/gadget/udc/tegra-xudc.c
+++ b/drivers/usb/gadget/udc/tegra-xudc.c
@@ -3494,6 +3494,13 @@  static const char * const tegra186_xudc_clock_names[] = {
 	"fs_src",
 };
 
+static const char * const tegra194_xudc_clock_names[] = {
+	"dev",
+	"ss",
+	"ss_src",
+	"fs_src",
+};
+
 static struct tegra_xudc_soc tegra210_xudc_soc_data = {
 	.supply_names = tegra210_xudc_supply_names,
 	.num_supplies = ARRAY_SIZE(tegra210_xudc_supply_names),
@@ -3522,6 +3529,19 @@  static struct tegra_xudc_soc tegra186_xudc_soc_data = {
 	.has_ipfs = false,
 };
 
+static struct tegra_xudc_soc tegra194_xudc_soc_data = {
+	.clock_names = tegra194_xudc_clock_names,
+	.num_clks = ARRAY_SIZE(tegra194_xudc_clock_names),
+	.num_phys = 4,
+	.u1_enable = true,
+	.u2_enable = true,
+	.lpm_enable = true,
+	.invalid_seq_num = false,
+	.pls_quirk = false,
+	.port_reset_quirk = false,
+	.has_ipfs = false,
+};
+
 static const struct of_device_id tegra_xudc_of_match[] = {
 	{
 		.compatible = "nvidia,tegra210-xudc",
@@ -3531,6 +3551,10 @@  static const struct of_device_id tegra_xudc_of_match[] = {
 		.compatible = "nvidia,tegra186-xudc",
 		.data = &tegra186_xudc_soc_data
 	},
+	{
+		.compatible = "nvidia,tegra194-xudc",
+		.data = &tegra194_xudc_soc_data
+	},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, tegra_xudc_of_match);