Message ID | 20240312091703.1220649-5-xu.yang_2@nxp.com |
---|---|
State | Superseded |
Headers | show |
Series | [v8,01/10] dt-bindings: usb: usbmisc-imx: add fsl,imx8ulp-usbmisc compatible | expand |
> > On Tue, Mar 12, 2024 at 05:16:58PM +0800, Xu Yang wrote: > > Add restrictions for reg, interrupts, clock and clock-names properties > > for imx Socs. > > > > Signed-off-by: Xu Yang <xu.yang_2@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 > > Changes in v5: > > - keep common property unchanged > > - make if-then more readable > > - remove non imx part > > Changes in v6: > > - new patch based on ci-hdrc-usb2-imx.yaml > > Changes in v7: > > - no changes > > Changes in v8: > > - remove if:else:if:else:if:else block > > --- > > .../bindings/usb/chipidea,usb2-imx.yaml | 80 +++++++++++++++++++ > > 1 file changed, 80 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > index cdbb224e9f68..fb1c378dfe88 100644 > > --- a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > +++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > @@ -49,6 +49,12 @@ properties: > > - const: fsl,imx6ul-usb > > - const: fsl,imx27-usb > > > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > clocks: > > minItems: 1 > > maxItems: 3 > > @@ -144,6 +150,80 @@ allOf: > > - const: idle > > - const: active > > > > + # imx27 Soc needs three clocks > > + - if: > > + properties: > > + compatible: > > + const: fsl,imx27-usb > > + then: > > + properties: > > + clocks: > > + minItems: 3 > > + maxItems: 3 > > The max is already 3, so drop maxItems. Okay. > > > + clock-names: > > + items: > > + - const: ipg > > + - const: ahb > > + - const: per > > + > > + # imx25 and imx35 Soc need three clocks > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,imx25-usb > > + - fsl,imx35-usb > > + then: > > + properties: > > + clocks: > > + minItems: 3 > > + maxItems: 3 > > Same here. Okay. > > > + clock-names: > > + items: > > + - const: ipg > > + - const: ahb > > + - const: per > > + > > + # imx7d Soc need one clock > > + - if: > > + properties: > > + compatible: > > + items: > > + - const: fsl,imx7d-usb > > + - const: fsl,imx27-usb > > + then: > > + properties: > > + clocks: > > + maxItems: 1 > > + clock-names: > > + maxItems: 1 > > What's the name? Can I not specify the name since the macro definition for USB controller clock in clock.h is recognizable and the driver doesn't get this clock by name rather index? Thanks, Xu Yang
> > On Wed, Mar 13, 2024 at 02:48:00AM +0000, Xu Yang wrote: > > > > > > > > On Tue, Mar 12, 2024 at 05:16:58PM +0800, Xu Yang wrote: > > > > Add restrictions for reg, interrupts, clock and clock-names properties > > > > for imx Socs. > > > > > > > > Signed-off-by: Xu Yang <xu.yang_2@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 > > > > Changes in v5: > > > > - keep common property unchanged > > > > - make if-then more readable > > > > - remove non imx part > > > > Changes in v6: > > > > - new patch based on ci-hdrc-usb2-imx.yaml > > > > Changes in v7: > > > > - no changes > > > > Changes in v8: > > > > - remove if:else:if:else:if:else block > > > > --- > > > > .../bindings/usb/chipidea,usb2-imx.yaml | 80 +++++++++++++++++++ > > > > 1 file changed, 80 insertions(+) > > > > > > > > diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > > b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > > > index cdbb224e9f68..fb1c378dfe88 100644 > > > > --- a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > > > +++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml > > > > @@ -49,6 +49,12 @@ properties: > > > > - const: fsl,imx6ul-usb > > > > - const: fsl,imx27-usb > > > > > > > > + reg: > > > > + maxItems: 1 > > > > + > > > > + interrupts: > > > > + maxItems: 1 > > > > + > > > > clocks: > > > > minItems: 1 > > > > maxItems: 3 > > > > @@ -144,6 +150,80 @@ allOf: > > > > - const: idle > > > > - const: active > > > > > > > > + # imx27 Soc needs three clocks > > > > + - if: > > > > + properties: > > > > + compatible: > > > > + const: fsl,imx27-usb > > > > + then: > > > > + properties: > > > > + clocks: > > > > + minItems: 3 > > > > + maxItems: 3 > > > > > > The max is already 3, so drop maxItems. > > > > Okay. > > > > > > > > > + clock-names: > > > > + items: > > > > + - const: ipg > > > > + - const: ahb > > > > + - const: per > > > > + > > > > + # imx25 and imx35 Soc need three clocks > > > > + - if: > > > > + properties: > > > > + compatible: > > > > + contains: > > > > + enum: > > > > + - fsl,imx25-usb > > > > + - fsl,imx35-usb > > > > + then: > > > > + properties: > > > > + clocks: > > > > + minItems: 3 > > > > + maxItems: 3 > > > > > > Same here. > > > > Okay. > > > > > > > > > + clock-names: > > > > + items: > > > > + - const: ipg > > > > + - const: ahb > > > > + - const: per > > > > + > > > > + # imx7d Soc need one clock > > > > + - if: > > > > + properties: > > > > + compatible: > > > > + items: > > > > + - const: fsl,imx7d-usb > > > > + - const: fsl,imx27-usb > > > > + then: > > > > + properties: > > > > + clocks: > > > > + maxItems: 1 > > > > + clock-names: > > > > + maxItems: 1 > > > > > > What's the name? > > > > Can I not specify the name since the macro definition for USB > > controller clock in clock.h is recognizable and the driver doesn't > > get this clock by name rather index? > > If clock-names is not required for fsl,imx7d-usb, > > clock-names: false Set it to false make sense to me. > > If driver use index to get clock, why need clock-names at other platform? > I supposed these should be the same for all chips. Yes, they are same. I add clock-names because some dts already have clock-names in the usb node. If I set it to false, I should remove clock-names from these platforms in next version. Thanks, Xu Yang
On 13/03/2024 03:48, Xu Yang wrote: >>> + >>> + # imx7d Soc need one clock >>> + - if: >>> + properties: >>> + compatible: >>> + items: >>> + - const: fsl,imx7d-usb >>> + - const: fsl,imx27-usb >>> + then: >>> + properties: >>> + clocks: >>> + maxItems: 1 >>> + clock-names: >>> + maxItems: 1 >> >> What's the name? > > Can I not specify the name since the macro definition for USB But you must specify name or disallow names (: false). > controller clock in clock.h is recognizable and the driver doesn't header has nothing to do with it > get this clock by name rather index? Driver does not have to take clocks by names, it does not really matter to such discussion. If you provide clock-names, then the name should be defined/fixed. Best regards, Krzysztof
> > On 13/03/2024 03:48, Xu Yang wrote: > >>> + > >>> + # imx7d Soc need one clock > >>> + - if: > >>> + properties: > >>> + compatible: > >>> + items: > >>> + - const: fsl,imx7d-usb > >>> + - const: fsl,imx27-usb > >>> + then: > >>> + properties: > >>> + clocks: > >>> + maxItems: 1 > >>> + clock-names: > >>> + maxItems: 1 > >> > >> What's the name? > > > > Can I not specify the name since the macro definition for USB > > But you must specify name or disallow names (: false). > > > controller clock in clock.h is recognizable and the driver doesn't > > header has nothing to do with it > > > get this clock by name rather index? > > Driver does not have to take clocks by names, it does not really matter > to such discussion. If you provide clock-names, then the name should be > defined/fixed. Okay. I get it. Thanks, Xu Yang > > > Best regards, > Krzysztof
diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml index cdbb224e9f68..fb1c378dfe88 100644 --- a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml +++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml @@ -49,6 +49,12 @@ properties: - const: fsl,imx6ul-usb - const: fsl,imx27-usb + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + clocks: minItems: 1 maxItems: 3 @@ -144,6 +150,80 @@ allOf: - const: idle - const: active + # imx27 Soc needs three clocks + - if: + properties: + compatible: + const: fsl,imx27-usb + then: + properties: + clocks: + minItems: 3 + maxItems: 3 + clock-names: + items: + - const: ipg + - const: ahb + - const: per + + # imx25 and imx35 Soc need three clocks + - if: + properties: + compatible: + contains: + enum: + - fsl,imx25-usb + - fsl,imx35-usb + then: + properties: + clocks: + minItems: 3 + maxItems: 3 + clock-names: + items: + - const: ipg + - const: ahb + - const: per + + # imx7d Soc need one clock + - if: + properties: + compatible: + items: + - const: fsl,imx7d-usb + - const: fsl,imx27-usb + then: + properties: + clocks: + maxItems: 1 + clock-names: + maxItems: 1 + + # other Soc need one clock + - if: + properties: + compatible: + contains: + enum: + - fsl,imx23-usb + - fsl,imx28-usb + - fsl,imx50-usb + - fsl,imx51-usb + - fsl,imx53-usb + - fsl,imx6q-usb + - fsl,imx6sl-usb + - fsl,imx6sx-usb + - fsl,imx6ul-usb + - fsl,imx8mm-usb + - fsl,imx8mn-usb + - fsl,vf610-usb + then: + properties: + clocks: + maxItems: 1 + clock-names: + maxItems: 1 + unevaluatedProperties: false examples:
Add restrictions for reg, interrupts, clock and clock-names properties for imx Socs. Signed-off-by: Xu Yang <xu.yang_2@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 Changes in v5: - keep common property unchanged - make if-then more readable - remove non imx part Changes in v6: - new patch based on ci-hdrc-usb2-imx.yaml Changes in v7: - no changes Changes in v8: - remove if:else:if:else:if:else block --- .../bindings/usb/chipidea,usb2-imx.yaml | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+)