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