1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/cec/cec-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: HDMI CEC GPIO
8
9maintainers:
10  - Hans Verkuil <hverkuil-cisco@xs4all.nl>
11
12description: |
13  The HDMI CEC GPIO module supports CEC implementations where the CEC line is
14  hooked up to a pull-up GPIO line and - optionally - the HPD line is hooked up
15  to another GPIO line.
16
17  Please note:: the maximum voltage for the CEC line is 3.63V, for the HPD and
18  5V lines it is 5.3V. So you may need some sort of level conversion
19  circuitry when connecting them to a GPIO line.
20
21properties:
22  compatible:
23    const: cec-gpio
24
25  cec-gpios:
26    maxItems: 1
27    description:
28      GPIO that the CEC line is connected to. The line should be tagged as open
29      drain.
30
31  hpd-gpios:
32    maxItems: 1
33    description:
34      GPIO that the HPD line is connected to.  Used for debugging HPD changes
35      when the CEC line is not associated with an HDMI receiver/transmitter.
36
37  v5-gpios:
38    maxItems: 1
39    description:
40      GPIO that the 5V line is connected to.  Used for debugging changes on the
41      5V line.
42
43required:
44  - compatible
45  - cec-gpios
46
47allOf:
48  - $ref: cec-common.yaml#
49  - if:
50      required:
51        - hdmi-phandle
52    then:
53      properties:
54        hpd-gpios: false
55
56  - if:
57      required:
58        - hpd-gpios
59    then:
60      properties:
61        hdmi-phandle: false
62
63unevaluatedProperties: false
64
65examples:
66  - |
67    #include <dt-bindings/gpio/gpio.h>
68
69    cec {
70        compatible = "cec-gpio";
71        cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
72        hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
73        v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
74    };
75