Re: [PATCH v4 2/3] dt-bindings: usb: snps,dwc3: Add runtime-suspend-on-usb-suspend property

From: Krzysztof Kozlowski
Date: Thu Aug 31 2023 - 02:30:05 EST


On 31/08/2023 05:01, Thinh Nguyen wrote:
> On Wed, Aug 30, 2023, Krzysztof Kozlowski wrote:
>> On 30/08/2023 06:31, Elson Serrao wrote:
>>>
>>>
>>> On 8/29/2023 6:37 PM, Thinh Nguyen wrote:
>>>> Just want to clarify, there are dwc3 properties and there are dt binding
>>>> properties. Often the case that dt binding matches 1-to-1 with dwc3
>>>> driver property. Now, we need to enhance the checkers so that the dwc3
>>>> driver property to match cases where it is platform specific and through
>>>> compatible string.
>>>>
>>>
>>> Thank you for the clarification Thinh.
>>> To confirm, we would need to modify the driver to parse a new compatible
>>> string (say "snps,dwc3-ext-wakeup") and add .data field so that the
>>> driver is aware that this particular platform supports external wakeup
>>> detection.Right ?
>>
>> No, it's not then platform specific. You said it depends on each
>> platform. Platform is Qualcomm SM8450 for example.
>>
>
> Hi Elson,
>
> Use the compatible string of your platform.
>
> e.g.
> if (dev->of_node) {
> struct device_node *parent = of_get_parent(dev->of_node);
>
> dwc->no_disconnect_on_usb_suspend =
> of_device_is_compatible(parent, "qcom,your-compatible-string") ||
> of_device_is_compatible(parent, "some-other-platform");
> }
>
> You need to enhance dwc3_get_properties(). This may get big as dwc3 adds
> more properties. Perhaps you can help come up with ideas to keep this
> clean. Perhaps we can separate this out of dwc3 core.c?

This should be a flag or quirk in device ID table match data.

Best regards,
Krzysztof