Re: [PATCH] dt-bindings: phy: imx8mq-usb: optionally refer to usb-switch.yaml

Conor Dooley
2024-11-15T18:34:56Z

[-- Attachment #1: Type: text/plain, Size: 2902 bytes --]

On Fri, Nov 15, 2024 at 10:00:45AM +0800, Xu Yang wrote:
> On Thu, Nov 14, 2024 at 05:45:07PM +0000, Conor Dooley wrote:
> > On Thu, Nov 14, 2024 at 06:22:03PM +0800, Xu Yang wrote:
> > > The i.MX95 usb-phy can work with or without orientation-switch. With
> > > current setting, if usb-phy works without orientation-switch, the
> > > dt-schema check will show below error:
> > >
> > > phy@4c1f0040: 'oneOf' conditional failed, one must be fixed:
> > > 'port' is a required property
> > > 'ports' is a required property
> > > from schema $id: http://devicetree.org/schemas/phy/fsl,imx8mq-usb-phy.yaml#
> > >
> > > This will add a condition to optionally refer to usb-switch.yaml.
> > >
> > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> >
> > $subject is not what the patch does.
>
> I look through other yaml and find below format could achieve the
> restriction on one property:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/tree/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml?h=usb-testing#n54
>
> - if:
> required:
> - mode-switch
> then:
> required:
> - enable-gpios
>
> If mode-switch is present, then enable-gpios is required. If not, then
> enable-gpios is not required.
>
> For my case, if compatible contains "fsl,imx95-usb-phy" and orientation-switch
> is present, then this schema needs to refer to usb-switch.yaml. If not. then
> this schema will not refer to usb-switch.yaml. So the subject could reflect
> the thing this patch does.
>
> Is this feasible? If not, could you give some advices?

Hmm, I guess I can now see an interpretation of the wording that
reflects what the patch contents contains. However, you need a hardware
based justification for the condition you're adding since it disables
mode-switch and defining port nodes etc if orientation-switch isn't present.
That's fine if that hardware doesn't support mode switching or ports
without orientation switching, but not if it does.

Cheers,
Conor.

>
> Thanks,
> Xu Yang
>
> >
> > > ---
> > > Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml b/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
> > > index 6d6d211883ae..1238792157f8 100644
> > > --- a/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
> > > +++ b/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
> > > @@ -118,6 +118,8 @@ allOf:
> > > contains:
> > > enum:
> > > - fsl,imx95-usb-phy
> > > + required:
> > > + - orientation-switch
> > > then:
> > > $ref: /schemas/usb/usb-switch.yaml#
> > >
> > > --
> > > 2.34.1
> > >
>
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]