diff mbox

[4/6] ARM: OMAP2+: add legacy display for omap3 DBB056

Message ID 1390333660-30573-5-git-send-email-chf.fritz@googlemail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Christoph Fritz Jan. 21, 2014, 7:47 p.m. UTC
Full device tree support for omapdss is not yet accomplished. Until
then, init display by legacy platform code.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
 arch/arm/mach-omap2/dss-common.c   |   49 ++++++++++++++++++++++++++++++++++++
 arch/arm/mach-omap2/dss-common.h   |    1 +
 arch/arm/mach-omap2/pdata-quirks.c |    8 +++++-
 3 files changed, 57 insertions(+), 1 deletion(-)

Comments

Javier Martinez Canillas Jan. 22, 2014, 12:10 a.m. UTC | #1
Hello Christoph,

On Tue, Jan 21, 2014 at 4:47 PM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:
> Full device tree support for omapdss is not yet accomplished. Until
> then, init display by legacy platform code.
>
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
> ---
>  arch/arm/mach-omap2/dss-common.c   |   49 ++++++++++++++++++++++++++++++++++++
>  arch/arm/mach-omap2/dss-common.h   |    1 +
>  arch/arm/mach-omap2/pdata-quirks.c |    8 +++++-
>  3 files changed, 57 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
> index dadccc9..b8b4e39 100644
> --- a/arch/arm/mach-omap2/dss-common.c
> +++ b/arch/arm/mach-omap2/dss-common.c
> @@ -257,3 +257,52 @@ void __init omap3_igep2_display_init_of(void)
>         platform_device_register(&omap3_igep2_tfp410_device);
>         platform_device_register(&omap3_igep2_dvi_connector_device);
>  }
> +
> +/* OMAP3 dbb056 data */
> +
> +#define DBB056_DISPLAY_ENABLE_GPIO 156
> +
> +static const struct display_timing dbb056_lcd_videomode = {
> +       .pixelclock = { 0, 19200000, 0 },
> +
> +       .hactive = { 0, 640, 0 },
> +       .hfront_porch = { 0, 104, 0 },
> +       .hback_porch = { 0, 8, 0 },
> +       .hsync_len = { 0, 8, 0 },
> +
> +       .vactive = { 0, 480, 0 },
> +       .vfront_porch = { 0, 104, 0 },
> +       .vback_porch = { 0, 8, 0 },
> +       .vsync_len = { 0, 8, 0 },
> +
> +       .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
> +               DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
> +};
> +
> +static struct panel_dpi_platform_data dbb056_lcd_pdata = {
> +       .name                   = "lcd",
> +       .source                 = "dpi.0",
> +
> +       .data_lines             = 18,
> +
> +       .display_timing         = &dbb056_lcd_videomode,
> +
> +       .enable_gpio            = DBB056_DISPLAY_ENABLE_GPIO,
> +       .backlight_gpio         = -1,
> +};
> +
> +static struct platform_device dbb056_lcd_device = {
> +       .name                   = "panel-dpi",
> +       .id                     = 0,
> +       .dev.platform_data      = &dbb056_lcd_pdata,
> +};
> +
> +static struct omap_dss_board_info omap_dbb056_dss_data = {
> +       .default_display_name = "lcd",
> +};
> +
> +void __init omap3_dbb056_display_init_of(void)
> +{
> +       platform_device_register(&dbb056_lcd_device);
> +       omap_display_init(&omap_dbb056_dss_data);
> +}
> diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h
> index a9becf0..a125b55 100644
> --- a/arch/arm/mach-omap2/dss-common.h
> +++ b/arch/arm/mach-omap2/dss-common.h
> @@ -9,5 +9,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);
> +void __init omap3_dbb056_display_init_of(void);
>
>  #endif
> diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> index 39f020c..bce8020 100644
> --- a/arch/arm/mach-omap2/pdata-quirks.c
> +++ b/arch/arm/mach-omap2/pdata-quirks.c
> @@ -92,6 +92,11 @@ static void __init omap3_zoom_legacy_init(void)
>  {
>         legacy_init_wl12xx(WL12XX_REFCLOCK_26, 0, 162);
>  }
> +
> +static void __init omap3_dbb056_legacy_init(void)
> +{
> +       omap3_dbb056_display_init_of();
> +}
>  #endif /* CONFIG_ARCH_OMAP3 */
>
>  #ifdef CONFIG_ARCH_OMAP4
> @@ -139,10 +144,11 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
>
>  static struct pdata_init pdata_quirks[] __initdata = {
>  #ifdef CONFIG_ARCH_OMAP3
> +       { "incostartec,omap3-lilly-dbb056", omap3_dbb056_legacy_init, },
> +       { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
>         { "nokia,omap3-n900", hsmmc2_internal_input_clk, },
>         { "nokia,omap3-n9", hsmmc2_internal_input_clk, },
>         { "nokia,omap3-n950", hsmmc2_internal_input_clk, },
> -       { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
>         { "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
>         { "ti,omap3-zoom3", omap3_zoom_legacy_init, },
>  #endif
> --
> 1.7.10.4
>

I don't think that makes sense to add more legacy display support
right now since Tomi has sent a v3 of his OMAPDSS DT support which
hopefully will be merged in v3.14.

Thanks a lot and best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sebastian Reichel Jan. 22, 2014, 12:24 a.m. UTC | #2
Hi,

On Tue, Jan 21, 2014 at 09:10:52PM -0300, Javier Martinez Canillas wrote:
> On Tue, Jan 21, 2014 at 4:47 PM, Christoph Fritz wrote:
> > [PATCH]
> 
> I don't think that makes sense to add more legacy display support
> right now since Tomi has sent a v3 of his OMAPDSS DT support,
> which hopefully will be merged in v3.14.

Tomi wrote, that the series will miss 3.14 merge window:

http://www.spinics.net/lists/linux-omap/msg102149.html

-- Sebastian
Javier Martinez Canillas Jan. 22, 2014, 12:26 a.m. UTC | #3
Hi Sebastian,

On Tue, Jan 21, 2014 at 9:24 PM, Sebastian Reichel <sre@ring0.de> wrote:
> Hi,
>
> On Tue, Jan 21, 2014 at 09:10:52PM -0300, Javier Martinez Canillas wrote:
>> On Tue, Jan 21, 2014 at 4:47 PM, Christoph Fritz wrote:
>> > [PATCH]
>>
>> I don't think that makes sense to add more legacy display support
>> right now since Tomi has sent a v3 of his OMAPDSS DT support,
>> which hopefully will be merged in v3.14.
>
> Tomi wrote, that the series will miss 3.14 merge window:
>
> http://www.spinics.net/lists/linux-omap/msg102149.html
>
> -- Sebastian

I see, missed that email from Tomi. Thanks for the clarification and
sorry for the noise then.

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index dadccc9..b8b4e39 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -257,3 +257,52 @@  void __init omap3_igep2_display_init_of(void)
 	platform_device_register(&omap3_igep2_tfp410_device);
 	platform_device_register(&omap3_igep2_dvi_connector_device);
 }
+
+/* OMAP3 dbb056 data */
+
+#define DBB056_DISPLAY_ENABLE_GPIO 156
+
+static const struct display_timing dbb056_lcd_videomode = {
+	.pixelclock = { 0, 19200000, 0 },
+
+	.hactive = { 0, 640, 0 },
+	.hfront_porch = { 0, 104, 0 },
+	.hback_porch = { 0, 8, 0 },
+	.hsync_len = { 0, 8, 0 },
+
+	.vactive = { 0, 480, 0 },
+	.vfront_porch = { 0, 104, 0 },
+	.vback_porch = { 0, 8, 0 },
+	.vsync_len = { 0, 8, 0 },
+
+	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+		DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+};
+
+static struct panel_dpi_platform_data dbb056_lcd_pdata = {
+	.name                   = "lcd",
+	.source                 = "dpi.0",
+
+	.data_lines             = 18,
+
+	.display_timing         = &dbb056_lcd_videomode,
+
+	.enable_gpio            = DBB056_DISPLAY_ENABLE_GPIO,
+	.backlight_gpio         = -1,
+};
+
+static struct platform_device dbb056_lcd_device = {
+	.name                   = "panel-dpi",
+	.id                     = 0,
+	.dev.platform_data      = &dbb056_lcd_pdata,
+};
+
+static struct omap_dss_board_info omap_dbb056_dss_data = {
+	.default_display_name = "lcd",
+};
+
+void __init omap3_dbb056_display_init_of(void)
+{
+	platform_device_register(&dbb056_lcd_device);
+	omap_display_init(&omap_dbb056_dss_data);
+}
diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h
index a9becf0..a125b55 100644
--- a/arch/arm/mach-omap2/dss-common.h
+++ b/arch/arm/mach-omap2/dss-common.h
@@ -9,5 +9,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);
+void __init omap3_dbb056_display_init_of(void);
 
 #endif
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 39f020c..bce8020 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -92,6 +92,11 @@  static void __init omap3_zoom_legacy_init(void)
 {
 	legacy_init_wl12xx(WL12XX_REFCLOCK_26, 0, 162);
 }
+
+static void __init omap3_dbb056_legacy_init(void)
+{
+	omap3_dbb056_display_init_of();
+}
 #endif /* CONFIG_ARCH_OMAP3 */
 
 #ifdef CONFIG_ARCH_OMAP4
@@ -139,10 +144,11 @@  struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
 
 static struct pdata_init pdata_quirks[] __initdata = {
 #ifdef CONFIG_ARCH_OMAP3
+	{ "incostartec,omap3-lilly-dbb056", omap3_dbb056_legacy_init, },
+	{ "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
 	{ "nokia,omap3-n900", hsmmc2_internal_input_clk, },
 	{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
 	{ "nokia,omap3-n950", hsmmc2_internal_input_clk, },
-	{ "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
 	{ "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
 	{ "ti,omap3-zoom3", omap3_zoom_legacy_init, },
 #endif