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

From: Thinh Nguyen
Date: Wed Aug 30 2023 - 23:02:22 EST


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?

Thanks,
Thinh