[LEDE-DEV] [PATCH] lantiq: fix missing otg_cap on danube platform

Daniel Gonzalez Cabanelas dgcbueu at gmail.com
Sat Jul 29 05:54:15 PDT 2017


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 at 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 <hauke at 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 at 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 at 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 },
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 <hauke at 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 <hauke at 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 <hauke at 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 },
-- 
2.6.4





More information about the Lede-dev mailing list