From patchwork Sat Oct 5 03:26:01 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 2990681 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id EC6A59F170 for ; Sat, 5 Oct 2013 03:26:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id EF48F20257 for ; Sat, 5 Oct 2013 03:26:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8440220221 for ; Sat, 5 Oct 2013 03:26:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752213Ab3JED0n (ORCPT ); Fri, 4 Oct 2013 23:26:43 -0400 Received: from bhuna.collabora.co.uk ([93.93.135.160]:39225 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752167Ab3JED0n (ORCPT ); Fri, 4 Oct 2013 23:26:43 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: javier) with ESMTPSA id DB9EB2688077 From: Javier Martinez Canillas To: Tony Lindgren Cc: Enric Balletbo i Serra , bcousson@baylibre.com, tomi.valkeinen@ti.com, linux-omap@vger.kernel.org, Javier Martinez Canillas Subject: [PATCH v2 1/1] ARM: OMAP2+: pdata-quirks: add legacy display init for IGEPv2 board Date: Sat, 5 Oct 2013 05:26:01 +0200 Message-Id: <1380943561-22631-1-git-send-email-javier.martinez@collabora.co.uk> X-Mailer: git-send-email 1.8.4.rc3 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- Changes since v1: - Remove duplicate entry in pdata_quirks[] due silly copy & paste error. Sorry for the noise. arch/arm/mach-omap2/dss-common.c | 37 +++++++++++++++++++++++++++++++++++++ arch/arm/mach-omap2/dss-common.h | 1 + arch/arm/mach-omap2/pdata-quirks.c | 6 ++++++ 3 files changed, 44 insertions(+) diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c index bf89eff..0c1cf2e 100644 --- a/arch/arm/mach-omap2/dss-common.c +++ b/arch/arm/mach-omap2/dss-common.c @@ -39,6 +39,7 @@ #define HDMI_GPIO_HPD 63 /* Hotplug detect */ #define PANDA_DVI_TFP410_POWER_DOWN_GPIO 0 +#define IGEP2_DVI_TFP410_POWER_DOWN_GPIO 170 /* DVI Connector */ static struct connector_dvi_platform_data omap4_panda_dvi_connector_pdata = { @@ -53,6 +54,18 @@ static struct platform_device omap4_panda_dvi_connector_device = { .dev.platform_data = &omap4_panda_dvi_connector_pdata, }; +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 omap4_panda_tfp410_pdata = { .name = "tfp410.0", @@ -67,6 +80,19 @@ static struct platform_device omap4_panda_tfp410_device = { .dev.platform_data = &omap4_panda_tfp410_pdata, }; +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, +}; + /* HDMI Connector */ static struct connector_hdmi_platform_data omap4_panda_hdmi_connector_pdata = { .name = "hdmi", @@ -99,6 +125,10 @@ static struct omap_dss_board_info omap4_panda_dss_data = { .default_display_name = "dvi", }; +static struct omap_dss_board_info igep2_dss_data = { + .default_display_name = "dvi", +}; + void __init omap4_panda_display_init_of(void) { omap_display_init(&omap4_panda_dss_data); @@ -110,6 +140,13 @@ void __init omap4_panda_display_init_of(void) platform_device_register(&omap4_panda_hdmi_connector_device); } +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); +} /* OMAP4 Blaze display data */ diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h index c28fe3c..a9becf0 100644 --- a/arch/arm/mach-omap2/dss-common.h +++ b/arch/arm/mach-omap2/dss-common.h @@ -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 diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index 3d472db..9113e70 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) 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, },