Skip to contentSkip to conversation

SiI9022 HDMI encoder for AM4xxx boards

PATCH New Tomi Valkeinen 2 participants 7 messages Jul 3, 2014 – Jul 4, 2014

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover SiI9022 HDMI encoder for AM4xxx boards

Hi,

This series adds a driver for SiI9022 HDMI encoder, which is used on AM437x GP and AM43x EPOS boards.

The series is based on the OMAPDSS HDMI infoframe series sent earlier, as the SiI9022 driver uses the new infoframe support.

Tomi

Tomi Valkeinen (4):
OMAPDSS: add SiI9022 encoder driver
Doc/DT: Add SiI9022 binding documentation
arm/dts: am43x EPOS HDMI support
arm/dts: am437x GP HDMI support

 .../devicetree/bindings/video/sil,sii9022.txt      |  53 ++
 arch/arm/boot/dts/Makefile                         |   4 +-
 arch/arm/boot/dts/am437x-gp-evm-hdmi.dts           |  70 ++
 arch/arm/boot/dts/am43x-epos-evm-hdmi.dts          |  83 ++
 drivers/video/fbdev/omap2/displays-new/Kconfig     |   8 +
 drivers/video/fbdev/omap2/displays-new/Makefile    |   1 +
 .../fbdev/omap2/displays-new/encoder-sii9022.c     | 966 +++++++++++++++++++++
 .../fbdev/omap2/displays-new/encoder-sii9022.h     |  58 ++
 8 files changed, 1242 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/video/sil,sii9022.txt
 create mode 100644 arch/arm/boot/dts/am437x-gp-evm-hdmi.dts
 create mode 100644 arch/arm/boot/dts/am43x-epos-evm-hdmi.dts
 create mode 100644 drivers/video/fbdev/omap2/displays-new/encoder-sii9022.c
 create mode 100644 drivers/video/fbdev/omap2/displays-new/encoder-sii9022.h
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/4 OMAPDSS: add SiI9022 encoder driver

Add an OMAPDSS encoder driver for Silicon Image SiI9022 HDMI encoder.

The driver supports only video at the moment, audio support will be added separately.

---
 drivers/video/fbdev/omap2/displays-new/Kconfig     |   8 +
 drivers/video/fbdev/omap2/displays-new/Makefile    |   1 +
 .../fbdev/omap2/displays-new/encoder-sii9022.c     | 966 +++++++++++++++++++++
 .../fbdev/omap2/displays-new/encoder-sii9022.h     |  58 ++
 4 files changed, 1033 insertions(+)
 create mode 100644 drivers/video/fbdev/omap2/displays-new/encoder-sii9022.c
 create mode 100644 drivers/video/fbdev/omap2/displays-new/encoder-sii9022.h
drivers/video/fbdev/omap2/displays-new/Kconfig +8 -0
index e6cfc38160d3..f0ca306edd25 100644
@@ -12,6 +12,14 @@ config DISPLAY_ENCODER_TPD12S015
 	  Driver for TPD12S015, which offers HDMI ESD protection and level
 	  shifting.
 
+config DISPLAY_ENCODER_SII9022
+	tristate "SiI9022 HDMI Encoder"
+	depends on I2C
+	help
+	  Driver for Silicon Image SiI9022 HDMI encoder.
+	  A brief about SiI9022 can be found here:
+	  http://www.semiconductorstore.com/pdf/newsite/siliconimage/SiI9022a_pb.pdf
+
 config DISPLAY_CONNECTOR_DVI
         tristate "DVI Connector"
 	depends on I2C
drivers/video/fbdev/omap2/displays-new/Makefile +1 -0
index 0323a8a1c682..f7f034b1c2b7 100644
@@ -1,5 +1,6 @@
 obj-$(CONFIG_DISPLAY_ENCODER_TFP410) += encoder-tfp410.o
 obj-$(CONFIG_DISPLAY_ENCODER_TPD12S015) += encoder-tpd12s015.o
+obj-$(CONFIG_DISPLAY_ENCODER_SII9022) += encoder-sii9022.o
 obj-$(CONFIG_DISPLAY_CONNECTOR_DVI) += connector-dvi.o
 obj-$(CONFIG_DISPLAY_CONNECTOR_HDMI) += connector-hdmi.o
 obj-$(CONFIG_DISPLAY_CONNECTOR_ANALOG_TV) += connector-analog-tv.o
drivers/video/fbdev/omap2/displays-new/encoder-sii9022.c new file +966 -0

966 lines not on this page · raw message

drivers/video/fbdev/omap2/displays-new/encoder-sii9022.h new file +58 -0

58 lines not on this page · raw message

Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/4 Doc/DT: Add SiI9022 binding documentation

In reply to Tomi Valkeinen

Add DT binding documentation for Silicon Image SiI9022 HDMI encoder.

Cc devicetree at vger.kernel.org
---
 .../devicetree/bindings/video/sil,sii9022.txt      | 53 ++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/video/sil,sii9022.txt
