[EXT] Re: [PATCH v3 4/6] dt-bindings: usb: ci-hdrc-usb2: add compatible and clock-names restriction for imx93

Xu Yang xu.yang_2 at nxp.com
Tue Jan 16 21:46:34 PST 2024


Hi Krzysztof,

> 
> On 16/01/2024 08:49, Xu Yang wrote:
> > Hi Krzysztof,
> >
> >>
> >> On 12/01/2024 12:17, Xu Yang wrote:
> >>> The i.MX93 needs a wakup clock to work properly. This will add compatible
> >>> and restriction for i.MX93 platform.
> >>>
> >>> Signed-off-by: Xu Yang <xu.yang_2 at nxp.com>
> >>>
> >>> ---
> >>> Changes in v2:
> >>>  - no changes
> >>> Changes in v3:
> >>>  - add clocks restriction
> >>> ---
> >>>  .../devicetree/bindings/usb/ci-hdrc-usb2.yaml    | 16 ++++++++++++++++
> >>>  1 file changed, 16 insertions(+)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-
> >> hdrc-usb2.yaml
> >>> index b7e664f7395b..6e75099b6394 100644
> >>> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> >>> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> >>> @@ -57,6 +57,7 @@ properties:
> >>>            - enum:
> >>>                - fsl,imx8mm-usb
> >>>                - fsl,imx8mn-usb
> >>> +              - fsl,imx93-usb
> >>>            - const: fsl,imx7d-usb
> >>>            - const: fsl,imx27-usb
> >>>        - items:
> >>> @@ -412,6 +413,21 @@ allOf:
> >>>          samsung,picophy-pre-emp-curr-control: false
> >>>          samsung,picophy-dc-vol-level-adjust: false
> >>>
> >>> +  - if:
> >>> +      properties:
> >>> +        compatible:
> >>> +          contains:
> >>> +            const: fsl,imx93-usb
> >>> +    then:
> >>> +      properties:
> >>> +        clock-names:
> >>> +          items:
> >>> +            - const: usb_ctrl_root_clk
> >>> +            - const: usb_wakeup_clk
> >>> +        clocks:
> >>> +          minItems: 2
> >>> +          maxItems: 2
> >>
> >> Nothing improved regarding my comments. Why do you allow
> >> any/unspecific/unconstrain interrupts and reg?
> >>
> >> You said:
> >> "However, reset, reg and interrupts property is not special for imx93."
> >> but what does it even mean? How they can be special or not special?
> >>
> >> My comments from previous version apply. If you do not want to work on
> >> existing technical debt, BTW added by another NXP employee, then I will
> >> NAK any new submissions.
> >
> > You want me to adjust below properties to be more common properties
> > and add device specific limitations, right?
> 
> Yes
> 
> >
> > ---
> >   reg:
> >     minItems: 1
> >     maxItems: 2
> >
> >   interrupts:
> >     minItems: 1
> >     maxItems: 2
> >
> >   clocks:
> >     minItems: 1
> >     maxItems: 3
> >
> >   clock-names:
> >     minItems: 1
> >     maxItems: 3
> > ---
> >
> > For most of the devices, property reg, interrupts, clocks and clock-names
> > has 1 item. So these properties can set maxItems to 1. For special devices,
> > I should list them standalone, is this your expectation?
> 
> Just like you constrain clocks for new variant, your variant should have
> constrained reg, interrupts and whatever else is there variable. I don't
> require fixing all the devices in this binding, but at least your new
> one and preferably other NXP as well.
> 

I'm tring to set the maxItems of property reg, interrupts, clocks and 
clock-names to 1, then constrain the minItems and maxItems to 3 for
one soc later like below, in such way I needn't to constrain reg and
interrupts for most of the socs.
But dt-validate failed at the first place when validate clocks property.

Is there a way to achieve this?

---
  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    maxItems: 1

allOf:
  - if:
      properties:
        compatible:
          oneOf:
            - items:
                - const: fsl,imx27-usb
    then:
      properties:
        clocks:
          minItems: 3
          maxItems: 3
        clock-names:
          minItems: 3
          maxItems: 3
---

Thanks,
Xu Yang


More information about the linux-arm-kernel mailing list