Message ID | 20181209190129.11870-2-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | cc10ce0c51b13d1566d0ec1dcb472fb86330b391 |
Headers | show |
Series | usb: dwc2: fix hot plugging on Amlogic devices | expand |
On 12/9/2018 11:01 PM, Martin Blumenstingl wrote: > Disable power_down by setting the parameter to > DWC2_POWER_DOWN_PARAM_NONE. This fixes a problem on various Amlogic > Meson SoCs where USB devices are only recognized when plugged in before > booting Linux. A hot-plugged USB device was not detected even though the > device got power (my USB thumb drive for example has an LED which lit > up). > > A similar fix was implemented for Rockchip SoCs in commit c216765d3a1def > ("usb: dwc2: disable power_down on rockchip devices"). That commit > suggests that a change in the dwc2 driver is the cause because the > default value for the "hibernate" parameter (which then got renamed to > "power_down" to support other modes) was changed in the v4.17 merge > window with: > commit 6d23ee9caa6790 ("Merge tag 'usb-for-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-testing"). > > Cc: <stable@vger.kernel.org> # 4.19 > Suggested-by: Christian Hewitt <christianshewitt@gmail.com> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Acked-by: Minas Harutyunyan <hminas@synopsys.com> > --- > drivers/usb/dwc2/params.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c > index 7c1b6938f212..38c813b1d203 100644 > --- a/drivers/usb/dwc2/params.c > +++ b/drivers/usb/dwc2/params.c > @@ -111,6 +111,7 @@ static void dwc2_set_amlogic_params(struct dwc2_hsotg *hsotg) > p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI; > p->ahbcfg = GAHBCFG_HBSTLEN_INCR8 << > GAHBCFG_HBSTLEN_SHIFT; > + p->power_down = DWC2_POWER_DOWN_PARAM_NONE; > } > > static void dwc2_set_amcc_params(struct dwc2_hsotg *hsotg) >
On 10/12/2018 6:01 am, Martin Blumenstingl wrote: > Disable power_down by setting the parameter to > DWC2_POWER_DOWN_PARAM_NONE. This fixes a problem on various Amlogic > Meson SoCs where USB devices are only recognized when plugged in before > booting Linux. A hot-plugged USB device was not detected even though the > device got power (my USB thumb drive for example has an LED which lit > up). > > A similar fix was implemented for Rockchip SoCs in commit c216765d3a1def > ("usb: dwc2: disable power_down on rockchip devices"). That commit > suggests that a change in the dwc2 driver is the cause because the > default value for the "hibernate" parameter (which then got renamed to > "power_down" to support other modes) was changed in the v4.17 merge > window with: > commit 6d23ee9caa6790 ("Merge tag 'usb-for-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-testing"). > > Cc: <stable@vger.kernel.org> # 4.19 > Suggested-by: Christian Hewitt <christianshewitt@gmail.com> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Fixed the issue on the Odroid C2 sbc with amlogic meson gxbb soc, devices are now detected when connected after boot Tested-by: Brad Harper <bjharper@gmail.com> > --- > drivers/usb/dwc2/params.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c > index 7c1b6938f212..38c813b1d203 100644 > --- a/drivers/usb/dwc2/params.c > +++ b/drivers/usb/dwc2/params.c > @@ -111,6 +111,7 @@ static void dwc2_set_amlogic_params(struct dwc2_hsotg *hsotg) > p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI; > p->ahbcfg = GAHBCFG_HBSTLEN_INCR8 << > GAHBCFG_HBSTLEN_SHIFT; > + p->power_down = DWC2_POWER_DOWN_PARAM_NONE; > } > > static void dwc2_set_amcc_params(struct dwc2_hsotg *hsotg) >
diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c index 7c1b6938f212..38c813b1d203 100644 --- a/drivers/usb/dwc2/params.c +++ b/drivers/usb/dwc2/params.c @@ -111,6 +111,7 @@ static void dwc2_set_amlogic_params(struct dwc2_hsotg *hsotg) p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI; p->ahbcfg = GAHBCFG_HBSTLEN_INCR8 << GAHBCFG_HBSTLEN_SHIFT; + p->power_down = DWC2_POWER_DOWN_PARAM_NONE; } static void dwc2_set_amcc_params(struct dwc2_hsotg *hsotg)
Disable power_down by setting the parameter to DWC2_POWER_DOWN_PARAM_NONE. This fixes a problem on various Amlogic Meson SoCs where USB devices are only recognized when plugged in before booting Linux. A hot-plugged USB device was not detected even though the device got power (my USB thumb drive for example has an LED which lit up). A similar fix was implemented for Rockchip SoCs in commit c216765d3a1def ("usb: dwc2: disable power_down on rockchip devices"). That commit suggests that a change in the dwc2 driver is the cause because the default value for the "hibernate" parameter (which then got renamed to "power_down" to support other modes) was changed in the v4.17 merge window with: commit 6d23ee9caa6790 ("Merge tag 'usb-for-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-testing"). Cc: <stable@vger.kernel.org> # 4.19 Suggested-by: Christian Hewitt <christianshewitt@gmail.com> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> --- drivers/usb/dwc2/params.c | 1 + 1 file changed, 1 insertion(+)