aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJavier Martinez Canillas <javier.martinez@collabora.co.uk>2013-10-09 05:19:18 -0400
committerTony Lindgren <tony@atomide.com>2013-10-09 10:54:34 -0400
commit15c9887e15e874f3c15342a897577e914a781738 (patch)
tree972a51cb1fbaca3bbd47eb2995cdc6a770491edc /arch/arm
parentfaf4bd47b06d8c92610cda8d49bfe4b79f79f74f (diff)
ARM: OMAP2+: pdata-quirks: add legacy display init for IGEPv2 board
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>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/dss-common.c44
-rw-r--r--arch/arm/mach-omap2/dss-common.h1
-rw-r--r--arch/arm/mach-omap2/pdata-quirks.c6
3 files changed, 51 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index bf89effa4c99..365bfd3d9c68 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -213,3 +213,47 @@ void __init omap_4430sdp_display_init_of(void)
213 platform_device_register(&sdp4430_tpd_device); 213 platform_device_register(&sdp4430_tpd_device);
214 platform_device_register(&sdp4430_hdmi_connector_device); 214 platform_device_register(&sdp4430_hdmi_connector_device);
215} 215}
216
217
218/* OMAP3 IGEPv2 data */
219
220#define IGEP2_DVI_TFP410_POWER_DOWN_GPIO 170
221
222/* DVI Connector */
223static struct connector_dvi_platform_data omap3_igep2_dvi_connector_pdata = {
224 .name = "dvi",
225 .source = "tfp410.0",
226 .i2c_bus_num = 3,
227};
228
229static struct platform_device omap3_igep2_dvi_connector_device = {
230 .name = "connector-dvi",
231 .id = 0,
232 .dev.platform_data = &omap3_igep2_dvi_connector_pdata,
233};
234
235/* TFP410 DPI-to-DVI chip */
236static struct encoder_tfp410_platform_data omap3_igep2_tfp410_pdata = {
237 .name = "tfp410.0",
238 .source = "dpi.0",
239 .data_lines = 24,
240 .power_down_gpio = IGEP2_DVI_TFP410_POWER_DOWN_GPIO,
241};
242
243static struct platform_device omap3_igep2_tfp410_device = {
244 .name = "tfp410",
245 .id = 0,
246 .dev.platform_data = &omap3_igep2_tfp410_pdata,
247};
248
249static struct omap_dss_board_info igep2_dss_data = {
250 .default_display_name = "dvi",
251};
252
253void __init omap3_igep2_display_init_of(void)
254{
255 omap_display_init(&igep2_dss_data);
256
257 platform_device_register(&omap3_igep2_tfp410_device);
258 platform_device_register(&omap3_igep2_dvi_connector_device);
259}
diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h
index c28fe3c03588..a9becf0d5be8 100644
--- a/arch/arm/mach-omap2/dss-common.h
+++ b/arch/arm/mach-omap2/dss-common.h
@@ -8,5 +8,6 @@
8 8
9void __init omap4_panda_display_init_of(void); 9void __init omap4_panda_display_init_of(void);
10void __init omap_4430sdp_display_init_of(void); 10void __init omap_4430sdp_display_init_of(void);
11void __init omap3_igep2_display_init_of(void);
11 12
12#endif 13#endif
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 3d472dbb9205..9113e7037ae5 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -74,6 +74,11 @@ static void __init hsmmc2_internal_input_clk(void)
74 reg |= OMAP2_MMCSDIO2ADPCLKISEL; 74 reg |= OMAP2_MMCSDIO2ADPCLKISEL;
75 omap_ctrl_writel(reg, OMAP343X_CONTROL_DEVCONF1); 75 omap_ctrl_writel(reg, OMAP343X_CONTROL_DEVCONF1);
76} 76}
77
78static void __init omap3_igep0020_legacy_init(void)
79{
80 omap3_igep2_display_init_of();
81}
77#endif /* CONFIG_ARCH_OMAP3 */ 82#endif /* CONFIG_ARCH_OMAP3 */
78 83
79#ifdef CONFIG_ARCH_OMAP4 84#ifdef CONFIG_ARCH_OMAP4
@@ -103,6 +108,7 @@ static struct pdata_init pdata_quirks[] __initdata = {
103#ifdef CONFIG_ARCH_OMAP3 108#ifdef CONFIG_ARCH_OMAP3
104 { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, 109 { "nokia,omap3-n9", hsmmc2_internal_input_clk, },
105 { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, 110 { "nokia,omap3-n950", hsmmc2_internal_input_clk, },
111 { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
106#endif 112#endif
107#ifdef CONFIG_ARCH_OMAP4 113#ifdef CONFIG_ARCH_OMAP4
108 { "ti,omap4-sdp", omap4_sdp_legacy_init, }, 114 { "ti,omap4-sdp", omap4_sdp_legacy_init, },