Re: [PATCH v6 1/4] dt-bindings: media: ti,ds90ub953: Add support for remote GPIO data source

Conor Dooley
2026-04-24T17:09:32Z

[-- Attachment #1: Type: text/plain, Size: 3050 bytes --]

On Fri, Apr 24, 2026 at 09:42:24AM +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.
>
> Add GPIO flag in second cell to select remote GPIO data source.
>
> Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
> ---
> Changes in v6:
> - Added GPIO_DATA_SOURCE_REMOTE flag to dt-bindings/gpio/gpio.h
> - Updated dt-bindings documentation accordingly
> - Dropped Reviewed-by tag from Rob Herring due to significant binding change
>
> 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 | 6 ++++--
> include/dt-bindings/gpio/gpio.h | 8 ++++++++
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
> index 2e129bf573b7..da63771bc236 100644
> --- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
> +++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub953.yaml
> @@ -21,8 +21,10 @@ properties:
> '#gpio-cells':
> const: 2
> description:
> - First cell is the GPIO pin number, second cell is the flags. The GPIO pin
> - number must be in range of [0, 3].
> + First cell is the GPIO pin number (0-3) and the second cell is used
> + to specify flags. See <dt-bindings/gpio/gpio.h> for available flags
> + including GPIO_DATA_SOURCE_REMOTE for remote GPIO data source.
> + Flags can be OR'd together.
>
> gpio-controller: true
>
> diff --git a/include/dt-bindings/gpio/gpio.h b/include/dt-bindings/gpio/gpio.h
> index b5d531237448..d04a494d96ad 100644
> --- a/include/dt-bindings/gpio/gpio.h
> +++ b/include/dt-bindings/gpio/gpio.h
> @@ -42,4 +42,12 @@
> /* Bit 6 express pull disable */
> #define GPIO_PULL_DISABLE 64
>
> +/*
> + * Bit 24 indicates the GPIO data source is from a remote device.

Why 24, not 7?

> + * This is used in serializer/deserializer setups where the GPIO pin
> + * on the local device (e.g., TI DS90UB953 serializer) reflects the
> + * state of a GPIO on the remote device (e.g., TI DS90UB960 deserializer).
> + */
> +#define GPIO_DATA_SOURCE_REMOTE 0x01000000

And why the divergent formatting compared to other defines in this file?

> +
> #endif
>
> --
> 2.34.1
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]