[EXT] Re: [PATCH v4 4/7] dt-bindings: usb: ci-hdrc-usb2: add restrictions for reg, interrupts, clock and clock-names properties
Xu Yang
xu.yang_2 at nxp.com
Wed Jan 31 00:24:58 PST 2024
Hi Krzysztof,
>
> On 19/01/2024 08:19, Xu Yang wrote:
> > Change reg, interrupts, clock and clock-names as common properties and add
> > restrictions on them for different compatibles.
> >
> > Signed-off-by: Xu Yang <xu.yang_2 at nxp.com>
> >
> > ---
> > Changes in v4:
> > - new patch since v3's discussion
> > - split the reg, interrupts, clock and clock-names properties into
> > common part and device-specific
> > ---
> > .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 118 +++++++++++++++---
> > 1 file changed, 102 insertions(+), 16 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-
> hdrc-usb2.yaml
> > index b7e664f7395b..78e30ca0a8ca 100644
> > --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > @@ -73,22 +73,10 @@ properties:
> > - nuvoton,npcm845-udc
> > - const: nuvoton,npcm750-udc
> >
> > - reg:
> > - minItems: 1
> > - maxItems: 2
> > -
> > - interrupts:
> > - minItems: 1
> > - maxItems: 2
> > -
> > - clocks:
> > - minItems: 1
> > - maxItems: 3
> > -
> > - clock-names:
> > - minItems: 1
> > - maxItems: 3
>
> Why all these are gone? They are supposed to be here. Your if:then: only
> customizes them.
I have also concerns of whether to make this part common.
I will revert this later.
>
> > -
> > + reg: true
> > + interrupts: true
> > + clocks: true
> > + clock-names: true
>
> No. These are not booleans on other variants.
Okay.
>
> > dr_mode: true
> >
> > power-domains:
> > @@ -412,6 +400,104 @@ allOf:
> > samsung,picophy-pre-emp-curr-control: false
> > samsung,picophy-dc-vol-level-adjust: false
> >
> > + - if:
> > + properties:
> > + compatible:
> > + oneOf:
> > + - items:
> > + - const: fsl,imx27-usb
>
> No, the syntax you need is contains:.
>
> Look at existing code - there is no single binding with oneOf: in if: block.
I wonder why 'make dt_binding_check' does not report this issue if the syntax
is not correct?
So I need to add contains as below, right?
- if:
properties:
compatible:
contains:
oneOf:
- items:
- const: fsl,imx27-usb
- items:
- enum:
- fsl,imx25-usb
- fsl,imx35-usb
- const: fsl,imx27-usb
The purpose of this code is to match:
- compatible = "fsl,imx27-usb";
- compatible = "fsl,imx25-usb", "fsl,imx27-usb";
- compatible = "fsl,imx35-usb", "fsl,imx27-usb";
but should not match:
- compatible = "fsl,imx7d-usb", "fsl,imx27-usb";
Is this feasible?
Thanks,
Xu Yang
More information about the linux-arm-kernel
mailing list