> Subject: Re: [PATCH v3 2/6] dt-bindings: gpio: vf610: correct i.MX8ULP and > i.MX93 > > On Mon, Sep 18, 2023 at 04:16:06PM +0800, Peng Fan (OSS) wrote: > > From: Peng Fan <peng.fan@xxxxxxx> > > > > i.MX8ULP and i.MX93 actually has two interrupts for each gpio > > controller, one for Trustzone non-secure world, one for secure world. > > > > And they has one register based, not two as i.MX7ULP or VF610. > > > > Although the Linux Kernel driver gpio-vf610.c could work with > > fsl,imx7ulp-gpio compatible, it is based on some tricks did in device > > tree with some offset added to base address. > > > > So actually i.MX8ULP/i.MX93 is not compatible with i.MX7ULP. > > > > Last, i.MX93 is directly derived from i.MX8ULP, so make i.MX93 GPIO > > compatible with i.MX8ULP > > > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > > --- > > .../devicetree/bindings/gpio/gpio-vf610.yaml | 36 > +++++++++++++++++++--- > > 1 file changed, 31 insertions(+), 5 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml > > b/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml > > index 59427d97adf5..5243b4cf1235 100644 > > --- a/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml > > +++ b/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml > > @@ -20,6 +20,7 @@ description: | > > properties: > > compatible: > > oneOf: > > + - const: fsl,imx8ulp-gpio > > - const: fsl,vf610-gpio > > - items: > > - const: fsl,imx7ulp-gpio > > @@ -27,16 +28,17 @@ properties: > > - items: > > - enum: > > - fsl,imx93-gpio > > - - fsl,imx8ulp-gpio > > - - const: fsl,imx7ulp-gpio > > + - const: fsl,imx8ulp-gpio > > > > reg: > > - description: The first reg tuple represents the PORT module, the second > tuple > > - represents the GPIO module. > > + minItems: 1 > > maxItems: 2 > > > > interrupts: > > - maxItems: 1 > > + items: > > + - description: GPIO Trustzone non-secure interrupt number > > + - description: GPIO Trustzone secure interrupt number > > + minItems: 1 > > > > interrupt-controller: true > > > > @@ -78,6 +80,30 @@ required: > > - "#gpio-cells" > > - gpio-controller > > > > +allOf: > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,vf610-gpio > > + - fsl,imx7ulp-gpio > > + then: > > + properties: > > + interrupts: > > + maxItems: 1 > > + reg: > > + items: > > + - description: PORT register base address > > + - description: GPIO register base address > > + else: > > + properties: > > + interrupts: > > + maxItems: 2 > > Doesn't this default to 2 because there are 2 items in your list of interrupts as > things stand? Oh, I should set this as minItems: 2. There are two interrupts. Thanks, Peng. > Otherwise, this seems fine to me, provided the existing platforms are going to > be broken as you implement the software side of this change. > > Thanks, > Conor. > > > + reg: > > + items: > > + - description: GPIO register base address > > + > > additionalProperties: false > > > > examples: > > > > -- > > 2.37.1 > >