161 lines
4.7 KiB
YAML
161 lines
4.7 KiB
YAML
|
# 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/10/11/12 video decoder with HDMI receiver
|
||
|
|
||
|
maintainers:
|
||
|
- Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||
|
|
||
|
description:
|
||
|
The ADV7604 and ADV7610/11/12 are multiformat video decoders with
|
||
|
an integrated HDMI receiver. The ADV7604 has four multiplexed HDMI inputs
|
||
|
and one analog input, and the ADV7610/11 have one HDMI input and no analog
|
||
|
input. The ADV7612 is similar to the ADV7610/11 but has 2 HDMI inputs.
|
||
|
|
||
|
These device tree bindings support the ADV7610/11/12 only at the moment.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
items:
|
||
|
- enum:
|
||
|
- adi,adv7610
|
||
|
- 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:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
enum: [ 0, 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 <dt-bindings/gpio/gpio.h>
|
||
|
|
||
|
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>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
};
|
||
|
};
|