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