162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/cec/cec-gpio.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: HDMI CEC GPIO
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Hans Verkuil <hverkuil-cisco@xs4all.nl>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The HDMI CEC GPIO module supports CEC implementations where the CEC line is
1462306a36Sopenharmony_ci  hooked up to a pull-up GPIO line and - optionally - the HPD line is hooked up
1562306a36Sopenharmony_ci  to another GPIO line.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  Please note:: the maximum voltage for the CEC line is 3.63V, for the HPD and
1862306a36Sopenharmony_ci  5V lines it is 5.3V. So you may need some sort of level conversion
1962306a36Sopenharmony_ci  circuitry when connecting them to a GPIO line.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciproperties:
2262306a36Sopenharmony_ci  compatible:
2362306a36Sopenharmony_ci    const: cec-gpio
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  cec-gpios:
2662306a36Sopenharmony_ci    maxItems: 1
2762306a36Sopenharmony_ci    description:
2862306a36Sopenharmony_ci      GPIO that the CEC line is connected to. The line should be tagged as open
2962306a36Sopenharmony_ci      drain.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  hpd-gpios:
3262306a36Sopenharmony_ci    maxItems: 1
3362306a36Sopenharmony_ci    description:
3462306a36Sopenharmony_ci      GPIO that the HPD line is connected to.  Used for debugging HPD changes
3562306a36Sopenharmony_ci      when the CEC line is not associated with an HDMI receiver/transmitter.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  v5-gpios:
3862306a36Sopenharmony_ci    maxItems: 1
3962306a36Sopenharmony_ci    description:
4062306a36Sopenharmony_ci      GPIO that the 5V line is connected to.  Used for debugging changes on the
4162306a36Sopenharmony_ci      5V line.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cirequired:
4462306a36Sopenharmony_ci  - compatible
4562306a36Sopenharmony_ci  - cec-gpios
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciallOf:
4862306a36Sopenharmony_ci  - $ref: cec-common.yaml#
4962306a36Sopenharmony_ci  - if:
5062306a36Sopenharmony_ci      required:
5162306a36Sopenharmony_ci        - hdmi-phandle
5262306a36Sopenharmony_ci    then:
5362306a36Sopenharmony_ci      properties:
5462306a36Sopenharmony_ci        hpd-gpios: false
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci  - if:
5762306a36Sopenharmony_ci      required:
5862306a36Sopenharmony_ci        - hpd-gpios
5962306a36Sopenharmony_ci    then:
6062306a36Sopenharmony_ci      properties:
6162306a36Sopenharmony_ci        hdmi-phandle: false
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciunevaluatedProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci    cec {
7062306a36Sopenharmony_ci        compatible = "cec-gpio";
7162306a36Sopenharmony_ci        cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
7262306a36Sopenharmony_ci        hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
7362306a36Sopenharmony_ci        v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
7462306a36Sopenharmony_ci    };
75