Documentation/devicetree/bindings/video/sil,sii9022.txt new file +53 -0
new file mode 100644
index 000000000000..0cd926636998
@@ -0,0 +1,53 @@
+Silicon Image SiI9022 HDMI Encoder
+==================================
+
+Silicon Image SiI9022 is an HDMI encoder that encodes parallel RGB
+signal to HDMI signal. The SiI9022 is controlled with i2c command, and
+it has a single reset pin and single interrupt pin.
+
+Required properties:
+- compatible: "sil,sii9022"
+
+Optional properties:
+- reset-gpio: reset gpio
+- interrupts: interrupt line
+
+Required nodes:
+- Video port 0 for parallel video input
+- Video port 1 for HDMI output
+
+Example
+-------
+
+&i2c2 {
+	sii9022: sii9022 at 3b {
+		compatible = "sil,sii9022";
+		reg = <0x3b>;
+
+		reset-gpio = <&gpio2 1 GPIO_ACTIVE_LOW>;
+
+		interrupt-parent = <&gpio1>;
+		interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port at 0 {
+				reg = <0>;
+
+				sii9022_in: endpoint {
+					remote-endpoint = <&dpi_out>;
+				};
+			};
+
+			port at 1 {
+				reg = <1>;
+
+				sii9022_out: endpoint {
+					remote-endpoint = <&hdmi_connector_in>;
+				};
+			};
+		};
+	};
+};
Signature · 1 line
1.9.1
#3 lore raw

PATCH 3/4 arm/dts: am43x EPOS HDMI support

In reply to Tomi Valkeinen

AM43x EPOS board has both LCD and HDMI outputs. The active display is selected with a GPIO, which affects video and audio signal routing, and LCD backlight.

Managing the gpio dynamically has proven rather difficult, so the approach taken here is just to have two separate .dts files for LCD/HDMI use cases. The HDMI dts file includes the base file, which has LCD support, and overrides and adds the necessary items.

---
 arch/arm/boot/dts/Makefile                |  3 +-
 arch/arm/boot/dts/am43x-epos-evm-hdmi.dts | 83 +++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/am43x-epos-evm-hdmi.dts
arch/arm/boot/dts/Makefile +2 -1
index 5986ff63b901..5a1fba6d10b5 100644
@@ -301,7 +301,8 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
 	omap4-var-dvk-om44.dtb \
 	omap4-var-stk-om44.dtb
 dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
-	am437x-gp-evm.dtb
+	am437x-gp-evm.dtb \
+	am43x-epos-evm-hdmi.dtb
 dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
 	omap5-sbc-t54.dtb \
 	omap5-uevm.dtb
arch/arm/boot/dts/am43x-epos-evm-hdmi.dts new file +83 -0

83 lines not on this page · raw message

Signature · 1 line
1.9.1
#4 lore raw

PATCH 4/4 arm/dts: am437x GP HDMI support

In reply to Tomi Valkeinen

AM437x GP board has both LCD and HDMI outputs. The active display is selected with a GPIO, which affects video and audio signal routing, and LCD backlight.

Managing the gpio dynamically has proven rather difficult, so the approach taken here is just to have two separate .dts files for LCD/HDMI use cases. The HDMI dts file includes the base file, which has LCD support, and overrides and adds the necessary items.

---
 arch/arm/boot/dts/Makefile               |  3 +-
 arch/arm/boot/dts/am437x-gp-evm-hdmi.dts | 70 ++++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/am437x-gp-evm-hdmi.dts
arch/arm/boot/dts/Makefile +2 -1
index 5a1fba6d10b5..3065fb2d113b 100644
@@ -302,7 +302,8 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
 	omap4-var-stk-om44.dtb
 dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
 	am437x-gp-evm.dtb \
-	am43x-epos-evm-hdmi.dtb
+	am43x-epos-evm-hdmi.dtb \
+	am437x-gp-evm-hdmi.dtb
 dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
 	omap5-sbc-t54.dtb \
 	omap5-uevm.dtb
arch/arm/boot/dts/am437x-gp-evm-hdmi.dts new file +70 -0

70 lines not on this page · raw message

Signature · 1 line
1.9.1
#5 lore raw

cover SiI9022 HDMI encoder for AM4xxx boards

In reply to Tomi Valkeinen
Quoted 1 line · Tomi Valkeinen

Hi,

Hi,

Quoted 6 lines

This series adds a driver for SiI9022 HDMI encoder, which is used on AM437x GP and AM43x EPOS boards.

The series is based on the OMAPDSS HDMI infoframe series sent earlier, as the SiI9022 driver uses the new infoframe support.

Is there any small possibility to not make it an omap specific driver? There are other boards with sii9022 out there. imx5x dev boards could receive a daughter board with this chip (both sold by Freescale) and efikamx platform has it too. I think that some old msm platforms has it too.
I've not compared the code of the drivers and don't know how the sii9022 works but would be annoying to have 2 or more drivers for the same piece of HW. imho, it would be nice if it could be avoided.

Thanks,
Arnaud

#6 lore raw

cover SiI9022 HDMI encoder for AM4xxx boards

Quoted 13 lines · Arnaud Patard
Quoted 1 line · Tomi Valkeinen

Hi,

Hi,

Quoted 6 lines

This series adds a driver for SiI9022 HDMI encoder, which is used on AM437x GP and AM43x EPOS boards.

The series is based on the OMAPDSS HDMI infoframe series sent earlier, as the SiI9022 driver uses the new infoframe support.

Quoted 8 lines

Is there any small possibility to not make it an omap specific driver? There are other boards with sii9022 out there. imx5x dev boards could receive a daughter board with this chip (both sold by Freescale) and efikamx platform has it too. I think that some old msm platforms has it too.
I've not compared the code of the drivers and don't know how the sii9022 works but would be annoying to have 2 or more drivers for the same piece of HW. imho, it would be nice if it could be avoided.

No, not at the moment. There is no framework to create generic drivers for display components.

There has been work towards that (google for "Common Display Framework"), but that is far from finished.

Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140704/2563c878/attachment.sig>