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