213 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/media/i2c/adv748x.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Analog Devices ADV748X video decoder with HDMI receiver8 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 integrated15 HDMI receiver. They can output CSI-2 on two independent outputs TXA and TXB16 from three input sources HDMI, analog and TTL.17 18properties:19 compatible:20 items:21 - enum:22 - adi,adv748123 - adi,adv748224 25 reg:26 minItems: 127 maxItems: 1228 description:29 The ADV748x has up to twelve 256-byte maps that can be accessed via the30 main I2C ports. Each map has it own I2C address and acts as a standard31 slave device on the I2C bus. The main address is mandatory, others are32 optional and remain at default values if not specified.33 34 reg-names:35 minItems: 136 items:37 - const: main38 - 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: true51 52 interrupt-names: true53 54 ports:55 $ref: /schemas/graph.yaml#/properties/ports56 57 patternProperties:58 "^port@[0-7]$":59 $ref: /schemas/graph.yaml#/properties/port60 description: Input port nodes for analog inputs AIN[0-7].61 62 properties:63 port@8:64 $ref: /schemas/graph.yaml#/properties/port65 description: Input port node for HDMI.66 67 port@9:68 $ref: /schemas/graph.yaml#/properties/port69 description: Input port node for TTL.70 71 port@a:72 $ref: /schemas/graph.yaml#/$defs/port-base73 unevaluatedProperties: false74 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: false81 82 properties:83 clock-lanes:84 maxItems: 185 86 data-lanes:87 minItems: 188 maxItems: 489 90 required:91 - clock-lanes92 - data-lanes93 94 port@b:95 $ref: /schemas/graph.yaml#/$defs/port-base96 unevaluatedProperties: false97 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: false104 105 properties:106 clock-lanes:107 maxItems: 1108 109 data-lanes:110 maxItems: 1111 112 required:113 - clock-lanes114 - data-lanes115 116allOf:117 - if:118 properties:119 compatible:120 contains:121 const: adi,adv7481122 then:123 properties:124 interrupts:125 minItems: 1126 maxItems: 3127 128 interrupt-names:129 minItems: 1130 maxItems: 3131 items:132 enum: [ intrq1, intrq2, intrq3 ]133 else:134 properties:135 interrupts:136 minItems: 1137 maxItems: 2138 139 interrupt-names:140 minItems: 1141 maxItems: 2142 items:143 enum: [ intrq1, intrq2 ]144 145additionalProperties: false146 147required:148 - compatible149 - reg150 - ports151 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 0x75163 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 };213