xref: /linux/Documentation/devicetree/bindings/media/i2c/adv7604.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
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
7901a52c4SKrzysztof 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:
13901a52c4SKrzysztof Hałasa  The ADV7604 and ADV7610/11/12 are multiformat video decoders with
14901a52c4SKrzysztof Hałasa  an integrated HDMI receiver. The ADV7604 has four multiplexed HDMI inputs
15901a52c4SKrzysztof Hałasa  and one analog input, and the ADV7610/11 have one HDMI input and no analog
16901a52c4SKrzysztof Hałasa  input. The ADV7612 is similar to the ADV7610/11 but has 2 HDMI inputs.
17450c6b10SNiklas Söderlund
18901a52c4SKrzysztof 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:
24901a52c4SKrzysztof 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:
63*4e71ed98SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
64*4e71ed98SRob Herring    enum: [ 0, 1 ]
65450c6b10SNiklas Söderlund    description:
66450c6b10SNiklas Söderlund      Select which input is selected after reset.
67450c6b10SNiklas Söderlund
68066a94e2SRob Herring  ports: true
69450c6b10SNiklas Söderlund
70450c6b10SNiklas Söderlundrequired:
71450c6b10SNiklas Söderlund  - compatible
72450c6b10SNiklas Söderlund  - reg
73066a94e2SRob Herring  - ports
74450c6b10SNiklas Söderlund
75450c6b10SNiklas SöderlundadditionalProperties: false
76450c6b10SNiklas Söderlund
77450c6b10SNiklas SöderlundallOf:
78450c6b10SNiklas Söderlund  - if:
79450c6b10SNiklas Söderlund      properties:
80450c6b10SNiklas Söderlund        compatible:
81450c6b10SNiklas Söderlund          contains:
82450c6b10SNiklas Söderlund            const: adi,adv7611
83450c6b10SNiklas Söderlund    then:
84450c6b10SNiklas Söderlund      properties:
85450c6b10SNiklas Söderlund        ports:
86066a94e2SRob Herring          $ref: /schemas/graph.yaml#/properties/ports
87450c6b10SNiklas Söderlund          properties:
88450c6b10SNiklas Söderlund            port@0:
89066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
90450c6b10SNiklas Söderlund              description: Input port
91066a94e2SRob Herring
92450c6b10SNiklas Söderlund            port@1:
93066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
94450c6b10SNiklas Söderlund              description: Output port
95450c6b10SNiklas Söderlund
96450c6b10SNiklas Söderlund          required:
97450c6b10SNiklas Söderlund            - port@1
98450c6b10SNiklas Söderlund
99450c6b10SNiklas Söderlund  - if:
100450c6b10SNiklas Söderlund      properties:
101450c6b10SNiklas Söderlund        compatible:
102450c6b10SNiklas Söderlund          contains:
103450c6b10SNiklas Söderlund            const: adi,adv7612
104450c6b10SNiklas Söderlund    then:
105450c6b10SNiklas Söderlund      properties:
106450c6b10SNiklas Söderlund        ports:
107066a94e2SRob Herring          $ref: /schemas/graph.yaml#/properties/ports
108450c6b10SNiklas Söderlund          properties:
109450c6b10SNiklas Söderlund            port@2:
110066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
111450c6b10SNiklas Söderlund              description: Output port
112450c6b10SNiklas Söderlund
113450c6b10SNiklas Söderlund          patternProperties:
114450c6b10SNiklas Söderlund            "^port@[0-1]$":
115066a94e2SRob Herring              $ref: /schemas/graph.yaml#/properties/port
116450c6b10SNiklas Söderlund              description: Input port
117450c6b10SNiklas Söderlund
118450c6b10SNiklas Söderlund          required:
119450c6b10SNiklas Söderlund            - port@2
120450c6b10SNiklas Söderlund
121450c6b10SNiklas Söderlundexamples:
122450c6b10SNiklas Söderlund  - |
123450c6b10SNiklas Söderlund    #include <dt-bindings/gpio/gpio.h>
124450c6b10SNiklas Söderlund
125450c6b10SNiklas Söderlund    i2c {
126450c6b10SNiklas Söderlund            #address-cells = <1>;
127450c6b10SNiklas Söderlund            #size-cells = <0>;
128450c6b10SNiklas Söderlund
129450c6b10SNiklas Söderlund            hdmi_receiver@4c {
130450c6b10SNiklas Söderlund                    compatible = "adi,adv7611";
131450c6b10SNiklas Söderlund                    /*
132450c6b10SNiklas Söderlund                     * The edid page will be accessible @ 0x66 on the I2C bus. All
133450c6b10SNiklas Söderlund                     * other maps will retain their default addresses.
134450c6b10SNiklas Söderlund                     */
135450c6b10SNiklas Söderlund                    reg = <0x4c>, <0x66>;
136450c6b10SNiklas Söderlund                    reg-names = "main", "edid";
137450c6b10SNiklas Söderlund
138450c6b10SNiklas Söderlund                    reset-gpios = <&ioexp 0 GPIO_ACTIVE_LOW>;
139450c6b10SNiklas Söderlund                    hpd-gpios = <&ioexp 2 GPIO_ACTIVE_HIGH>;
140450c6b10SNiklas Söderlund                    default-input = <0>;
141450c6b10SNiklas Söderlund
142450c6b10SNiklas Söderlund                    ports {
143450c6b10SNiklas Söderlund                            #address-cells = <1>;
144450c6b10SNiklas Söderlund                            #size-cells = <0>;
145450c6b10SNiklas Söderlund
146450c6b10SNiklas Söderlund                            port@0 {
147450c6b10SNiklas Söderlund                                    reg = <0>;
148450c6b10SNiklas Söderlund                            };
149450c6b10SNiklas Söderlund
150450c6b10SNiklas Söderlund                            port@1 {
151450c6b10SNiklas Söderlund                                    reg = <1>;
152450c6b10SNiklas Söderlund                                    hdmi_in: endpoint {
153450c6b10SNiklas Söderlund                                            remote-endpoint = <&ccdc_in>;
154450c6b10SNiklas Söderlund                                    };
155450c6b10SNiklas Söderlund                            };
156450c6b10SNiklas Söderlund                    };
157450c6b10SNiklas Söderlund
158450c6b10SNiklas Söderlund
159450c6b10SNiklas Söderlund            };
160450c6b10SNiklas Söderlund    };
161