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

From: Peng Fan
Date: Mon Apr 15 2024 - 23:07:45 EST


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@xxxxxxx>
> >
> > 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@xxxxxxx>
> > ---
> > 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@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@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@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
> >