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>;
 | 
						|
                    };
 | 
						|
                };
 | 
						|
            };
 | 
						|
        };
 | 
						|
    };
 |