xref: /linux/Documentation/devicetree/bindings/media/i2c/adv7604.yaml (revision 901a52c4335996b3896da381a21182e2f9a19ed2)
1450c6b10SNiklas Söderlund# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2450c6b10SNiklas Söderlund%YAML 1.2
3450c6b10SNiklas Söderlund---
4450c6b10SNiklas Söderlund$id: http://devicetree.org/schemas/media/i2c/adv7604.yaml#
5450c6b10SNiklas Söderlund$schema: http://devicetree.org/meta-schemas/core.yaml#
6450c6b10SNiklas Söderlund
7*901a52c4SKrzysztof Hałasatitle: Analog Devices ADV7604/10/11/12 video decoder with HDMI receiver
8450c6b10SNiklas Söderlund
9450c6b10SNiklas Söderlundmaintainers:
10450c6b10SNiklas Söderlund  - Hans Verkuil <hverkuil-cisco@xs4all.nl>
11450c6b10SNiklas Söderlund
12450c6b10SNiklas Söderlunddescription:
13*901a52c4SKrzysztof Hałasa  The ADV7604 and ADV7610/11/12 are multiformat video decoders with
14*901a52c4SKrzysztof Hałasa  an integrated HDMI receiver. The ADV7604 has four multiplexed HDMI inputs
15*901a52c4SKrzysztof Hałasa  and one analog input, and the ADV7610/11 have one HDMI input and no analog
16*901a52c4SKrzysztof Hałasa  input. The ADV7612 is similar to the ADV7610/11 but has 2 HDMI inputs.
17450c6b10SNiklas Söderlund
18*901a52c4SKrzysztof Hałasa  These device tree bindings support the ADV7610/11/12 only at the moment.
19450c6b10SNiklas Söderlund
20450c6b10SNiklas Söderlundproperties:
21450c6b10SNiklas Söderlund  compatible:
22450c6b10SNiklas Söderlund    items:
23450c6b10SNiklas Söderlund      - enum:
24*901a52c4SKrzysztof Hałasa          - adi,adv7610
25450c6b10SNiklas Söderlund          - adi,adv7611
26450c6b10SNiklas Söderlund          - adi,adv7612
27450c6b10SNiklas Söderlund
28450c6b10SNiklas Söderlund  reg:
29450c6b10SNiklas Söderlund    minItems: 1
30450c6b10SNiklas Söderlund    maxItems: 13
31450c6b10SNiklas Söderlund
32450c6b10SNiklas Söderlund  reg-names:
33450c6b10SNiklas Söderlund    minItems: 1
34450c6b10SNiklas Söderlund    items:
35450c6b10SNiklas Söderlund      - const: main
36450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
37450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
38450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
39450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
40450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
41450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
42450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
43450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
44450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
45450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
46450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
47450c6b10SNiklas Söderlund      - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ]
48450c6b10SNiklas Söderlund
49450c6b10SNiklas Söderlund  interrupts:
50450c6b10SNiklas Söderlund    maxItems: 1
51450c6b10SNiklas Söderlund
52450c6b10SNiklas Söderlund  reset-gpios:
53450c6b10SNiklas Söderlund    maxItems: 1
54450c6b10SNiklas Söderlund
55450c6b10SNiklas Söderlund  hpd-gpios:
56450c6b10SNiklas Söderlund    minItems: 1
57450c6b10SNiklas Söderlund    description:
58450c6b10SNiklas Söderlund      References to the GPIOs that control the HDMI hot-plug detection pins,
59450c6b10SNiklas Söderlund      one per HDMI input. The active flag indicates the GPIO level that
60450c6b10SNiklas Söderlund      enables hot-plug detection.
61450c6b10SNiklas Söderlund
62450c6b10SNiklas Söderlund  default-input:
63450c6b10SNiklas Söderlund    maxItems: 1
64450c6b10SNiklas Söderlund    description:
65450c6b10SNiklas Söderlund      Select which input is selected after reset.
66450c6b10SNiklas Söderlund
67066a94e2SRob Herring  ports: true
68450c6b10SNiklas Söderlund
69450c6b10SNiklas Söderlundrequired:
70450c6b10SNiklas Söderlund  - compatible
71450c6b10SNiklas Söderlund  - reg
72066a94e2SRob Herring  - ports
73450c6b10SNiklas Söderlund
74450c6b10SNiklas SöderlundadditionalProperties: false
75450c6b10SNiklas Söderlund
76450c6b10SNiklas SöderlundallOf:
77450c6b10SNiklas Söderlund  - if:
78450c6b10SNiklas Söderlund      properties:
79450c6b10SNiklas Söderlund        compatible:
80450c6b10SNiklas Söderlund          contains:
81450c6b10SNiklas Söderlund            const: adi,adv7611
82450c6b10SNiklas Söderlund    then:
83450c6b10SNiklas Söderlund      properties:
84450c6b10SNiklas Söderlund        ports:
85066a94e2SRob Herring          $ref: /schemas/graph.yaml#/properties/ports
86450c6b10SNiklas Söderlund          properties:
87450c6b10SNiklas Söderlund            port@0:
88066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
89450c6b10SNiklas Söderlund              description: Input port
90066a94e2SRob Herring
91450c6b10SNiklas Söderlund            port@1:
92066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
93450c6b10SNiklas Söderlund              description: Output port
94450c6b10SNiklas Söderlund
95450c6b10SNiklas Söderlund          required:
96450c6b10SNiklas Söderlund            - port@1
97450c6b10SNiklas Söderlund
98450c6b10SNiklas Söderlund  - if:
99450c6b10SNiklas Söderlund      properties:
100450c6b10SNiklas Söderlund        compatible:
101450c6b10SNiklas Söderlund          contains:
102450c6b10SNiklas Söderlund            const: adi,adv7612
103450c6b10SNiklas Söderlund    then:
104450c6b10SNiklas Söderlund      properties:
105450c6b10SNiklas Söderlund        ports:
106066a94e2SRob Herring          $ref: /schemas/graph.yaml#/properties/ports
107450c6b10SNiklas Söderlund          properties:
108450c6b10SNiklas Söderlund            port@2:
109066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
110450c6b10SNiklas Söderlund              description: Output port
111450c6b10SNiklas Söderlund
112450c6b10SNiklas Söderlund          patternProperties:
113450c6b10SNiklas Söderlund            "^port@[0-1]$":
114066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
115450c6b10SNiklas Söderlund              description: Input port
116450c6b10SNiklas Söderlund
117450c6b10SNiklas Söderlund          required:
118450c6b10SNiklas Söderlund            - port@2
119450c6b10SNiklas Söderlund
120450c6b10SNiklas Söderlundexamples:
121450c6b10SNiklas Söderlund  - |
122450c6b10SNiklas Söderlund    #include <dt-bindings/gpio/gpio.h>
123450c6b10SNiklas Söderlund
124450c6b10SNiklas Söderlund    i2c {
125450c6b10SNiklas Söderlund            #address-cells = <1>;
126450c6b10SNiklas Söderlund            #size-cells = <0>;
127450c6b10SNiklas Söderlund
128450c6b10SNiklas Söderlund            hdmi_receiver@4c {
129450c6b10SNiklas Söderlund                    compatible = "adi,adv7611";
130450c6b10SNiklas Söderlund                    /*
131450c6b10SNiklas Söderlund                     * The edid page will be accessible @ 0x66 on the I2C bus. All
132450c6b10SNiklas Söderlund                     * other maps will retain their default addresses.
133450c6b10SNiklas Söderlund                     */
134450c6b10SNiklas Söderlund                    reg = <0x4c>, <0x66>;
135450c6b10SNiklas Söderlund                    reg-names = "main", "edid";
136450c6b10SNiklas Söderlund
137450c6b10SNiklas Söderlund                    reset-gpios = <&ioexp 0 GPIO_ACTIVE_LOW>;
138450c6b10SNiklas Söderlund                    hpd-gpios = <&ioexp 2 GPIO_ACTIVE_HIGH>;
139450c6b10SNiklas Söderlund                    default-input = <0>;
140450c6b10SNiklas Söderlund
141450c6b10SNiklas Söderlund                    ports {
142450c6b10SNiklas Söderlund                            #address-cells = <1>;
143450c6b10SNiklas Söderlund                            #size-cells = <0>;
144450c6b10SNiklas Söderlund
145450c6b10SNiklas Söderlund                            port@0 {
146450c6b10SNiklas Söderlund                                    reg = <0>;
147450c6b10SNiklas Söderlund                            };
148450c6b10SNiklas Söderlund
149450c6b10SNiklas Söderlund                            port@1 {
150450c6b10SNiklas Söderlund                                    reg = <1>;
151450c6b10SNiklas Söderlund                                    hdmi_in: endpoint {
152450c6b10SNiklas Söderlund                                            remote-endpoint = <&ccdc_in>;
153450c6b10SNiklas Söderlund                                    };
154450c6b10SNiklas Söderlund                            };
155450c6b10SNiklas Söderlund                    };
156450c6b10SNiklas Söderlund
157450c6b10SNiklas Söderlund
158450c6b10SNiklas Söderlund            };
159450c6b10SNiklas Söderlund    };
160