On 07/29/2017 02:54 PM, Daniel Gonzalez Cabanelas wrote:
> 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 <dgcb...@gmail.com>
> ---
>  ...ke-the-lantiq-settings-match-vendor-drive.patch | 78 
> +++++++++++++++-------
>  ...ke-the-lantiq-settings-match-vendor-drive.patch | 41 ++++++++++--
>  2 files changed, 90 insertions(+), 29 deletions(-)
> 
> diff --git 
> a/target/linux/lantiq/patches-4.4/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
>  
> b/target/linux/lantiq/patches-4.4/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
> index 1eda4cc..d92e7b1 100644
> --- 
> a/target/linux/lantiq/patches-4.4/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
> +++ 
> b/target/linux/lantiq/patches-4.4/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
> @@ -23,16 +23,46 @@ Signed-off-by: Hauke Mehrtens <ha...@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 <ha...@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 <ha...@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,

What are you changing here? Is that related to your danube change?

>       .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 },
> diff --git 
> a/target/linux/lantiq/patches-4.9/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
>  
> b/target/linux/lantiq/patches-4.9/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
> index bff603f..4d18443 100644
> --- 
> a/target/linux/lantiq/patches-4.9/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
> +++ 
> b/target/linux/lantiq/patches-4.9/0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
> @@ -23,16 +23,47 @@ Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de>
>  
>  --- a/drivers/usb/dwc2/platform.c
>  +++ b/drivers/usb/dwc2/platform.c
> -@@ -151,7 +151,7 @@ static const struct dwc2_core_params par
> +@@ -151,7 +151,38 @@ 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,
> ++    .dma_desc_fs_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,
> -@@ -163,8 +163,8 @@ static const struct dwc2_core_params par
> +@@ -163,8 +194,8 @@ 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 */
> @@ -43,7 +74,7 @@ Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de>
>       .host_channels                  = -1,
>       .phy_type                       = -1,
>       .phy_utmi_width                 = -1,
> -@@ -176,8 +176,37 @@ static const struct dwc2_core_params par
> +@@ -176,8 +207,37 @@ static const struct dwc2_core_params par
>       .host_ls_low_power_phy_clk      = -1,
>       .ts_dline                       = -1,
>       .reload_ctl                     = -1,
> @@ -83,13 +114,13 @@ Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de>
>       .uframe_sched                   = -1,
>       .external_id_pin_ctl            = -1,
>       .hibernation                    = -1,
> -@@ -515,8 +544,11 @@ static const struct of_device_id dwc2_of
> +@@ -515,8 +575,11 @@ static const struct of_device_id dwc2_of
>       { .compatible = "brcm,bcm2835-usb", .data = &params_bcm2835 },
>       { .compatible = "hisilicon,hi6220-usb", .data = &params_hi6220 },
>       { .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 },
> 

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to