File Index
Files and directories
Sign in
FILE

adi,adv748x.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/media/i2c/adi,adv748x.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/media/i2c/adi,adv748x.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Analog Devices ADV748X video decoder with HDMI receiver
  8
  9maintainers:
 10  - Kieran Bingham <kieran.bingham@ideasonboard.com>
 11  - Niklas Söderlund <niklas.soderlund@ragnatech.se>
 12
 13description:
 14  The ADV7481 and ADV7482 are multi format video decoders with an integrated
 15  HDMI receiver. They can output CSI-2 on two independent outputs TXA and TXB
 16  from three input sources HDMI, analog and TTL.
 17
 18properties:
 19  compatible:
 20    items:
 21      - enum:
 22          - adi,adv7481
 23          - adi,adv7482
 24
 25  reg:
 26    minItems: 1
 27    maxItems: 12
 28    description:
 29      The ADV748x has up to twelve 256-byte maps that can be accessed via the
 30      main I2C ports. Each map has it own I2C address and acts as a standard
 31      slave device on the I2C bus. The main address is mandatory, others are
 32      optional and remain at default values if not specified.
 33
 34  reg-names:
 35    minItems: 1
 36    items:
 37      - const: main
 38      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 39      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 40      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 41      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 42      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 43      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 44      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 45      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 46      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 47      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 48      - enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
 49
 50  interrupts: true
 51
 52  interrupt-names: true
 53
 54  ports:
 55    $ref: /schemas/graph.yaml#/properties/ports
 56
 57    patternProperties:
 58      "^port@[0-7]$":
 59        $ref: /schemas/graph.yaml#/properties/port
 60        description: Input port nodes for analog inputs AIN[0-7].
 61
 62    properties:
 63      port@8:
 64        $ref: /schemas/graph.yaml#/properties/port
 65        description: Input port node for HDMI.
 66
 67      port@9:
 68        $ref: /schemas/graph.yaml#/properties/port
 69        description: Input port node for TTL.
 70
 71      port@a:
 72        $ref: /schemas/graph.yaml#/$defs/port-base
 73        unevaluatedProperties: false
 74        description:
 75          Output port node, single endpoint describing the CSI-2 transmitter TXA.
 76
 77        properties:
 78          endpoint:
 79            $ref: /schemas/media/video-interfaces.yaml#
 80            unevaluatedProperties: false
 81
 82            properties:
 83              clock-lanes:
 84                maxItems: 1
 85
 86              data-lanes:
 87                minItems: 1
 88                maxItems: 4
 89
 90            required:
 91              - clock-lanes
 92              - data-lanes
 93
 94      port@b:
 95        $ref: /schemas/graph.yaml#/$defs/port-base
 96        unevaluatedProperties: false
 97        description:
 98          Output port node, single endpoint describing the CSI-2 transmitter TXB.
 99
100        properties:
101          endpoint:
102            $ref: /schemas/media/video-interfaces.yaml#
103            unevaluatedProperties: false
104
105            properties:
106              clock-lanes:
107                maxItems: 1
108
109              data-lanes:
110                maxItems: 1
111
112            required:
113              - clock-lanes
114              - data-lanes
115
116allOf:
117  - if:
118      properties:
119        compatible:
120          contains:
121            const: adi,adv7481
122    then:
123      properties:
124        interrupts:
125          minItems: 1
126          maxItems: 3
127
128        interrupt-names:
129          minItems: 1
130          maxItems: 3
131          items:
132            enum: [ intrq1, intrq2, intrq3 ]
133    else:
134      properties:
135        interrupts:
136          minItems: 1
137          maxItems: 2
138
139        interrupt-names:
140          minItems: 1
141          maxItems: 2
142          items:
143            enum: [ intrq1, intrq2 ]
144
145additionalProperties: false
146
147required:
148  - compatible
149  - reg
150  - ports
151
152examples:
153  - |
154    #include <dt-bindings/interrupt-controller/irq.h>
155
156    i2c {
157        #address-cells = <1>;
158        #size-cells = <0>;
159
160        video-receiver@70 {
161            compatible = "adi,adv7482";
162            reg = <0x70 0x71 0x72 0x73 0x74 0x75
163                   0x60 0x61 0x62 0x63 0x64 0x65>;
164            reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater",
165                        "infoframe", "cbus", "cec", "sdp", "txa", "txb";
166
167            interrupt-parent = <&gpio6>;
168            interrupts = <30 IRQ_TYPE_LEVEL_LOW>, <31 IRQ_TYPE_LEVEL_LOW>;
169            interrupt-names = "intrq1", "intrq2";
170
171            ports {
172                #address-cells = <1>;
173                #size-cells = <0>;
174
175                port@7 {
176                    reg = <7>;
177
178                    adv7482_ain7: endpoint {
179                        remote-endpoint = <&cvbs_in>;
180                    };
181                };
182
183                port@8 {
184                    reg = <8>;
185
186                    adv7482_hdmi: endpoint {
187                        remote-endpoint = <&hdmi_in>;
188                    };
189                };
190
191                port@a {
192                    reg = <10>;
193
194                    adv7482_txa: endpoint {
195                        clock-lanes = <0>;
196                        data-lanes = <1 2 3 4>;
197                        remote-endpoint = <&csi40_in>;
198                    };
199                };
200
201                port@b {
202                    reg = <11>;
203
204                    adv7482_txb: endpoint {
205                        clock-lanes = <0>;
206                        data-lanes = <1>;
207                        remote-endpoint = <&csi20_in>;
208                    };
209                };
210            };
211        };
212    };
~/ Read-only file preview.