Re: [PATCH] usb: dwc2: Disable power down feature on Samsung SoCs

From: Artur Petrosyan
Date: Tue Dec 04 2018 - 09:28:51 EST


Hi Marek,

On 11/20/2018 19:38, 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>
> ---
> 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",
>

Could you please provide dmesg logs with verbose Debug enabled
configuration and the register dump.
So that we can see what the issue is related to.

Regards,
Artur