linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for DEVKIT8000
@ 2010-02-11 19:41 Thomas Weber
  2010-02-12  5:50 ` [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for Hiremath, Vaibhav
  2010-02-12  5:55 ` Jaya Kumar
  0 siblings, 2 replies; 6+ messages in thread
From: Thomas Weber @ 2010-02-11 19:41 UTC (permalink / raw)
  Cc: Thomas Weber, Tomi Valkeinen, Thomas Weber, linux-omap,
	linux-fbdev, linux-kernel

This patch adds the 7 inch display for the DEVKIT8000.

Signed-off-by: Thomas Weber <weber@corscience.de>
---
 drivers/video/omap2/displays/Kconfig               |    8 ++-
 drivers/video/omap2/displays/Makefile              |    1 +
 .../video/omap2/displays/panel-innolux-at070tn83.c |  107 ++++++++++++++++++++
 3 files changed, 115 insertions(+), 1 deletions(-)
 create mode 100644 drivers/video/omap2/displays/panel-innolux-at070tn83.c

diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
index b12a59c..ca6b372 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -5,7 +5,7 @@ config PANEL_GENERIC
         tristate "Generic Panel"
         help
 	  Generic panel driver.
-	  Used for DVI output for Beagle and OMAP3 SDP.
+	  Used for DVI output for Beagle, Devkit8000 and OMAP3 SDP.
 
 config PANEL_SHARP_LS037V7DW01
         tristate "Sharp LS037V7DW01 LCD Panel"
@@ -13,6 +13,12 @@ config PANEL_SHARP_LS037V7DW01
         help
           LCD Panel used in TI's SDP3430 and EVM boards
 
+config PANEL_INNOLUX_AT070TN83
+	tristate "Innolux AT070TN83 LCD Panel"
+	depends on OMAP2_DSS
+	help
+	 LCD Panel used in TimLL's Devkit8000
+
 config PANEL_TAAL
         tristate "Taal DSI Panel"
         depends on OMAP2_DSS_DSI
diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
index 9556464..087b192 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -2,3 +2,4 @@ obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
 obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
 
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
+obj-$(CONFIG_PANEL_INNOLUX_AT070TN83) += panel-innolux-at070tn83.o
diff --git a/drivers/video/omap2/displays/panel-innolux-at070tn83.c b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
new file mode 100644
index 0000000..f1d7f69
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
@@ -0,0 +1,107 @@
+/*
+ * LCD panel driver for Innolux AT70TN83
+ *
+ * Copyright (C) 2010 Thomas Weber <weber@corscience.de>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/regulator/consumer.h>
+#include <linux/err.h>
+
+#include <plat/display.h>
+
+static struct omap_video_timings innolux_at_timings = {
+	.x_res 		= 800,
+	.y_res 		= 480,
+
+	.pixel_clock	= 40000,
+
+	.hsw		= 48,
+	.hfp		= 1,
+	.hbp		= 1,
+
+	.vsw		= 3,
+	.vfp		= 12,
+	.vbp		= 25,
+};
+
+static int innolux_at_panel_probe(struct omap_dss_device *dssdev)
+{
+	dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+		OMAP_DSS_LCD_IHS;
+	dssdev->panel.acb = 0x28;
+	dssdev->panel.timings = innolux_at_timings;
+
+	return 0;
+}
+
+static void innolux_at_panel_remove(struct omap_dss_device *dssdev)
+{
+}
+
+static int innolux_at_panel_enable(struct omap_dss_device *dssdev)
+{
+	return 0;
+}
+
+static void innolux_at_panel_disable(struct omap_dss_device *dssdev)
+{
+
+	if (dssdev->platform_disable)
+		dssdev->platform_disable(dssdev);
+
+}
+
+static int innolux_at_panel_suspend(struct omap_dss_device *dssdev)
+{
+	innolux_at_panel_disable(dssdev);
+	return 0;
+}
+
+static int innolux_at_panel_resume(struct omap_dss_device *dssdev)
+{
+	return innolux_at_panel_enable(dssdev);
+}
+
+static struct omap_dss_driver innolux_at_driver = {
+	.probe		= innolux_at_panel_probe,
+	.remove		= innolux_at_panel_remove,
+
+	.enable		= innolux_at_panel_enable,
+	.disable	= innolux_at_panel_disable,
+	.suspend	= innolux_at_panel_suspend,
+	.resume		= innolux_at_panel_resume,
+
+	.driver         = {
+		.name   = "innolux_at_panel",
+		.owner  = THIS_MODULE,
+	},
+};
+
+static int __init innolux_at_panel_drv_init(void)
+{
+	return omap_dss_register_driver(&innolux_at_driver);
+}
+
+static void __exit innolux_at_panel_drv_exit(void)
+{
+	omap_dss_unregister_driver(&innolux_at_driver);
+}
+
+module_init(innolux_at_panel_drv_init);
+module_exit(innolux_at_panel_drv_exit);
+MODULE_LICENSE("GPL");
-- 
1.6.4.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* RE: [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for
  2010-02-11 19:41 [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for DEVKIT8000 Thomas Weber
@ 2010-02-12  5:50 ` Hiremath, Vaibhav
  2010-02-12  5:55 ` Jaya Kumar
  1 sibling, 0 replies; 6+ messages in thread
From: Hiremath, Vaibhav @ 2010-02-12  5:50 UTC (permalink / raw)
  To: Thomas Weber
  Cc: Tomi Valkeinen, Thomas Weber, linux-omap@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org


> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Thomas Weber
> Sent: Friday, February 12, 2010 1:11 AM
> Cc: Thomas Weber; Tomi Valkeinen; Thomas Weber; linux-
> omap@vger.kernel.org; linux-fbdev@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display
> for DEVKIT8000
> 
> This patch adds the 7 inch display for the DEVKIT8000.
[Hiremath, Vaibhav] Specify panel part/name here, patch description seems less descriptive.

> 
> Signed-off-by: Thomas Weber <weber@corscience.de>
> ---
>  drivers/video/omap2/displays/Kconfig               |    8 ++-
>  drivers/video/omap2/displays/Makefile              |    1 +
>  .../video/omap2/displays/panel-innolux-at070tn83.c |  107
> ++++++++++++++++++++
>  3 files changed, 115 insertions(+), 1 deletions(-)
>  create mode 100644 drivers/video/omap2/displays/panel-innolux-
> at070tn83.c
> 
> diff --git a/drivers/video/omap2/displays/Kconfig
> b/drivers/video/omap2/displays/Kconfig
> index b12a59c..ca6b372 100644
> --- a/drivers/video/omap2/displays/Kconfig
> +++ b/drivers/video/omap2/displays/Kconfig
> @@ -5,7 +5,7 @@ config PANEL_GENERIC
>          tristate "Generic Panel"
>          help
>  	  Generic panel driver.
> -	  Used for DVI output for Beagle and OMAP3 SDP.
> +	  Used for DVI output for Beagle, Devkit8000 and OMAP3 SDP.
> 
[Hiremath, Vaibhav] I think we should remove board name from here, since all the OMAP board supporting DVI output would use this. 

>  config PANEL_SHARP_LS037V7DW01
>          tristate "Sharp LS037V7DW01 LCD Panel"
> @@ -13,6 +13,12 @@ config PANEL_SHARP_LS037V7DW01
>          help
>            LCD Panel used in TI's SDP3430 and EVM boards
> 
> +config PANEL_INNOLUX_AT070TN83
> +	tristate "Innolux AT070TN83 LCD Panel"
> +	depends on OMAP2_DSS
> +	help
> +	 LCD Panel used in TimLL's Devkit8000
> +
>  config PANEL_TAAL
>          tristate "Taal DSI Panel"
>          depends on OMAP2_DSS_DSI
> diff --git a/drivers/video/omap2/displays/Makefile
> b/drivers/video/omap2/displays/Makefile
> index 9556464..087b192 100644
> --- a/drivers/video/omap2/displays/Makefile
> +++ b/drivers/video/omap2/displays/Makefile
> @@ -2,3 +2,4 @@ obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
>  obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
> 
>  obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
> +obj-$(CONFIG_PANEL_INNOLUX_AT070TN83) += panel-innolux-at070tn83.o
> diff --git a/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> new file mode 100644
> index 0000000..f1d7f69
> --- /dev/null
> +++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> @@ -0,0 +1,107 @@
> +/*
> + * LCD panel driver for Innolux AT70TN83
> + *
> + * Copyright (C) 2010 Thomas Weber <weber@corscience.de>
> + *
> + * This program is free software; you can redistribute it and/or
> modify it
> + * under the terms of the GNU General Public License version 2 as
> published by
> + * the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
> License for
> + * more details.
> + *
> + * You should have received a copy of the GNU General Public
> License along with
> + * this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <linux/module.h>
> +#include <linux/delay.h>
> +#include <linux/device.h>
> +#include <linux/regulator/consumer.h>
[Hiremath, Vaibhav] Do you need consumer.h file here?

> +#include <linux/err.h>
> +
> +#include <plat/display.h>
> +
> +static struct omap_video_timings innolux_at_timings = {
> +	.x_res 		= 800,
> +	.y_res 		= 480,
> +
> +	.pixel_clock	= 40000,
> +
> +	.hsw		= 48,
> +	.hfp		= 1,
> +	.hbp		= 1,
> +
> +	.vsw		= 3,
> +	.vfp		= 12,
> +	.vbp		= 25,
> +};
> +
> +static int innolux_at_panel_probe(struct omap_dss_device *dssdev)
> +{
> +	dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
> +		OMAP_DSS_LCD_IHS;
> +	dssdev->panel.acb = 0x28;
> +	dssdev->panel.timings = innolux_at_timings;
> +
> +	return 0;
> +}
> +
> +static void innolux_at_panel_remove(struct omap_dss_device *dssdev)
> +{
> +}
> +
> +static int innolux_at_panel_enable(struct omap_dss_device *dssdev)
> +{
> +	return 0;
> +}
> +
> +static void innolux_at_panel_disable(struct omap_dss_device
> *dssdev)
> +{
> +
> +	if (dssdev->platform_disable)
> +		dssdev->platform_disable(dssdev);
> +
> +}
> +
> +static int innolux_at_panel_suspend(struct omap_dss_device *dssdev)
> +{
> +	innolux_at_panel_disable(dssdev);
> +	return 0;
> +}
> +
> +static int innolux_at_panel_resume(struct omap_dss_device *dssdev)
> +{
> +	return innolux_at_panel_enable(dssdev);
> +}
> +
> +static struct omap_dss_driver innolux_at_driver = {
> +	.probe		= innolux_at_panel_probe,
> +	.remove		= innolux_at_panel_remove,
> +
> +	.enable		= innolux_at_panel_enable,
> +	.disable	= innolux_at_panel_disable,
> +	.suspend	= innolux_at_panel_suspend,
> +	.resume		= innolux_at_panel_resume,
> +
> +	.driver         = {
> +		.name   = "innolux_at_panel",
> +		.owner  = THIS_MODULE,
> +	},
> +};
> +
> +static int __init innolux_at_panel_drv_init(void)
> +{
> +	return omap_dss_register_driver(&innolux_at_driver);
> +}
> +
> +static void __exit innolux_at_panel_drv_exit(void)
> +{
> +	omap_dss_unregister_driver(&innolux_at_driver);
> +}
> +
[Hiremath, Vaibhav] I think we can make use of panel_generic.c file for this display panel, I couldn't find anything different being done in this file except panel.config and acb configuration.

To support this panel you just need to define videomode in modedb.c file use boot argument for the same.

Thanks,
Vaibhav

> +module_init(innolux_at_panel_drv_init);
> +module_exit(innolux_at_panel_drv_exit);
> +MODULE_LICENSE("GPL");
> --
> 1.6.4.4
> 
> --
> 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for
  2010-02-11 19:41 [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for DEVKIT8000 Thomas Weber
  2010-02-12  5:50 ` [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for Hiremath, Vaibhav
@ 2010-02-12  5:55 ` Jaya Kumar
  2010-02-12 15:25   ` Tomi Valkeinen
  1 sibling, 1 reply; 6+ messages in thread
From: Jaya Kumar @ 2010-02-12  5:55 UTC (permalink / raw)
  To: Thomas Weber
  Cc: Tomi Valkeinen, Thomas Weber, linux-omap, linux-fbdev,
	linux-kernel

On Fri, Feb 12, 2010 at 3:41 AM, Thomas Weber <swirl@gmx.li> wrote:
> This patch adds the 7 inch display for the DEVKIT8000.
>
> Signed-off-by: Thomas Weber <weber@corscience.de>
> ---
>  drivers/video/omap2/displays/Kconfig               |    8 ++-
>  drivers/video/omap2/displays/Makefile              |    1 +
>  .../video/omap2/displays/panel-innolux-at070tn83.c |  107 ++++++++++++++++++++
>  3 files changed, 115 insertions(+), 1 deletions(-)
>  create mode 100644 drivers/video/omap2/displays/panel-innolux-at070tn83.c
>
> diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
> index b12a59c..ca6b372 100644
> --- a/drivers/video/omap2/displays/Kconfig
> +++ b/drivers/video/omap2/displays/Kconfig
> @@ -5,7 +5,7 @@ config PANEL_GENERIC
>         tristate "Generic Panel"
>         help
>          Generic panel driver.
> -         Used for DVI output for Beagle and OMAP3 SDP.
> +         Used for DVI output for Beagle, Devkit8000 and OMAP3 SDP.
>
>  config PANEL_SHARP_LS037V7DW01
>         tristate "Sharp LS037V7DW01 LCD Panel"
> @@ -13,6 +13,12 @@ config PANEL_SHARP_LS037V7DW01
>         help
>           LCD Panel used in TI's SDP3430 and EVM boards
>
> +config PANEL_INNOLUX_AT070TN83
> +       tristate "Innolux AT070TN83 LCD Panel"
> +       depends on OMAP2_DSS
> +       help
> +        LCD Panel used in TimLL's Devkit8000
> +
>  config PANEL_TAAL
>         tristate "Taal DSI Panel"
>         depends on OMAP2_DSS_DSI
> diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
> index 9556464..087b192 100644
> --- a/drivers/video/omap2/displays/Makefile
> +++ b/drivers/video/omap2/displays/Makefile
> @@ -2,3 +2,4 @@ obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
>  obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
>
>  obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
> +obj-$(CONFIG_PANEL_INNOLUX_AT070TN83) += panel-innolux-at070tn83.o
> diff --git a/drivers/video/omap2/displays/panel-innolux-at070tn83.c b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> new file mode 100644
> index 0000000..f1d7f69
> --- /dev/null
> +++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> @@ -0,0 +1,107 @@
> +/*
> + * LCD panel driver for Innolux AT70TN83
> + *
> + * Copyright (C) 2010 Thomas Weber <weber@corscience.de>
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License version 2 as published by
> + * the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> + * more details.
> + *
> + * You should have received a copy of the GNU General Public License along with
> + * this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <linux/module.h>
> +#include <linux/delay.h>
> +#include <linux/device.h>
> +#include <linux/regulator/consumer.h>
> +#include <linux/err.h>
> +
> +#include <plat/display.h>
> +
> +static struct omap_video_timings innolux_at_timings = {
> +       .x_res          = 800,
> +       .y_res          = 480,
> +
> +       .pixel_clock    = 40000,
> +
> +       .hsw            = 48,
> +       .hfp            = 1,
> +       .hbp            = 1,
> +
> +       .vsw            = 3,
> +       .vfp            = 12,
> +       .vbp            = 25,
> +};
> +
> +static int innolux_at_panel_probe(struct omap_dss_device *dssdev)
> +{
> +       dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
> +               OMAP_DSS_LCD_IHS;
> +       dssdev->panel.acb = 0x28;
> +       dssdev->panel.timings = innolux_at_timings;
> +
> +       return 0;
> +}
> +

Hi Thomas, Tomi,

Just curious, does this patch imply that code like this needs to be
written for every single LCD type and resolution that can be connected
to omap2? Maybe there is a better way, like a common table of timings
and values that can be selected with a module option or even
autodetected.

Thanks,
jaya

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for
  2010-02-12  5:55 ` Jaya Kumar
@ 2010-02-12 15:25   ` Tomi Valkeinen
  2010-02-19 12:57     ` Thomas Weber
  0 siblings, 1 reply; 6+ messages in thread
From: Tomi Valkeinen @ 2010-02-12 15:25 UTC (permalink / raw)
  To: ext Jaya Kumar
  Cc: Thomas Weber, Thomas Weber, linux-omap@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org

On Fri, 2010-02-12 at 06:55 +0100, ext Jaya Kumar wrote:
> On Fri, Feb 12, 2010 at 3:41 AM, Thomas Weber <swirl@gmx.li> wrote:

[snip]

> > +
> > +static struct omap_video_timings innolux_at_timings = {
> > +       .x_res          = 800,
> > +       .y_res          = 480,
> > +
> > +       .pixel_clock    = 40000,
> > +
> > +       .hsw            = 48,
> > +       .hfp            = 1,
> > +       .hbp            = 1,
> > +
> > +       .vsw            = 3,
> > +       .vfp            = 12,
> > +       .vbp            = 25,
> > +};
> > +
> > +static int innolux_at_panel_probe(struct omap_dss_device *dssdev)
> > +{
> > +       dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
> > +               OMAP_DSS_LCD_IHS;
> > +       dssdev->panel.acb = 0x28;
> > +       dssdev->panel.timings = innolux_at_timings;
> > +
> > +       return 0;
> > +}
> > +
> 
> Hi Thomas, Tomi,
> 
> Just curious, does this patch imply that code like this needs to be
> written for every single LCD type and resolution that can be connected
> to omap2? Maybe there is a better way, like a common table of timings
> and values that can be selected with a module option or even
> autodetected.

Yes, it is true that currently you need to write these for every LCD. I
have been thinking this issue, and I think we can make a common driver. 

However, it's not just selecting timings, as LCDs can have also other
characteristics than just the video timings. For example, some may have
power on/off line, some reset enable/disable, some need 50ms after
reset, some 80ms after reset etc.

But if we manage to get a sane set of those settings into the table, we
could perhaps cover most of the "dummy" LCDs with it.

This change doesn't probably need any changes to the DSS core, only for
the panel driver. Any takers for this task? =) 

 Tomi



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for
  2010-02-12 15:25   ` Tomi Valkeinen
@ 2010-02-19 12:57     ` Thomas Weber
  2010-02-23 11:54       ` Tomi Valkeinen
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Weber @ 2010-02-19 12:57 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: ext Jaya Kumar, Thomas Weber, linux-omap@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org

Tomi Valkeinen wrote:
> On Fri, 2010-02-12 at 06:55 +0100, ext Jaya Kumar wrote:
>   
>> On Fri, Feb 12, 2010 at 3:41 AM, Thomas Weber <swirl@gmx.li> wrote:
>>     
>
> [snip]
>
>   
>>> +
>>> +static struct omap_video_timings innolux_at_timings = {
>>> +       .x_res          = 800,
>>> +       .y_res          = 480,
>>> +
>>> +       .pixel_clock    = 40000,
>>> +
>>> +       .hsw            = 48,
>>> +       .hfp            = 1,
>>> +       .hbp            = 1,
>>> +
>>> +       .vsw            = 3,
>>> +       .vfp            = 12,
>>> +       .vbp            = 25,
>>> +};
>>> +
>>> +static int innolux_at_panel_probe(struct omap_dss_device *dssdev)
>>> +{
>>> +       dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
>>> +               OMAP_DSS_LCD_IHS;
>>> +       dssdev->panel.acb = 0x28;
>>> +       dssdev->panel.timings = innolux_at_timings;
>>> +
>>> +       return 0;
>>> +}
>>> +
>>>       
>> Hi Thomas, Tomi,
>>
>> Just curious, does this patch imply that code like this needs to be
>> written for every single LCD type and resolution that can be connected
>> to omap2? Maybe there is a better way, like a common table of timings
>> and values that can be selected with a module option or even
>> autodetected.
>>     
>
> Yes, it is true that currently you need to write these for every LCD. I
> have been thinking this issue, and I think we can make a common driver. 
>
> However, it's not just selecting timings, as LCDs can have also other
> characteristics than just the video timings. For example, some may have
> power on/off line, some reset enable/disable, some need 50ms after
> reset, some 80ms after reset etc.
>
> But if we manage to get a sane set of those settings into the table, we
> could perhaps cover most of the "dummy" LCDs with it.
>
> This change doesn't probably need any changes to the DSS core, only for
> the panel driver. Any takers for this task? =) 
>
>  Tomi
>
>
> --
> 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
>
>
>   
Hello,

sorry but I am not able to take the task.
Make it sense to rework this patch or do you want first the changes to
the panel driver?

Thomas



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for
  2010-02-19 12:57     ` Thomas Weber
@ 2010-02-23 11:54       ` Tomi Valkeinen
  0 siblings, 0 replies; 6+ messages in thread
From: Tomi Valkeinen @ 2010-02-23 11:54 UTC (permalink / raw)
  To: ext Thomas Weber
  Cc: ext Jaya Kumar, Thomas Weber, linux-omap@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org

On Fri, 2010-02-19 at 13:57 +0100, ext Thomas Weber wrote:
> Tomi Valkeinen wrote:
> > On Fri, 2010-02-12 at 06:55 +0100, ext Jaya Kumar wrote:
> >   
> >> On Fri, Feb 12, 2010 at 3:41 AM, Thomas Weber <swirl@gmx.li> wrote:
> >>     
> >
> > [snip]
> >
> >   
> >>> +
> >>> +static struct omap_video_timings innolux_at_timings = {
> >>> +       .x_res          = 800,
> >>> +       .y_res          = 480,
> >>> +
> >>> +       .pixel_clock    = 40000,
> >>> +
> >>> +       .hsw            = 48,
> >>> +       .hfp            = 1,
> >>> +       .hbp            = 1,
> >>> +
> >>> +       .vsw            = 3,
> >>> +       .vfp            = 12,
> >>> +       .vbp            = 25,
> >>> +};
> >>> +
> >>> +static int innolux_at_panel_probe(struct omap_dss_device *dssdev)
> >>> +{
> >>> +       dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
> >>> +               OMAP_DSS_LCD_IHS;
> >>> +       dssdev->panel.acb = 0x28;
> >>> +       dssdev->panel.timings = innolux_at_timings;
> >>> +
> >>> +       return 0;
> >>> +}
> >>> +
> >>>       
> >> Hi Thomas, Tomi,
> >>
> >> Just curious, does this patch imply that code like this needs to be
> >> written for every single LCD type and resolution that can be connected
> >> to omap2? Maybe there is a better way, like a common table of timings
> >> and values that can be selected with a module option or even
> >> autodetected.
> >>     
> >
> > Yes, it is true that currently you need to write these for every LCD. I
> > have been thinking this issue, and I think we can make a common driver. 
> >
> > However, it's not just selecting timings, as LCDs can have also other
> > characteristics than just the video timings. For example, some may have
> > power on/off line, some reset enable/disable, some need 50ms after
> > reset, some 80ms after reset etc.
> >
> > But if we manage to get a sane set of those settings into the table, we
> > could perhaps cover most of the "dummy" LCDs with it.
> >
> > This change doesn't probably need any changes to the DSS core, only for
> > the panel driver. Any takers for this task? =) 
> >
> >  Tomi
> >
> >
> > --
> > 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
> >
> >
> >   
> Hello,
> 
> sorry but I am not able to take the task.
> Make it sense to rework this patch or do you want first the changes to
> the panel driver?

I probably won't have time to implement this generic panel driver yet.
However, I will be merging some DSS driver model changes (sent to
mailing lists) soon, after which this patch needs to be changed a bit.

The changes can be found from
http://gitorious.org/linux-omap-dss2/linux/commits/work but they may
still change a bit.

 Tomi



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-02-23 11:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-11 19:41 [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for DEVKIT8000 Thomas Weber
2010-02-12  5:50 ` [RESEND][PATCHv2 4/4] OMAP: DSS2: Add Innolux 7" display for Hiremath, Vaibhav
2010-02-12  5:55 ` Jaya Kumar
2010-02-12 15:25   ` Tomi Valkeinen
2010-02-19 12:57     ` Thomas Weber
2010-02-23 11:54       ` Tomi Valkeinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).