[PATCH v2 1/4] dt-bindings: media: ti,ds90ub953: Add third cell for GPIO controller

Guoniu Zhou posted 4 patches 3 weeks ago
There is a newer version of this series
[PATCH v2 1/4] dt-bindings: media: ti,ds90ub953: Add third cell for GPIO controller
Posted by Guoniu Zhou 3 weeks ago
Add third cell for GPIO controller to select GPIO output source. 0 to
select output source from local GPIO data, 1 to select output source
from remote compatible deserializer GPIO data.

Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
---
 Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml | 8 +++++---
 Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml | 4 ++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
index 2e129bf573b79e0ca8f25b4ec5fc6ea76c50abd7..de759413a36060d3be6f2c3b67de48ee6e4d29f2 100644
--- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
@@ -19,10 +19,12 @@ properties:
       - ti,ds90ub971-q1
 
   '#gpio-cells':
-    const: 2
+    const: 3
     description:
       First cell is the GPIO pin number, second cell is the flags. The GPIO pin
       number must be in range of [0, 3].
+      Third cell is GPIO output source(0 for local gpio data, 1 for remote
+      gpio data from remote compatible deserializer).
 
   gpio-controller: true
 
@@ -97,7 +99,7 @@ examples:
         reg = <0x18>;
 
         gpio-controller;
-        #gpio-cells = <2>;
+        #gpio-cells = <3>;
 
         #clock-cells = <0>;
 
@@ -130,7 +132,7 @@ examples:
             compatible = "sony,imx274";
             reg = <0x1a>;
 
-            reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>;
+            reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW 0>;
 
             clocks = <&serializer>;
             clock-names = "inck";
diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml
index 4dcbd2b039a58edfc57c5cc0bedceefdf158bf0c..4af5e0e3b413a64a4b61344f1da63be7e02a1af8 100644
--- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml
@@ -328,7 +328,7 @@ examples:
               reg = <0x30>;
 
               gpio-controller;
-              #gpio-cells = <2>;
+              #gpio-cells = <3>;
 
               #clock-cells = <0>;
 
@@ -361,7 +361,7 @@ examples:
                   compatible = "sony,imx274";
                   reg = <0x1a>;
 
-                  reset-gpios = <&serializer1 0 GPIO_ACTIVE_LOW>;
+                  reset-gpios = <&serializer1 0 GPIO_ACTIVE_LOW 0>;
 
                   port {
                     sensor_1_out: endpoint {

-- 
2.34.1
Re: [PATCH v2 1/4] dt-bindings: media: ti,ds90ub953: Add third cell for GPIO controller
Posted by Rob Herring 2 weeks, 3 days ago
On Thu, Sep 11, 2025 at 04:44:22PM +0800, Guoniu Zhou wrote:
> Add third cell for GPIO controller to select GPIO output source. 0 to
> select output source from local GPIO data, 1 to select output source
> from remote compatible deserializer GPIO data.
> 
> Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
> ---
>  Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml | 8 +++++---
>  Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml | 4 ++--
>  2 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
> index 2e129bf573b79e0ca8f25b4ec5fc6ea76c50abd7..de759413a36060d3be6f2c3b67de48ee6e4d29f2 100644
> --- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
> +++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
> @@ -19,10 +19,12 @@ properties:
>        - ti,ds90ub971-q1
>  
>    '#gpio-cells':
> -    const: 2
> +    const: 3
>      description:
>        First cell is the GPIO pin number, second cell is the flags. The GPIO pin
>        number must be in range of [0, 3].
> +      Third cell is GPIO output source(0 for local gpio data, 1 for remote
> +      gpio data from remote compatible deserializer).

Changing the cell size is an ABI break unless 3 cells was supported in 
OS before which I don't think it would be given GPIO cell meaning is 
pretty standardized. You could just all a flag to the 2nd cell I think. 
Or if 0-3 are local GPIOs, then make remote ones a different range.

Rob