[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 = ¶ms_bcm2835 },
{ .compatible = "rockchip,rk3066-usb", .data = ¶ms_rk3066 },
- { .compatible = "lantiq,arx100-usb", .data = ¶ms_ltq },
- { .compatible = "lantiq,xrx200-usb", .data = ¶ms_ltq },
-+ { .compatible = "lantiq,danube-usb", .data = NULL },
++ { .compatible = "lantiq,danube-usb", .data = ¶ms_danube },
+ { .compatible = "lantiq,ase-usb", .data = ¶ms_ase },
+ { .compatible = "lantiq,arx100-usb", .data = ¶ms_ase },
+ { .compatible = "lantiq,xrx200-usb", .data = ¶ms_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 = ¶ms_bcm2835 },
{ .compatible = "hisilicon,hi6220-usb", .data = ¶ms_hi6220 },
{ .compatible = "rockchip,rk3066-usb", .data = ¶ms_rk3066 },
- { .compatible = "lantiq,arx100-usb", .data = ¶ms_ltq },
- { .compatible = "lantiq,xrx200-usb", .data = ¶ms_ltq },
-+ { .compatible = "lantiq,danube-usb", .data = NULL },
++ { .compatible = "lantiq,danube-usb", .data = ¶ms_danube },
+ { .compatible = "lantiq,ase-usb", .data = ¶ms_ase },
+ { .compatible = "lantiq,arx100-usb", .data = ¶ms_ase },
+ { .compatible = "lantiq,xrx200-usb", .data = ¶ms_xrx200 },
--
2.6.4
More information about the Lede-dev
mailing list