Hi Stefan, On 2/19/2019 10:23 PM, Stefan Wahren wrote: > According to the BCM2835 datasheet the used Synopsys IP isn't a LPM-capable > core. So disable these features and suppress these confusing warnings: > > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter lpm=1 > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1 > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter besl=1 > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1 > > Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> > --- > drivers/usb/dwc2/params.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c > index 24ff5f2..a158abb 100644 > --- a/drivers/usb/dwc2/params.c > +++ b/drivers/usb/dwc2/params.c > @@ -47,6 +47,10 @@ static void dwc2_set_bcm_params(struct dwc2_hsotg *hsotg) > p->max_transfer_size = 65535; > p->max_packet_count = 511; > p->ahbcfg = 0x10; > + p->lpm = false; > + p->lpm_clock_gating = false; > + p->besl = false; > + p->hird_threshold_en = false; > } > > static void dwc2_set_his_params(struct dwc2_hsotg *hsotg) > What about to apply below patch: diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c index c1912627a032..6b86aa42f003 100644 --- a/drivers/usb/dwc2/params.c +++ b/drivers/usb/dwc2/params.c @@ -303,11 +303,17 @@ static void dwc2_set_default_params(struct dwc2_hsotg *hsotg) p->reload_ctl = (hw->snpsid >= DWC2_CORE_REV_2_92a); p->uframe_sched = true; p->external_id_pin_ctl = false; - p->lpm = true; - p->lpm_clock_gating = true; - p->besl = true; - p->hird_threshold_en = true; - p->hird_threshold = 4; + p->lpm = hw->lpm_mode; + if (p->lpm) { + p->lpm_clock_gating = true; + p->besl = true; + p->hird_threshold_en = true; + p->hird_threshold = 4; + } else { + p->lpm_clock_gating = false; + p->besl = false; + p->hird_threshold_en = false; + } p->ipg_isoc_en = false; p->service_interval = false; p->max_packet_count = hw->max_packet_count; Thanks, Minas