Display bridges hardware components

Revision as of 23:43, 21 March 2022 by Registered User (Add adv7533 DT)

Applicable for STM32MP13x lines, STM32MP15x lines

1 Article purpose[edit]

The purpose of this article is to:

  • List the display bridge hardware components that might be integrated in the different boards.
  • Link these components to the corresponding software framework(s).
  • Point to the appropriate component datasheets.
  • Explain, when necessary, how to configure these components.

2 Software frameworks[edit]

Domain Peripheral Software components Comment
OP-TEE Linux STM32Cube
Visual Analog Devices adv7533 DRM/KMS framework DSI to HDMI transmitter
Visual Silab sil9022 DRM/KMS framework HDMI transmitter
Visual Toshiba tc358762 DRM/KMS framework DSI to DPI

3 Analog Devices adv7533[edit]

The adv7533 DSI to HDMI transmitter supports the HDMI® Specification on a wide range of mobile products.

For details and the datasheet please contact the adv7533 HDMI transmitter provider.

The adv7533 transmitter does not support DSI burst mode. Check the pixel clock constraints in non-burst mode.

The adapter board B-LCDAD-HDMI1 [1] is based on adv7533. It is compatible with the STM32MP157 evaluation boards and can be plugged in place of the display.

Info white.png Information
Due to I2C address conflict, to use B-LCDAD-HDMI1 on STM32MP157 evaluation boards it's required to disconnect the camera module and remove the camera from the devicetree.
Info white.png Information
The display connector of STM32MP157 evaluation boards does not provides audio signals; the B-LCDAD-HDMI1 will only convert DSI video signals.

3.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml

Sources: drivers/gpu/drm/bridge/adv7511/

Configuration:

  • DRM_I2C_ADV7511
  • DRM_I2C_ADV7511_AUDIO
  • DRM_I2C_ADV7511_CEC

Devicetree example: [Click here to hide/show the example]

&dsi {
	ports {
		port@0 {
			reg = <0>;
			dsi_in: endpoint {
				remote-endpoint = <&ltdc_ep1_out>;
			};
		};

		port@1 {
			reg = <1>;
			dsi_out: endpoint {
				remote-endpoint = <&adv7533_in>;
			};
		};
	};
};

&i2c2 {
	adv7533: hdmi@3d {
		compatible = "adi,adv7533";
		reg = <0x3d>, <0x3c>, <0x3f>, <0x38>;
		reg-names = "main", "cec", "edid", "packet";
		status = "okay";
		adi,dsi-lanes = <2>;
		reset-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			port@0 {
				reg = <0>;
				adv7533_in: endpoint {
					remote-endpoint = <&dsi_out>;
				};
			};
		};
	};
};

4 Silab sil9022[edit]

The SiI9022A HDMI transmitter supports the HDMI® Specification on a wide range of mobile products.

For details and the datasheet please contact the SiI9022A HDMI transmitter provider.

4.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/display/bridge/sii902x.txt

Sources: drivers/gpu/drm/bridge/sii902x.c

5 Toshiba tc358762[edit]

The tc358762 is a DSI de-serializer to parallel DPI or DBI. Only DPI output is supported in current Linux driver.

For details and the datasheet please contact the tc358762 device provider.

5.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/display/bridge/toshiba,tc358762.yaml

Sources: drivers/gpu/drm/bridge/tc358762.c

Configuration:

  • DRM_TOSHIBA_TC358762

Devicetree example: check the complete example for the Raspberry Pi 7" Touch Display.