Re: [PATCH 7/9] media: dt-bindings: cec-gpio: convert to DT schema

From: Hans Verkuil
Date: Mon Dec 05 2022 - 03:09:41 EST


On 04/12/2022 19:29, Krzysztof Kozlowski wrote:
> Convert HDMI CEC GPIO bindings to DT schema.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>

Acked-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>

Thanks!

Hans

> ---
> .../devicetree/bindings/media/cec-gpio.txt | 42 -----------
> .../bindings/media/cec/cec-gpio.yaml | 73 +++++++++++++++++++
> MAINTAINERS | 2 +-
> 3 files changed, 74 insertions(+), 43 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/media/cec-gpio.txt
> create mode 100644 Documentation/devicetree/bindings/media/cec/cec-gpio.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/cec-gpio.txt b/Documentation/devicetree/bindings/media/cec-gpio.txt
> deleted file mode 100644
> index 47e8d73d32a3..000000000000
> --- a/Documentation/devicetree/bindings/media/cec-gpio.txt
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -* HDMI CEC GPIO driver
> -
> -The HDMI CEC GPIO module supports CEC implementations where the CEC line
> -is hooked up to a pull-up GPIO line and - optionally - the HPD line is
> -hooked up to another GPIO line.
> -
> -Please note: the maximum voltage for the CEC line is 3.63V, for the HPD and
> -5V lines it is 5.3V. So you may need some sort of level conversion circuitry
> -when connecting them to a GPIO line.
> -
> -Required properties:
> - - compatible: value must be "cec-gpio".
> - - cec-gpios: gpio that the CEC line is connected to. The line should be
> - tagged as open drain.
> -
> -If the CEC line is associated with an HDMI receiver/transmitter, then the
> -following property is also required:
> -
> - - hdmi-phandle - phandle to the HDMI controller, see also cec.txt.
> -
> -If the CEC line is not associated with an HDMI receiver/transmitter, then
> -the following property is optional and can be used for debugging HPD changes:
> -
> - - hpd-gpios: gpio that the HPD line is connected to.
> -
> -This property is optional and can be used for debugging changes on the 5V line:
> -
> - - v5-gpios: gpio that the 5V line is connected to.
> -
> -Example for the Raspberry Pi 3 where the CEC line is connected to
> -pin 26 aka BCM7 aka CE1 on the GPIO pin header, the HPD line is
> -connected to pin 11 aka BCM17 and the 5V line is connected to pin
> -15 aka BCM22 (some level shifter is needed for the HPD and 5V lines!):
> -
> -#include <dt-bindings/gpio/gpio.h>
> -
> -cec-gpio {
> - compatible = "cec-gpio";
> - cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> - hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
> - v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> -};
> diff --git a/Documentation/devicetree/bindings/media/cec/cec-gpio.yaml b/Documentation/devicetree/bindings/media/cec/cec-gpio.yaml
> new file mode 100644
> index 000000000000..19169d58316a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/cec/cec-gpio.yaml
> @@ -0,0 +1,73 @@
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/cec/cec-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HDMI CEC GPIO
> +
> +maintainers:
> + - Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> +
> +description: |
> + The HDMI CEC GPIO module supports CEC implementations where the CEC line is
> + hooked up to a pull-up GPIO line and - optionally - the HPD line is hooked up
> + to another GPIO line.
> +
> + Please note:: the maximum voltage for the CEC line is 3.63V, for the HPD and
> + 5V lines it is 5.3V. So you may need some sort of level conversion
> + circuitry when connecting them to a GPIO line.
> +
> +properties:
> + compatible:
> + const: cec-gpio
> +
> + cec-gpios:
> + maxItems: 1
> + description:
> + GPIO that the CEC line is connected to. The line should be tagged as open
> + drain.
> +
> + hpd-gpios:
> + maxItems: 1
> + description:
> + GPIO that the HPD line is connected to. Used for debugging HPD changes
> + when the CEC line is not associated with an HDMI receiver/transmitter.
> +
> + v5-gpios:
> + maxItems: 1
> + description:
> + GPIO that the 5V line is connected to. Used for debugging changes on the
> + 5V line.
> +
> +required:
> + - compatible
> + - cec-gpios
> +
> +allOf:
> + - $ref: cec-common.yaml#
> + - if:
> + required:
> + - hdmi-phandle
> + then:
> + properties:
> + hpd-gpios: false
> +
> + - if:
> + required:
> + - hpd-gpios
> + then:
> + properties:
> + hdmi-phandle: false
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + cec {
> + compatible = "cec-gpio";
> + cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> + hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
> + v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 05acbaecef52..197351d3bb57 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4848,7 +4848,7 @@ L: linux-media@xxxxxxxxxxxxxxx
> S: Supported
> W: http://linuxtv.org
> T: git git://linuxtv.org/media_tree.git
> -F: Documentation/devicetree/bindings/media/cec-gpio.txt
> +F: Documentation/devicetree/bindings/media/cec/cec-gpio.yaml
> F: drivers/media/cec/platform/cec-gpio/
>
> CELL BROADBAND ENGINE ARCHITECTURE