213 lines
5.9 KiB
YAML
213 lines
5.9 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/media/i2c/adv748x.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Analog Devices ADV748X video decoder with HDMI receiver
|
||
|
|
||
|
maintainers:
|
||
|
- Kieran Bingham <kieran.bingham@ideasonboard.com>
|
||
|
- Niklas Söderlund <niklas.soderlund@ragnatech.se>
|
||
|
|
||
|
description:
|
||
|
The ADV7481 and ADV7482 are multi format video decoders with an integrated
|
||
|
HDMI receiver. They can output CSI-2 on two independent outputs TXA and TXB
|
||
|
from three input sources HDMI, analog and TTL.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
items:
|
||
|
- enum:
|
||
|
- adi,adv7481
|
||
|
- adi,adv7482
|
||
|
|
||
|
reg:
|
||
|
minItems: 1
|
||
|
maxItems: 12
|
||
|
description:
|
||
|
The ADV748x has up to twelve 256-byte maps that can be accessed via the
|
||
|
main I2C ports. Each map has it own I2C address and acts as a standard
|
||
|
slave device on the I2C bus. The main address is mandatory, others are
|
||
|
optional and remain at default values if not specified.
|
||
|
|
||
|
reg-names:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- const: main
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
- enum: [ dpll, cp, hdmi, edid, repeater, infoframe, cbus, cec, sdp, txa, txb ]
|
||
|
|
||
|
interrupts: true
|
||
|
|
||
|
interrupt-names: true
|
||
|
|
||
|
ports:
|
||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||
|
|
||
|
patternProperties:
|
||
|
"^port@[0-7]$":
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description: Input port nodes for analog inputs AIN[0-7].
|
||
|
|
||
|
properties:
|
||
|
port@8:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description: Input port node for HDMI.
|
||
|
|
||
|
port@9:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description: Input port node for TTL.
|
||
|
|
||
|
port@a:
|
||
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||
|
unevaluatedProperties: false
|
||
|
description:
|
||
|
Output port node, single endpoint describing the CSI-2 transmitter TXA.
|
||
|
|
||
|
properties:
|
||
|
endpoint:
|
||
|
$ref: /schemas/media/video-interfaces.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
properties:
|
||
|
clock-lanes:
|
||
|
maxItems: 1
|
||
|
|
||
|
data-lanes:
|
||
|
minItems: 1
|
||
|
maxItems: 4
|
||
|
|
||
|
required:
|
||
|
- clock-lanes
|
||
|
- data-lanes
|
||
|
|
||
|
port@b:
|
||
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||
|
unevaluatedProperties: false
|
||
|
description:
|
||
|
Output port node, single endpoint describing the CSI-2 transmitter TXB.
|
||
|
|
||
|
properties:
|
||
|
endpoint:
|
||
|
$ref: /schemas/media/video-interfaces.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
properties:
|
||
|
clock-lanes:
|
||
|
maxItems: 1
|
||
|
|
||
|
data-lanes:
|
||
|
maxItems: 1
|
||
|
|
||
|
required:
|
||
|
- clock-lanes
|
||
|
- data-lanes
|
||
|
|
||
|
allOf:
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: adi,adv7481
|
||
|
then:
|
||
|
properties:
|
||
|
interrupts:
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
|
||
|
interrupt-names:
|
||
|
minItems: 1
|
||
|
maxItems: 3
|
||
|
items:
|
||
|
enum: [ intrq1, intrq2, intrq3 ]
|
||
|
else:
|
||
|
properties:
|
||
|
interrupts:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
|
||
|
interrupt-names:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
items:
|
||
|
enum: [ intrq1, intrq2 ]
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- ports
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
|
||
|
i2c {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
video-receiver@70 {
|
||
|
compatible = "adi,adv7482";
|
||
|
reg = <0x70 0x71 0x72 0x73 0x74 0x75
|
||
|
0x60 0x61 0x62 0x63 0x64 0x65>;
|
||
|
reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater",
|
||
|
"infoframe", "cbus", "cec", "sdp", "txa", "txb";
|
||
|
|
||
|
interrupt-parent = <&gpio6>;
|
||
|
interrupts = <30 IRQ_TYPE_LEVEL_LOW>, <31 IRQ_TYPE_LEVEL_LOW>;
|
||
|
interrupt-names = "intrq1", "intrq2";
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@7 {
|
||
|
reg = <7>;
|
||
|
|
||
|
adv7482_ain7: endpoint {
|
||
|
remote-endpoint = <&cvbs_in>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@8 {
|
||
|
reg = <8>;
|
||
|
|
||
|
adv7482_hdmi: endpoint {
|
||
|
remote-endpoint = <&hdmi_in>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@a {
|
||
|
reg = <10>;
|
||
|
|
||
|
adv7482_txa: endpoint {
|
||
|
clock-lanes = <0>;
|
||
|
data-lanes = <1 2 3 4>;
|
||
|
remote-endpoint = <&csi40_in>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@b {
|
||
|
reg = <11>;
|
||
|
|
||
|
adv7482_txb: endpoint {
|
||
|
clock-lanes = <0>;
|
||
|
data-lanes = <1>;
|
||
|
remote-endpoint = <&csi20_in>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|