From: Guoniu Zhou <guoniu.zhou@nxp.com>
The DS90UB953 supports four pins, GPIO0 through GPIO3. When enabled as an
output, it can be programed to output local data or remote data coming
from the remote compatible deserializer.
Make a different GPIO range for remote ones.
Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
---
Changes in v5:
- Improve the description for "#gpio-cells" as commented by Conor.
Changes in v4:
- Use folder block instead of literal block for #gpio-cell property description.
Changes in v3:
- Make GPIO range from 0-3 to 0-7 to support GPIO data from remote
compatible deserializer suggested by Rob instead of adding third
cell for GPIO controller.
Changes in v2:
- Remove new property ti,gpio-data
- Add third cell for GPIO controller to select GPIO output source.
---
Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
index 2e129bf573b79e0ca8f25b4ec5fc6ea76c50abd7..143d546ecb482d2eb78a113b1a57afcbff9cca01 100644
--- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
@@ -20,9 +20,13 @@ properties:
'#gpio-cells':
const: 2
- description:
+ description: >
First cell is the GPIO pin number, second cell is the flags. The GPIO pin
- number must be in range of [0, 3].
+ number must be in range of [0, 3] when enabled as an input.
+
+ If enabled as an output, the GPIO pin number must be in range of [0, 7].
+ [0, 3] are for local GPIO data and [4, 7] for GPIO data coming from
+ remote compatible deserializer.
gpio-controller: true
--
2.34.1
Jo, On 28/02/2026 08:18, Guoniu Zhou wrote: > From: Guoniu Zhou <guoniu.zhou@nxp.com> > > The DS90UB953 supports four pins, GPIO0 through GPIO3. When enabled as an > output, it can be programed to output local data or remote data coming > from the remote compatible deserializer. > > Make a different GPIO range for remote ones. > > Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com> > --- > Changes in v5: > - Improve the description for "#gpio-cells" as commented by Conor. > > Changes in v4: > - Use folder block instead of literal block for #gpio-cell property description. > > Changes in v3: > - Make GPIO range from 0-3 to 0-7 to support GPIO data from remote > compatible deserializer suggested by Rob instead of adding third > cell for GPIO controller. > > Changes in v2: > - Remove new property ti,gpio-data > - Add third cell for GPIO controller to select GPIO output source. > --- > Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml > index 2e129bf573b79e0ca8f25b4ec5fc6ea76c50abd7..143d546ecb482d2eb78a113b1a57afcbff9cca01 100644 > --- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml > +++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml > @@ -20,9 +20,13 @@ properties: > > '#gpio-cells': > const: 2 > - description: > + description: > > First cell is the GPIO pin number, second cell is the flags. The GPIO pin > - number must be in range of [0, 3]. > + number must be in range of [0, 3] when enabled as an input. > + > + If enabled as an output, the GPIO pin number must be in range of [0, 7]. > + [0, 3] are for local GPIO data and [4, 7] for GPIO data coming from > + remote compatible deserializer. I see there has been some discussions about this in the earlier versions. I guess this works, but feels a bit hacky, makes the driver a bit odd, and assumes that no consumer ever uses the same gpio from the 0-3 range and 4-7 range. Did you try the approach where a new flag would be used to indicate the remote gpio functionality? Any problems there? I'm not sure what's the policy for adding custom gpio flags, though. Tomi
On Sat, 28 Feb 2026 14:18:19 +0800, Guoniu Zhou wrote: > From: Guoniu Zhou <guoniu.zhou@nxp.com> > > The DS90UB953 supports four pins, GPIO0 through GPIO3. When enabled as an > output, it can be programed to output local data or remote data coming > from the remote compatible deserializer. > > Make a different GPIO range for remote ones. > > Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com> > --- > Changes in v5: > - Improve the description for "#gpio-cells" as commented by Conor. > > Changes in v4: > - Use folder block instead of literal block for #gpio-cell property description. > > Changes in v3: > - Make GPIO range from 0-3 to 0-7 to support GPIO data from remote > compatible deserializer suggested by Rob instead of adding third > cell for GPIO controller. > > Changes in v2: > - Remove new property ti,gpio-data > - Add third cell for GPIO controller to select GPIO output source. > --- > Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
© 2016 - 2026 Red Hat, Inc.