mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
aac25bdba5
This patch backports verbatim the commit from Linux 5.2-rc7 that fixes the warnings about invalid lpm related parameters on hardware which don't that. This is the case for e.g. lantiq xrx200 targets. Supported only in Linux 4.17 an later. Signed-off-by: Martin Schiller <ms@dev.tdt.de> [refresh patches, fix commit title] Signed-off-by: Mathias Kresin <dev@kresin.me>
64 lines
1.8 KiB
Diff
64 lines
1.8 KiB
Diff
--- a/drivers/usb/dwc2/params.c
|
|
+++ b/drivers/usb/dwc2/params.c
|
|
@@ -151,6 +151,36 @@ static void dwc2_set_stm32f7_hsotg_param
|
|
p->host_perio_tx_fifo_size = 256;
|
|
}
|
|
|
|
+static void dwc2_set_cns3xxx_params(struct dwc2_hsotg *hsotg)
|
|
+{
|
|
+ struct dwc2_core_params *p = &hsotg->params;
|
|
+
|
|
+ p->otg_cap = DWC2_CAP_PARAM_NO_HNP_SRP_CAPABLE; /* non-HNP/non-SRP capable */
|
|
+ p->host_dma = 1;
|
|
+ p->dma_desc_enable = 0;
|
|
+ p->speed = DWC2_SPEED_PARAM_HIGH; /* High Speed */
|
|
+ p->enable_dynamic_fifo = 1;
|
|
+ p->en_multiple_tx_fifo = 1;
|
|
+ p->host_rx_fifo_size = 658; /* 774 DWORDs */
|
|
+ p->host_nperio_tx_fifo_size = 128; /* 256 DWORDs */
|
|
+ p->host_perio_tx_fifo_size = 658; /* 512 DWORDs */
|
|
+ p->max_transfer_size = 65535,
|
|
+ p->max_packet_count = 511;
|
|
+ p->host_channels = 16;
|
|
+ p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI; /* UTMI */
|
|
+ p->phy_utmi_width = 16; /* 8 bits */
|
|
+ p->phy_ulpi_ddr = 0; /* Single */
|
|
+ p->phy_ulpi_ext_vbus = 0;
|
|
+ p->i2c_enable = 0;
|
|
+ p->ulpi_fs_ls = 0;
|
|
+ p->host_support_fs_ls_low_power = 0;
|
|
+ p->host_ls_low_power_phy_clk = 0; /* 48 MHz */
|
|
+ p->ts_dline = 0;
|
|
+ p->reload_ctl = 0;
|
|
+ p->ahbcfg = 0x10;
|
|
+ p->uframe_sched = false;
|
|
+}
|
|
+
|
|
const struct of_device_id dwc2_of_match_table[] = {
|
|
{ .compatible = "brcm,bcm2835-usb", .data = dwc2_set_bcm_params },
|
|
{ .compatible = "hisilicon,hi6220-usb", .data = dwc2_set_his_params },
|
|
@@ -819,17 +849,23 @@ int dwc2_get_hwparams(struct dwc2_hsotg
|
|
|
|
int dwc2_init_params(struct dwc2_hsotg *hsotg)
|
|
{
|
|
+ /*
|
|
const struct of_device_id *match;
|
|
void (*set_params)(void *data);
|
|
+ */
|
|
|
|
dwc2_set_default_params(hsotg);
|
|
dwc2_get_device_properties(hsotg);
|
|
|
|
+ /*
|
|
match = of_match_device(dwc2_of_match_table, hsotg->dev);
|
|
if (match && match->data) {
|
|
set_params = match->data;
|
|
set_params(hsotg);
|
|
}
|
|
+ */
|
|
+
|
|
+ dwc2_set_cns3xxx_params(hsotg);
|
|
|
|
dwc2_check_params(hsotg);
|
|
|