Re: [RFC][PATCH 2/2] usb: dwc2: Add a quirk to allow speed negotiation for Hisilicon Hi6220

From: John Stultz
Date: Fri Oct 14 2016 - 14:24:57 EST


On Fri, Oct 14, 2016 at 8:00 AM, Rob Herring <robh+dt@xxxxxxxxxx> wrote:
> On Thu, Oct 13, 2016 at 6:29 PM, John Stultz <john.stultz@xxxxxxxxxx> wrote:
>> From: Chen Yu <chenyu56@xxxxxxxxxx>
>>
>> The Hi6220's usb controller is limited in that it does not
>> automatically autonegotiate the usb speed. Thus it requires a
>> quirk so that we can manually negotiate the best usb speed for
>> the attached device.
>>
>> Cc: Wei Xu <xuwei5@xxxxxxxxxxxxx>
>> Cc: Guodong Xu <guodong.xu@xxxxxxxxxx>
>> Cc: Amit Pundir <amit.pundir@xxxxxxxxxx>
>> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
>> Cc: Mark Rutland <mark.rutland@xxxxxxx>
>> Cc: John Youn <johnyoun@xxxxxxxxxxxx>
>> Cc: Douglas Anderson <dianders@xxxxxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Cc: linux-usb@xxxxxxxxxxxxxxx
>> Signed-off-by: Chen Yu <chenyu56@xxxxxxxxxx>
>> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
>> ---
>> arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 1 +
>> drivers/usb/dwc2/core.h | 7 +++
>> drivers/usb/dwc2/hcd.c | 75 +++++++++++++++++++++++++++++++
>> drivers/usb/dwc2/platform.c | 3 ++
>> 4 files changed, 86 insertions(+)
>>
[snip]
>> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
>> index 8e1728b..21c328b 100644
>> --- a/drivers/usb/dwc2/platform.c
>> +++ b/drivers/usb/dwc2/platform.c
>> @@ -585,6 +585,9 @@ static int dwc2_driver_probe(struct platform_device *dev)
>> dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n",
>> (unsigned long)res->start, hsotg->regs);
>>
>> + hsotg->change_speed_quirk = device_property_read_bool(&dev->dev,
>> + "hi6220,change_speed_quirk");
>
> Can't this be determined from the hi6220's compatible string?

Ah. Good suggestion! I'm moving the quirk field to the core_params.
Should avoid any dts or binding changes.

thanks
-john