lantiq: fix missing otg_cap on danube platform
authorDaniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Sat, 29 Jul 2017 12:54:15 +0000 (14:54 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 20 Sep 2017 19:45:39 +0000 (21:45 +0200)
USB doesn't work in some danube boards because otg_cap
is missing since previous changes made on the USB-dwc2
lantiq driver. Fix it.

Tested on the ARV7518PW router.

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
target/linux/lantiq/patches-4.4/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch

index 1eda4cc4f14f0aafb1ce1b0853f95734bdee4198..d92e7b1dcf3d77d48b49e56974e9e754afa58cd2 100644 (file)
@@ -23,16 +23,46 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 
 --- a/drivers/usb/dwc2/platform.c
 +++ b/drivers/usb/dwc2/platform.c
-@@ -116,7 +116,7 @@ static const struct dwc2_core_params par
+@@ -116,7 +116,37 @@ static const struct dwc2_core_params par
        .hibernation                    = -1,
  };
  
 -static const struct dwc2_core_params params_ltq = {
++static const struct dwc2_core_params params_danube = {
++      .otg_cap                        = 2,    /* non-HNP/non-SRP */
++      .otg_ver                        = -1,
++      .dma_enable                     = -1,
++      .dma_desc_enable                = -1,
++      .speed                          = -1,
++      .enable_dynamic_fifo            = -1,
++      .en_multiple_tx_fifo            = -1,
++      .host_rx_fifo_size              = -1,
++      .host_nperio_tx_fifo_size       = -1,
++      .host_perio_tx_fifo_size        = -1,
++      .max_transfer_size              = -1,
++      .max_packet_count               = -1,
++      .host_channels                  = -1,
++      .phy_type                       = -1,
++      .phy_utmi_width                 = -1,
++      .phy_ulpi_ddr                   = -1,
++      .phy_ulpi_ext_vbus              = -1,
++      .i2c_enable                     = -1,
++      .ulpi_fs_ls                     = -1,
++      .host_support_fs_ls_low_power   = -1,
++      .host_ls_low_power_phy_clk      = -1,
++      .ts_dline                       = -1,
++      .reload_ctl                     = -1,
++      .ahbcfg                         = -1,
++      .uframe_sched                   = -1,
++      .external_id_pin_ctl            = -1,
++      .hibernation                    = -1,
++};
++
 +static const struct dwc2_core_params params_ase = {
        .otg_cap                        = 2,    /* non-HNP/non-SRP */
        .otg_ver                        = -1,
        .dma_enable                     = -1,
-@@ -127,8 +127,8 @@ static const struct dwc2_core_params par
+@@ -127,8 +157,38 @@ static const struct dwc2_core_params par
        .host_rx_fifo_size              = 288,  /* 288 DWORDs */
        .host_nperio_tx_fifo_size       = 128,  /* 128 DWORDs */
        .host_perio_tx_fifo_size        = 96,   /* 96 DWORDs */
@@ -40,15 +70,17 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 -      .max_packet_count               = 511,
 +      .max_transfer_size              = -1,
 +      .max_packet_count               = -1,
-       .host_channels                  = -1,
-       .phy_type                       = -1,
-       .phy_utmi_width                 = -1,
-@@ -140,8 +140,37 @@ static const struct dwc2_core_params par
-       .host_ls_low_power_phy_clk      = -1,
-       .ts_dline                       = -1,
-       .reload_ctl                     = -1,
--      .ahbcfg                         = GAHBCFG_HBSTLEN_INCR16 <<
--                                        GAHBCFG_HBSTLEN_SHIFT,
++      .host_channels                  = -1,
++      .phy_type                       = -1,
++      .phy_utmi_width                 = -1,
++      .phy_ulpi_ddr                   = -1,
++      .phy_ulpi_ext_vbus              = -1,
++      .i2c_enable                     = -1,
++      .ulpi_fs_ls                     = -1,
++      .host_support_fs_ls_low_power   = -1,
++      .host_ls_low_power_phy_clk      = -1,
++      .ts_dline                       = -1,
++      .reload_ctl                     = -1,
 +      .ahbcfg                         = -1,
 +      .uframe_sched                   = -1,
 +      .external_id_pin_ctl            = -1,
@@ -68,28 +100,26 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 +      .host_perio_tx_fifo_size        = 136,  /* 136 DWORDs */
 +      .max_transfer_size              = -1,
 +      .max_packet_count               = -1,
-+      .host_channels                  = -1,
-+      .phy_type                       = -1,
-+      .phy_utmi_width                 = -1,
-+      .phy_ulpi_ddr                   = -1,
-+      .phy_ulpi_ext_vbus              = -1,
-+      .i2c_enable                     = -1,
-+      .ulpi_fs_ls                     = -1,
-+      .host_support_fs_ls_low_power   = -1,
-+      .host_ls_low_power_phy_clk      = -1,
-+      .ts_dline                       = -1,
-+      .reload_ctl                     = -1,
+       .host_channels                  = -1,
+       .phy_type                       = -1,
+       .phy_utmi_width                 = -1,
+@@ -140,8 +200,7 @@ static const struct dwc2_core_params par
+       .host_ls_low_power_phy_clk      = -1,
+       .ts_dline                       = -1,
+       .reload_ctl                     = -1,
+-      .ahbcfg                         = GAHBCFG_HBSTLEN_INCR16 <<
+-                                        GAHBCFG_HBSTLEN_SHIFT,
 +      .ahbcfg                         = -1,
        .uframe_sched                   = -1,
        .external_id_pin_ctl            = -1,
        .hibernation                    = -1,
-@@ -341,8 +370,11 @@ static int dwc2_driver_remove(struct pla
+@@ -341,8 +400,11 @@ static int dwc2_driver_remove(struct pla
  static const struct of_device_id dwc2_of_match_table[] = {
        { .compatible = "brcm,bcm2835-usb", .data = &params_bcm2835 },
        { .compatible = "rockchip,rk3066-usb", .data = &params_rk3066 },
 -      { .compatible = "lantiq,arx100-usb", .data = &params_ltq },
 -      { .compatible = "lantiq,xrx200-usb", .data = &params_ltq },
-+      { .compatible = "lantiq,danube-usb", .data = NULL },
++      { .compatible = "lantiq,danube-usb", .data = &params_danube },
 +      { .compatible = "lantiq,ase-usb", .data = &params_ase },
 +      { .compatible = "lantiq,arx100-usb", .data = &params_ase },
 +      { .compatible = "lantiq,xrx200-usb", .data = &params_xrx200 },