]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
ARM: OMAP2+: pdata-quirks: add legacy display init for IGEPv2 board
authorJavier Martinez Canillas <javier.martinez@collabora.co.uk>
Wed, 9 Oct 2013 09:19:18 +0000 (11:19 +0200)
committerTony Lindgren <tony@atomide.com>
Wed, 9 Oct 2013 14:54:34 +0000 (07:54 -0700)
IGEPv2 board has both an DVI and TFP410 video interfaces but
DSS support for DeviceTree has not yet landed in mainline so
is necessary to init the displays using legacy platform code.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/dss-common.c
arch/arm/mach-omap2/dss-common.h
arch/arm/mach-omap2/pdata-quirks.c

index bf89effa4c9988a45c770175307e632918790a4a..365bfd3d9c68b8486f23049a71889484c60eb793 100644 (file)
@@ -213,3 +213,47 @@ void __init omap_4430sdp_display_init_of(void)
        platform_device_register(&sdp4430_tpd_device);
        platform_device_register(&sdp4430_hdmi_connector_device);
 }
+
+
+/* OMAP3 IGEPv2 data */
+
+#define IGEP2_DVI_TFP410_POWER_DOWN_GPIO       170
+
+/* DVI Connector */
+static struct connector_dvi_platform_data omap3_igep2_dvi_connector_pdata = {
+       .name                   = "dvi",
+       .source                 = "tfp410.0",
+       .i2c_bus_num            = 3,
+};
+
+static struct platform_device omap3_igep2_dvi_connector_device = {
+       .name                   = "connector-dvi",
+       .id                     = 0,
+       .dev.platform_data      = &omap3_igep2_dvi_connector_pdata,
+};
+
+/* TFP410 DPI-to-DVI chip */
+static struct encoder_tfp410_platform_data omap3_igep2_tfp410_pdata = {
+       .name                   = "tfp410.0",
+       .source                 = "dpi.0",
+       .data_lines             = 24,
+       .power_down_gpio        = IGEP2_DVI_TFP410_POWER_DOWN_GPIO,
+};
+
+static struct platform_device omap3_igep2_tfp410_device = {
+       .name                   = "tfp410",
+       .id                     = 0,
+       .dev.platform_data      = &omap3_igep2_tfp410_pdata,
+};
+
+static struct omap_dss_board_info igep2_dss_data = {
+       .default_display_name = "dvi",
+};
+
+void __init omap3_igep2_display_init_of(void)
+{
+       omap_display_init(&igep2_dss_data);
+
+       platform_device_register(&omap3_igep2_tfp410_device);
+       platform_device_register(&omap3_igep2_dvi_connector_device);
+}
index c28fe3c035880c58ad6e749f123a01d4437024c8..a9becf0d5be84695f732f1e01a2e2215f9e5ed16 100644 (file)
@@ -8,5 +8,6 @@
 
 void __init omap4_panda_display_init_of(void);
 void __init omap_4430sdp_display_init_of(void);
+void __init omap3_igep2_display_init_of(void);
 
 #endif
index 3d472dbb92055852030b57e4ea36536f2669a662..9113e7037ae53385fa88110b0e6ea2d6ebd6e9fd 100644 (file)
@@ -74,6 +74,11 @@ static void __init hsmmc2_internal_input_clk(void)
        reg |= OMAP2_MMCSDIO2ADPCLKISEL;
        omap_ctrl_writel(reg, OMAP343X_CONTROL_DEVCONF1);
 }
+
+static void __init omap3_igep0020_legacy_init(void)
+{
+       omap3_igep2_display_init_of();
+}
 #endif /* CONFIG_ARCH_OMAP3 */
 
 #ifdef CONFIG_ARCH_OMAP4
@@ -103,6 +108,7 @@ static struct pdata_init pdata_quirks[] __initdata = {
 #ifdef CONFIG_ARCH_OMAP3
        { "nokia,omap3-n9", hsmmc2_internal_input_clk, },
        { "nokia,omap3-n950", hsmmc2_internal_input_clk, },
+       { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
 #endif
 #ifdef CONFIG_ARCH_OMAP4
        { "ti,omap4-sdp", omap4_sdp_legacy_init, },