usb: chipidea: tegra: Specify TX FIFO threshold in UDC SoC info
authorDmitry Osipenko <digetx@gmail.com>
Fri, 18 Dec 2020 12:02:44 +0000 (15:02 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Jan 2021 10:26:34 +0000 (11:26 +0100)
The UDC/OTG controller could be switched to a host mode and the
TXFILLTUNING register needs to be programmed properly for the host
mode. Hence specify the TX FIFO threshold in the UDC SoC info.

Acked-by: Peter Chen <peter.chen@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20201218120246.7759-8-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/ci_hdrc_tegra.c

index 6556711595118794b958070584a11609fa8026cd..90f2a8b786be6ba7015676e99b239bfbf188b10d 100644 (file)
@@ -52,11 +52,20 @@ static const struct tegra_usb_soc_info tegra30_ehci_soc_info = {
        .txfifothresh = 16,
 };
 
-static const struct tegra_usb_soc_info tegra_udc_soc_info = {
+static const struct tegra_usb_soc_info tegra20_udc_soc_info = {
        .flags = CI_HDRC_REQUIRES_ALIGNED_DMA |
                 CI_HDRC_OVERRIDE_PHY_CONTROL |
                 CI_HDRC_SUPPORTS_RUNTIME_PM,
        .dr_mode = USB_DR_MODE_UNKNOWN,
+       .txfifothresh = 10,
+};
+
+static const struct tegra_usb_soc_info tegra30_udc_soc_info = {
+       .flags = CI_HDRC_REQUIRES_ALIGNED_DMA |
+                CI_HDRC_OVERRIDE_PHY_CONTROL |
+                CI_HDRC_SUPPORTS_RUNTIME_PM,
+       .dr_mode = USB_DR_MODE_UNKNOWN,
+       .txfifothresh = 16,
 };
 
 static const struct of_device_id tegra_usb_of_match[] = {
@@ -68,16 +77,16 @@ static const struct of_device_id tegra_usb_of_match[] = {
                .data = &tegra30_ehci_soc_info,
        }, {
                .compatible = "nvidia,tegra20-udc",
-               .data = &tegra_udc_soc_info,
+               .data = &tegra20_udc_soc_info,
        }, {
                .compatible = "nvidia,tegra30-udc",
-               .data = &tegra_udc_soc_info,
+               .data = &tegra30_udc_soc_info,
        }, {
                .compatible = "nvidia,tegra114-udc",
-               .data = &tegra_udc_soc_info,
+               .data = &tegra30_udc_soc_info,
        }, {
                .compatible = "nvidia,tegra124-udc",
-               .data = &tegra_udc_soc_info,
+               .data = &tegra30_udc_soc_info,
        }, {
                /* sentinel */
        }