RE: [PATCH v5 1/4] dt-bindings: media: ti,ds90ub953: Add new range for remote GPIO data
From: G.N. Zhou (OSS)
Date: Thu Mar 12 2026 - 01:59:10 EST
Hi Tomi
Thanks for your review.
> -----Original Message-----
> From: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> Sent: Wednesday, March 11, 2026 4:37 PM
> To: G.N. Zhou (OSS) <guoniu.zhou@xxxxxxxxxxx>; Mauro Carvalho Chehab
> <mchehab@xxxxxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Frank Li
> <frank.li@xxxxxxx>; Vladimir Zapolskiy <vz@xxxxxxxxx>
> Cc: linux-media@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; G.N. Zhou
> <guoniu.zhou@xxxxxxx>
> Subject: Re: [PATCH v5 1/4] dt-bindings: media: ti,ds90ub953: Add new range
> for remote GPIO data
>
> Jo,
>
> On 28/02/2026 08:18, Guoniu Zhou wrote:
> > From: Guoniu Zhou <guoniu.zhou@xxxxxxx>
> >
> > 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@xxxxxxx>
> > ---
> > 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..143d546ecb482d2eb78a113b
> 1a57
> > afcbff9cca01 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.
No, but I could try.
>
> Tomi