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 address

  - 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.

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";
		reg = <0x4c>;

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