# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/media/i2c/adv7604.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices ADV7604/11/12 video decoder with HDMI receiver maintainers: - Hans Verkuil description: The ADV7604 and ADV7611/12 are multiformat video decoders with an integrated HDMI receiver. The ADV7604 has four multiplexed HDMI inputs and one analog input, and the ADV7611 has one HDMI input and no analog input. The 7612 is similar to the 7611 but has 2 HDMI inputs. These device tree bindings support the ADV7611/12 only at the moment. properties: compatible: items: - enum: - adi,adv7611 - adi,adv7612 reg: minItems: 1 maxItems: 13 reg-names: minItems: 1 items: - const: main - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] interrupts: maxItems: 1 reset-gpios: maxItems: 1 hpd-gpios: minItems: 1 description: References to the GPIOs that control the HDMI hot-plug detection pins, one per HDMI input. The active flag indicates the GPIO level that enables hot-plug detection. default-input: maxItems: 1 description: Select which input is selected after reset. ports: true required: - compatible - reg - ports additionalProperties: false allOf: - if: properties: compatible: contains: const: adi,adv7611 then: properties: ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: $ref: /schemas/graph.yaml#/properties/port description: Input port port@1: $ref: /schemas/graph.yaml#/properties/port description: Output port required: - port@1 - if: properties: compatible: contains: const: adi,adv7612 then: properties: ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@2: $ref: /schemas/graph.yaml#/properties/port description: Output port patternProperties: "^port@[0-1]$": $ref: /schemas/graph.yaml#/properties/port description: Input port required: - port@2 examples: - | #include i2c { #address-cells = <1>; #size-cells = <0>; hdmi_receiver@4c { compatible = "adi,adv7611"; /* * The edid page will be accessible @ 0x66 on the I2C bus. All * other maps will retain their default addresses. */ reg = <0x4c>, <0x66>; reg-names = "main", "edid"; reset-gpios = <&ioexp 0 GPIO_ACTIVE_LOW>; hpd-gpios = <&ioexp 2 GPIO_ACTIVE_HIGH>; default-input = <0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; }; port@1 { reg = <1>; hdmi_in: endpoint { remote-endpoint = <&ccdc_in>; }; }; }; }; };