Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c0374eb8 authored by Maciej Purski's avatar Maciej Purski Committed by Andrzej Hajda
Browse files

drm/bridge: add Silicon Image SiI9234 driver



SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
It is controlled via I2C bus. Its interaction with other
devices in video pipeline is performed mainly on HW level.
The only interaction it does on device driver level is
filtering-out unsupported video modes, it exposes drm_bridge
interface to perform this operation.

This patch is based on the code refactored by Tomasz Stanislawski
<t.stanislaws@samsung.com>, which was initially developed by:
Adam Hampson <ahampson@sta.samsung.com>
Erik Gilling <konkers@android.com>
Shankar Bandal <shankar.b@samsung.com>
Dharam Kumar <dharam.kr@samsung.com>

Signed-off-by: default avatarMaciej Purski <m.purski@samsung.com>
Acked-by: Rob Herring <robh@kernel.org> [for dt bindings]
Reviewed-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1507212431-5801-2-git-send-email-m.purski@samsung.com
parent 331494eb
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
Silicon Image SiI9234 HDMI/MHL bridge bindings

Required properties:
	- compatible : "sil,sii9234".
	- reg : I2C address for TPI interface, use 0x39
	- avcc33-supply : MHL/USB Switch Supply Voltage (3.3V)
	- iovcc18-supply : I/O Supply Voltage (1.8V)
	- avcc12-supply : TMDS Analog Supply Voltage (1.2V)
	- cvcc12-supply : Digital Core Supply Voltage (1.2V)
	- interrupts, interrupt-parent: interrupt specifier of INT pin
	- reset-gpios: gpio specifier of RESET pin (active low)
	- video interfaces: Device node can contain two video interface port
			    nodes for HDMI encoder and connector according to [1].
			    - port@0 - MHL to HDMI
			    - port@1 - MHL to connector

[1]: Documentation/devicetree/bindings/media/video-interfaces.txt


Example:
	sii9234@39 {
		compatible = "sil,sii9234";
		reg = <0x39>;
		avcc33-supply = <&vcc33mhl>;
		iovcc18-supply = <&vcc18mhl>;
		avcc12-supply = <&vsil12>;
		cvcc12-supply = <&vsil12>;
		reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
		interrupt-parent = <&gpf3>;
		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;

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

			port@0 {
				reg = <0>;
				mhl_to_hdmi: endpoint {
					remote-endpoint = <&hdmi_to_mhl>;
				};
			};
			port@1 {
				reg = <1>;
				mhl_to_connector: endpoint {
					remote-endpoint = <&connector_to_mhl>;
				};
			};
		};
	};
+8 −0
Original line number Diff line number Diff line
@@ -84,6 +84,14 @@ config DRM_SII902X
	---help---
	  Silicon Image sii902x bridge chip driver.

config DRM_SII9234
	tristate "Silicon Image SII9234 HDMI/MHL bridge"
	depends on OF
	---help---
	  Say Y here if you want support for the MHL interface.
	  It is an I2C driver, that detects connection of MHL bridge
	  and starts encapsulation of HDMI signal.

config DRM_TOSHIBA_TC358767
	tristate "Toshiba TC358767 eDP bridge"
	depends on OF
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ obj-$(CONFIG_DRM_NXP_PTN3460) += nxp-ptn3460.o
obj-$(CONFIG_DRM_PARADE_PS8622) += parade-ps8622.o
obj-$(CONFIG_DRM_SIL_SII8620) += sil-sii8620.o
obj-$(CONFIG_DRM_SII902X) += sii902x.o
obj-$(CONFIG_DRM_SII9234) += sii9234.o
obj-$(CONFIG_DRM_TOSHIBA_TC358767) += tc358767.o
obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/
obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/
+994 −0

File added.

Preview size limit exceeded, changes collapsed.