Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Analog Devices ADV7604/11/12 video decoder with HDMI receiver

The ADV7604 and ADV7611/12 are multiformat video decoders with an integrated
HDMI receiver. The ADV7604 has four multiplexed HDMI inputs and one analog
input, and the ADV7611 has one HDMI input and no analog input. The 7612 is
similar to the 7611 but has 2 HDMI inputs.

These device tree bindings support the ADV7611/12 only at the moment.

Required Properties:

  - compatible: Must contain one of the following
    - "adi,adv7611" for the ADV7611
    - "adi,adv7612" for the ADV7612

  - reg: I2C slave addresses
    The ADV76xx has up to thirteen 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 revert to defaults if not specified.

  - hpd-gpios: References to the GPIOs that control the HDMI hot-plug
    detection pins, one per HDMI input. The active flag indicates the GPIO
    level that enables hot-plug detection.

The device node must contain one 'port' child node per device input and output
port, in accordance with the video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
are numbered as follows.

  Port			ADV7611    ADV7612
------------------------------------------------------------
  HDMI			0             0, 1
  Digital output	1                2

The digital output port node must contain at least one endpoint.

Optional Properties:

  - reset-gpios: Reference to the GPIO connected to the device's reset pin.
  - default-input: Select which input is selected after reset.
  - reg-names : Names of maps with programmable addresses.
		It can contain any map needing a non-default address.
		Possible maps names are :
		  "main", "avlink", "cec", "infoframe", "esdp", "dpp", "afe",
		  "rep", "edid", "hdmi", "test", "cp", "vdp"

Optional Endpoint Properties:

  The following three properties are defined in video-interfaces.txt and are
  valid for source endpoints only.

  - hsync-active: Horizontal synchronization polarity. Defaults to active low.
  - vsync-active: Vertical synchronization polarity. Defaults to active low.
  - pclk-sample: Pixel clock polarity. Defaults to output on the falling edge.

  If none of hsync-active, vsync-active and pclk-sample is specified the
  endpoint will use embedded BT.656 synchronization.

Example:

	hdmi_receiver@4c {
		compatible = "adi,adv7611";
		/*
		 * The edid page will be accessible @ 0x66 on the I2C bus. All
		 * other maps will retain their default addresses.
		 */
		reg = <0x4c>, <0x66>;
		reg-names = "main", "edid";

		reset-gpios = <&ioexp 0 GPIO_ACTIVE_LOW>;
		hpd-gpios = <&ioexp 2 GPIO_ACTIVE_HIGH>;

		#address-cells = <1>;
		#size-cells = <0>;

		default-input = <0>;

		port@0 {
			reg = <0>;
		};
		port@1 {
			reg = <1>;
			hdmi_in: endpoint {
				remote-endpoint = <&ccdc_in>;
			};
		};
	};