Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: gpio: vf610: correct i.MX8ULP and i.MX93

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

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

authored by

Peng Fan and committed by
Bartosz Golaszewski
1619a094 690acef3

+31 -5
+31 -5
Documentation/devicetree/bindings/gpio/gpio-vf610.yaml
··· 20 20 properties: 21 21 compatible: 22 22 oneOf: 23 + - const: fsl,imx8ulp-gpio 23 24 - const: fsl,vf610-gpio 24 25 - items: 25 26 - const: fsl,imx7ulp-gpio ··· 28 27 - items: 29 28 - enum: 30 29 - fsl,imx93-gpio 31 - - fsl,imx8ulp-gpio 32 - - const: fsl,imx7ulp-gpio 30 + - const: fsl,imx8ulp-gpio 33 31 34 32 reg: 35 - description: The first reg tuple represents the PORT module, the second tuple 36 - represents the GPIO module. 33 + minItems: 1 37 34 maxItems: 2 38 35 39 36 interrupts: 40 - maxItems: 1 37 + items: 38 + - description: GPIO Trustzone non-secure interrupt number 39 + - description: GPIO Trustzone secure interrupt number 40 + minItems: 1 41 41 42 42 interrupt-controller: true 43 43 ··· 79 77 - "#interrupt-cells" 80 78 - "#gpio-cells" 81 79 - gpio-controller 80 + 81 + allOf: 82 + - if: 83 + properties: 84 + compatible: 85 + contains: 86 + enum: 87 + - fsl,vf610-gpio 88 + - fsl,imx7ulp-gpio 89 + then: 90 + properties: 91 + interrupts: 92 + maxItems: 1 93 + reg: 94 + items: 95 + - description: PORT register base address 96 + - description: GPIO register base address 97 + else: 98 + properties: 99 + interrupts: 100 + minItems: 2 101 + reg: 102 + items: 103 + - description: GPIO register base address 82 104 83 105 additionalProperties: false 84 106