Re: [PATCH] usb: dwc2: Disable power down feature on Samsung SoCs
From: Minas Harutyunyan
Date: Wed Nov 21 2018 - 02:16:09 EST
On 11/20/2018 7:38 PM, Marek Szyprowski wrote:
> Power down feature of DWC2 module integrated in Samsung SoCs doesn't work
> properly or needs some additional handling in PHY or SoC glue layer, so
> disable it for now. Without disabling power down, DWC2 causes random memory
> trashes and fails enumeration if there is no USB link to host on driver
> probe.
>
> Fixes: 03ea6d6e9e1ff1 ("usb: dwc2: Enable power down")
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Acked-by: Minas Harutyunyan <hminas@xxxxxxxxxxxx>
> ---
> drivers/usb/dwc2/params.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
> index 7c1b6938f212..266157ae179a 100644
> --- a/drivers/usb/dwc2/params.c
> +++ b/drivers/usb/dwc2/params.c
> @@ -71,6 +71,13 @@ static void dwc2_set_his_params(struct dwc2_hsotg *hsotg)
> p->power_down = false;
> }
>
> +static void dwc2_set_s3c6400_params(struct dwc2_hsotg *hsotg)
> +{
> + struct dwc2_core_params *p = &hsotg->params;
> +
> + p->power_down = 0;
> +}
> +
> static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg)
> {
> struct dwc2_core_params *p = &hsotg->params;
> @@ -151,7 +158,8 @@ const struct of_device_id dwc2_of_match_table[] = {
> { .compatible = "lantiq,arx100-usb", .data = dwc2_set_ltq_params },
> { .compatible = "lantiq,xrx200-usb", .data = dwc2_set_ltq_params },
> { .compatible = "snps,dwc2" },
> - { .compatible = "samsung,s3c6400-hsotg" },
> + { .compatible = "samsung,s3c6400-hsotg",
> + .data = dwc2_set_s3c6400_params },
> { .compatible = "amlogic,meson8-usb",
> .data = dwc2_set_amlogic_params },
> { .compatible = "amlogic,meson8b-usb",
>