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