Re: [PATCH 1/6] dt-bindings: usb: dwc3: Clean up hs_phy_irq in bindings

From: Johan Hovold
Date: Tue Nov 28 2023 - 05:57:27 EST


On Tue, Nov 28, 2023 at 04:02:53PM +0530, Krishna Kurapati PSSNV wrote:

> > >> My opinion would be to keep the power_event irq as mandatory and not to
> >> include the hs_phy_irq.
> >
> > Ok, but you still need to explain why dropping hs_phy_irq is correct.
> >
> > Until there's a clear answer to that, it seems we need to include it.
>
> Sure, I agree with you. It should describe what hardware is capable of,
> not what we choose to add in driver code. In that sense we can add the
> hs_phy_irq to all targets.
>
> In my next revision, I can do the following:
>
> - anyOf:
> - items:
> - const: qusb2_phy
> - items:
> - const: dp_hs_phy_irq
> - const: dm_hs_phy_irq
> - const: hs_phy_irq
> - const: pwr_event
> - const: ss_phy_irq (optional)
>
> A modified version of your suggestion should help cover all cases and
> describe all DT's perfectly.

It may be better to spell out the permutations. Especially since there
are no platforms with both qusb2_phy and dp/dm as I thought when
mentioning the above. Using anyOf also makes it hard to specify
min/maxItems as you'll need to do.

So back to my initial proposal, with a slight modification moving
pwr_event first (e.g. as it is not a wakeup interrupt):

qusb2-:

- const: pwr_event
- const: qusb2_phy
- const: ss_phy_irq (optional)

qusb2:

- const: pwr_event
- const: hs_phy_irq
- const: qusb2_phy
- const: ss_phy_irq (optional)

femto-:
- const: pwr_event
- const: dp_hs_phy_irq
- const: dm_hs_phy_irq
- const: ss_phy_irq (optional)

femto:
- const: pwr_event
- const: hs_phy_irq
- const: dp_hs_phy_irq
- const: dm_hs_phy_irq
- const: ss_phy_irq (optional)

That ss_phy_irq is optional would be expressed as minItems being one
less than maxItems for each permutation.

Johan