[PATCH 2/3] dt-bindings: firmware: arm,scmi: support i.MX95 SCMI Pinctrl

Peng Fan peng.fan at nxp.com
Mon Apr 15 20:07:32 PDT 2024


Hi Rob,

> Subject: Re: [PATCH 2/3] dt-bindings: firmware: arm,scmi: support i.MX95
> SCMI Pinctrl
> 
> On Fri, Apr 12, 2024 at 08:29:26AM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan at nxp.com>
> >
> > i.MX95 SCMI Pinctrl uses OEM specific units, so add '$ref' to
> > '/schemas/pinctrl/nxp,imx95-pinctrl.yaml' and an example.
> >
> > Signed-off-by: Peng Fan <peng.fan at nxp.com>
> > ---
> >  Documentation/devicetree/bindings/firmware/arm,scmi.yaml | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > index e9d3f043c4ed..ebc6c083b538 100644
> > --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > @@ -249,9 +249,11 @@ properties:
> >
> >    protocol at 19:
> >      type: object
> > -    allOf:
> > -      - $ref: '#/$defs/protocol-node'
> > -      - $ref: /schemas/pinctrl/pinctrl.yaml
> 
> I don't think anything from here was actually used...

You mean this not used?
allOf:
  - $ref: '#/$defs/protocol-node'
  - $ref: /schemas/pinctrl/pinctrl.yaml

Or below?
> 
> 
> > +    anyOf:
> > +      - $ref: /schemas/pinctrl/nxp,imx95-pinctrl.yaml
> > +      - allOf:
> > +          - $ref: '#/$defs/protocol-node'
> 
> This must always apply and should not be under the anyOf.

I just try in arm,scmi.yaml:
  protocol at 19:                                                                                      
    type: object                                                                                    
    allOf:                                                                                          
      - $ref: '#/$defs/protocol-node'                                                               
      - anyOf:                                                                                      
          - $ref: /schemas/pinctrl/nxp,imx95-pinctrl.yaml                                           
          - $ref: /schemas/pinctrl/pinctrl.yaml                                                     
                                                                                                    
    unevaluatedProperties: false  

And in nxp,imx95-pinctrl.yaml:
patternProperties:                                                                                  
  'grp$':                                                                                           
    type: object                                                                                    
    additionalProperties: false                                                                     
                                                                                                    
    patternProperties:                                                                              
      '[a-f0-9]+$':                                                                                 
        type: object                                                                                
        unevaluatedProperties: false     

But the following example always reports: 
                pinctrl_usdhc1: usdhc1grp {                                                       
                    sd1-pin0 {                                                                      
                        pins = "sd1cmd";                                                            
                        nxp,func-id = <0>;                                                          
                        nxp,pin-conf = <0x138e>;                                                    
                    };                                                                              
                };

arm,scmi.example.dtb: scmi: protocol at 19: Unevaluated properties are not allowed ('usdhc1grp' was unexpected)

Do you have any suggestions on how to write the yaml correct?

Thanks,
Peng.

> 
> > +          - $ref: /schemas/pinctrl/pinctrl.yaml
> >
> >      unevaluatedProperties: false
> >
> >
> > --
> > 2.37.1
> >



More information about the linux-arm-kernel mailing list