6f60926bab
Parameters for dwc2 on lantiq. A separate dwc2_core_params structure is defined for danube because danube fifo sizes are large enough to be autodetected. This is not the case on arx and vrx. Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
75 lines
2.3 KiB
Diff
75 lines
2.3 KiB
Diff
--- a/drivers/usb/dwc2/platform.c
|
|
+++ b/drivers/usb/dwc2/platform.c
|
|
@@ -145,6 +145,62 @@ static int __dwc2_lowlevel_hw_enable(str
|
|
return ret;
|
|
}
|
|
|
|
+static const struct dwc2_core_params params_ltq = {
|
|
+ .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 = 288, /* 288 DWORDs */
|
|
+ .host_nperio_tx_fifo_size = 128, /* 128 DWORDs */
|
|
+ .host_perio_tx_fifo_size = 96, /* 96 DWORDs */
|
|
+ .max_transfer_size = -1,
|
|
+ .max_packet_count = 511,
|
|
+ .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 = GAHBCFG_HBSTLEN_INCR16 << GAHBCFG_HBSTLEN_SHIFT,
|
|
+ .uframe_sched = -1,
|
|
+};
|
|
+
|
|
+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,
|
|
+};
|
|
+
|
|
/**
|
|
* dwc2_lowlevel_hw_enable - enable platform lowlevel hw resources
|
|
* @hsotg: The driver state
|
|
@@ -310,6 +366,9 @@ 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,ifxhcd-danube-dwc2", .data = ¶ms_danube },
|
|
+ { .compatible = "lantiq,ifxhcd-arx100-dwc2", .data = ¶ms_ltq },
|
|
+ { .compatible = "lantiq,ifxhcd-xrx200-dwc2", .data = ¶ms_ltq },
|
|
{ .compatible = "snps,dwc2", .data = NULL },
|
|
{ .compatible = "samsung,s3c6400-hsotg", .data = NULL},
|
|
{},
|