All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2] OMAP2: DSS: Add Innolux 7" display for DEVKIT8000
@ 2010-04-07 18:33 ` swirl
  0 siblings, 0 replies; 8+ messages in thread
From: swirl @ 2010-04-07 18:33 UTC (permalink / raw)
  To: linux-omap
  Cc: Thomas Weber, Tomi Valkeinen, Vaibhav Hiremath, linux-fbdev,
	Thomas Weber

From: Thomas Weber <swirl@gmx.li>

This patch adds the 7 inch display for the DEVKIT8000.

Thanks to Vaibhav Hiremath for comments.

Change log:
	v2 
	Kconfig option description changed.
	Remove unneeded header file inclusion.
	Remove gotos.

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 |  148 ++++++++++++++++++++
 3 files changed, 156 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 dfb57ee..9d9742e 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 OMAP3 DVI output.
 
 config PANEL_SHARP_LS037V7DW01
         tristate "Sharp LS037V7DW01 LCD Panel"
@@ -19,6 +19,12 @@ config PANEL_SHARP_LQ043T1DG01
         help
           LCD Panel used in TI's OMAP3517 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 e2bb321..fe3ae8d 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
 obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.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..2005653
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
@@ -0,0 +1,148 @@
+/*
+ * 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/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_power_on(struct omap_dss_device *dssdev)
+{
+	int r;
+
+	r = omapdss_dpi_display_enable(dssdev);
+	if (r)
+		return r;
+
+	if (dssdev->platform_enable) {
+		r = dssdev->platform_enable(dssdev);
+		if (r)
+			omapdss_dpi_display_disable(dssdev);
+	}
+	return r;
+}
+
+static void innolux_at_panel_power_off(struct omap_dss_device *dssdev)
+{
+	if (dssdev->platform_disable)
+		dssdev->platform_disable(dssdev);
+
+	omapdss_dpi_display_disable(dssdev);
+
+}
+
+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)
+{
+	int r = 0;
+
+	r = innolux_at_panel_power_on(dssdev);
+	if (r)
+		return r;
+
+	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
+
+	return 0;
+}
+
+static void innolux_at_panel_disable(struct omap_dss_device *dssdev)
+{
+	innolux_at_panel_power_off(dssdev);
+
+	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
+}
+
+static int innolux_at_panel_suspend(struct omap_dss_device *dssdev)
+{
+	innolux_at_panel_power_off(dssdev);
+	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
+	return 0;
+}
+
+static int innolux_at_panel_resume(struct omap_dss_device *dssdev)
+{
+	int r = 0;
+
+	r = innolux_at_panel_power_on(dssdev);
+
+	if (r)
+		return r;
+
+	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
+
+	return 0;
+}
+
+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] 8+ messages in thread

* [PATCHv2] OMAP2: DSS: Add Innolux 7" display for DEVKIT8000
@ 2010-04-07 18:33 ` swirl
  0 siblings, 0 replies; 8+ messages in thread
From: swirl @ 2010-04-07 18:33 UTC (permalink / raw)
  To: linux-omap
  Cc: Thomas Weber, Tomi Valkeinen, Vaibhav Hiremath, linux-fbdev,
	Thomas Weber

From: Thomas Weber <swirl@gmx.li>

This patch adds the 7 inch display for the DEVKIT8000.

Thanks to Vaibhav Hiremath for comments.

Change log:
	v2 
	Kconfig option description changed.
	Remove unneeded header file inclusion.
	Remove gotos.

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 |  148 ++++++++++++++++++++
 3 files changed, 156 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 dfb57ee..9d9742e 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 OMAP3 DVI output.
 
 config PANEL_SHARP_LS037V7DW01
         tristate "Sharp LS037V7DW01 LCD Panel"
@@ -19,6 +19,12 @@ config PANEL_SHARP_LQ043T1DG01
         help
           LCD Panel used in TI's OMAP3517 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 e2bb321..fe3ae8d 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
 obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.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..2005653
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
@@ -0,0 +1,148 @@
+/*
+ * 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/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_power_on(struct omap_dss_device *dssdev)
+{
+	int r;
+
+	r = omapdss_dpi_display_enable(dssdev);
+	if (r)
+		return r;
+
+	if (dssdev->platform_enable) {
+		r = dssdev->platform_enable(dssdev);
+		if (r)
+			omapdss_dpi_display_disable(dssdev);
+	}
+	return r;
+}
+
+static void innolux_at_panel_power_off(struct omap_dss_device *dssdev)
+{
+	if (dssdev->platform_disable)
+		dssdev->platform_disable(dssdev);
+
+	omapdss_dpi_display_disable(dssdev);
+
+}
+
+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)
+{
+	int r = 0;
+
+	r = innolux_at_panel_power_on(dssdev);
+	if (r)
+		return r;
+
+	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
+
+	return 0;
+}
+
+static void innolux_at_panel_disable(struct omap_dss_device *dssdev)
+{
+	innolux_at_panel_power_off(dssdev);
+
+	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
+}
+
+static int innolux_at_panel_suspend(struct omap_dss_device *dssdev)
+{
+	innolux_at_panel_power_off(dssdev);
+	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
+	return 0;
+}
+
+static int innolux_at_panel_resume(struct omap_dss_device *dssdev)
+{
+	int r = 0;
+
+	r = innolux_at_panel_power_on(dssdev);
+
+	if (r)
+		return r;
+
+	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
+
+	return 0;
+}
+
+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] 8+ messages in thread

* Re: [PATCHv2] OMAP2: DSS: Add Innolux 7" display for DEVKIT8000
  2010-04-07 18:33 ` swirl
@ 2010-04-15 11:03   ` Tomi Valkeinen
  -1 siblings, 0 replies; 8+ messages in thread
From: Tomi Valkeinen @ 2010-04-15 11:03 UTC (permalink / raw)
  To: ext swirl@gmx.li; +Cc: linux-omap, Vaibhav Hiremath, linux-fbdev, Thomas Weber

Hi,

On Wed, 2010-04-07 at 20:33 +0200, ext swirl@gmx.li wrote:
> From: Thomas Weber <swirl@gmx.li>
> 
> This patch adds the 7 inch display for the DEVKIT8000.
> 
> Thanks to Vaibhav Hiremath for comments.
> 
> Change log:
> 	v2 
> 	Kconfig option description changed.
> 	Remove unneeded header file inclusion.
> 	Remove gotos.

Don't add change logs or similar into commit message.

> 
> 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 |  148 ++++++++++++++++++++
>  3 files changed, 156 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 dfb57ee..9d9742e 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 OMAP3 DVI output.

This change doesn't belong to this patch.

Otherwise the patch looks ok. Can you send me a new one without the
change above and without changelog lines in commit message, and I'll add
it to my tree.

 Tomi

>  
>  config PANEL_SHARP_LS037V7DW01
>          tristate "Sharp LS037V7DW01 LCD Panel"
> @@ -19,6 +19,12 @@ config PANEL_SHARP_LQ043T1DG01
>          help
>            LCD Panel used in TI's OMAP3517 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 e2bb321..fe3ae8d 100644
> --- a/drivers/video/omap2/displays/Makefile
> +++ b/drivers/video/omap2/displays/Makefile
> @@ -5,3 +5,4 @@ obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
>  obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
>  obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
>  obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.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..2005653
> --- /dev/null
> +++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> @@ -0,0 +1,148 @@
> +/*
> + * 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/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_power_on(struct omap_dss_device *dssdev)
> +{
> +	int r;
> +
> +	r = omapdss_dpi_display_enable(dssdev);
> +	if (r)
> +		return r;
> +
> +	if (dssdev->platform_enable) {
> +		r = dssdev->platform_enable(dssdev);
> +		if (r)
> +			omapdss_dpi_display_disable(dssdev);
> +	}
> +	return r;
> +}
> +
> +static void innolux_at_panel_power_off(struct omap_dss_device *dssdev)
> +{
> +	if (dssdev->platform_disable)
> +		dssdev->platform_disable(dssdev);
> +
> +	omapdss_dpi_display_disable(dssdev);
> +
> +}
> +
> +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)
> +{
> +	int r = 0;
> +
> +	r = innolux_at_panel_power_on(dssdev);
> +	if (r)
> +		return r;
> +
> +	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> +
> +	return 0;
> +}
> +
> +static void innolux_at_panel_disable(struct omap_dss_device *dssdev)
> +{
> +	innolux_at_panel_power_off(dssdev);
> +
> +	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
> +}
> +
> +static int innolux_at_panel_suspend(struct omap_dss_device *dssdev)
> +{
> +	innolux_at_panel_power_off(dssdev);
> +	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
> +	return 0;
> +}
> +
> +static int innolux_at_panel_resume(struct omap_dss_device *dssdev)
> +{
> +	int r = 0;
> +
> +	r = innolux_at_panel_power_on(dssdev);
> +
> +	if (r)
> +		return r;
> +
> +	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> +
> +	return 0;
> +}
> +
> +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");



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

* Re: [PATCHv2] OMAP2: DSS: Add Innolux 7" display for DEVKIT8000
@ 2010-04-15 11:03   ` Tomi Valkeinen
  0 siblings, 0 replies; 8+ messages in thread
From: Tomi Valkeinen @ 2010-04-15 11:03 UTC (permalink / raw)
  To: ext swirl@gmx.li; +Cc: linux-omap, Vaibhav Hiremath, linux-fbdev, Thomas Weber

Hi,

On Wed, 2010-04-07 at 20:33 +0200, ext swirl@gmx.li wrote:
> From: Thomas Weber <swirl@gmx.li>
> 
> This patch adds the 7 inch display for the DEVKIT8000.
> 
> Thanks to Vaibhav Hiremath for comments.
> 
> Change log:
> 	v2 
> 	Kconfig option description changed.
> 	Remove unneeded header file inclusion.
> 	Remove gotos.

Don't add change logs or similar into commit message.

> 
> 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 |  148 ++++++++++++++++++++
>  3 files changed, 156 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 dfb57ee..9d9742e 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 OMAP3 DVI output.

This change doesn't belong to this patch.

Otherwise the patch looks ok. Can you send me a new one without the
change above and without changelog lines in commit message, and I'll add
it to my tree.

 Tomi

>  
>  config PANEL_SHARP_LS037V7DW01
>          tristate "Sharp LS037V7DW01 LCD Panel"
> @@ -19,6 +19,12 @@ config PANEL_SHARP_LQ043T1DG01
>          help
>            LCD Panel used in TI's OMAP3517 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 e2bb321..fe3ae8d 100644
> --- a/drivers/video/omap2/displays/Makefile
> +++ b/drivers/video/omap2/displays/Makefile
> @@ -5,3 +5,4 @@ obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
>  obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
>  obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
>  obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.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..2005653
> --- /dev/null
> +++ b/drivers/video/omap2/displays/panel-innolux-at070tn83.c
> @@ -0,0 +1,148 @@
> +/*
> + * 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/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_power_on(struct omap_dss_device *dssdev)
> +{
> +	int r;
> +
> +	r = omapdss_dpi_display_enable(dssdev);
> +	if (r)
> +		return r;
> +
> +	if (dssdev->platform_enable) {
> +		r = dssdev->platform_enable(dssdev);
> +		if (r)
> +			omapdss_dpi_display_disable(dssdev);
> +	}
> +	return r;
> +}
> +
> +static void innolux_at_panel_power_off(struct omap_dss_device *dssdev)
> +{
> +	if (dssdev->platform_disable)
> +		dssdev->platform_disable(dssdev);
> +
> +	omapdss_dpi_display_disable(dssdev);
> +
> +}
> +
> +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)
> +{
> +	int r = 0;
> +
> +	r = innolux_at_panel_power_on(dssdev);
> +	if (r)
> +		return r;
> +
> +	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> +
> +	return 0;
> +}
> +
> +static void innolux_at_panel_disable(struct omap_dss_device *dssdev)
> +{
> +	innolux_at_panel_power_off(dssdev);
> +
> +	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
> +}
> +
> +static int innolux_at_panel_suspend(struct omap_dss_device *dssdev)
> +{
> +	innolux_at_panel_power_off(dssdev);
> +	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
> +	return 0;
> +}
> +
> +static int innolux_at_panel_resume(struct omap_dss_device *dssdev)
> +{
> +	int r = 0;
> +
> +	r = innolux_at_panel_power_on(dssdev);
> +
> +	if (r)
> +		return r;
> +
> +	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
> +
> +	return 0;
> +}
> +
> +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");



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

* [RFC] [PATCH] Devkit8000: Use generic panel driver instead of new driver for every panel
  2010-04-15 11:03   ` Tomi Valkeinen
@ 2010-04-16  8:12     ` Kan-Ru Chen
  -1 siblings, 0 replies; 8+ messages in thread
From: Kan-Ru Chen @ 2010-04-16  8:12 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: Kan-Ru Chen, linux-omap, Vaibhav Hiremath, linux-fbdev, Thomas Weber

Instead of use special driver for every new panel, we can use the
generic driver and modedb database to specify the timing
information. Now supports 4.3, 5.6 and 7 inch panel.

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
---

 Hi!

 Some time ago there was a discussion about implementing a common
 driver for dummy LCDs. I tried the generic-panel and found it can
 cover most panels, by adding new entries to modedb.

 I've discussed with Thomas and he think this approach might be
 cleaner. I'd like to know others opinions.

 arch/arm/mach-omap2/board-devkit8000.c       |    3 ++-
 drivers/video/modedb.c                       |   12 ++++++++++++
 drivers/video/omap2/displays/panel-generic.c |    3 ++-
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 5bfc13b..4f52dfd 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -172,8 +172,9 @@ static struct regulator_consumer_supply devkit8000_vsim_supply = {
 
 static struct omap_dss_device devkit8000_lcd_device = {
 	.name                   = "lcd",
-	.driver_name            = "innolux_at_panel",
+	.driver_name            = "generic_panel",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
+	.panel.config           = OMAP_DSS_LCD_TFT|OMAP_DSS_LCD_IVS|OMAP_DSS_LCD_IHS,
 	.phy.dpi.data_lines     = 24,
 	.platform_enable        = devkit8000_panel_enable_lcd,
 	.platform_disable       = devkit8000_panel_disable_lcd,
diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
index b895aae..89bb3e5 100644
--- a/drivers/video/modedb.c
+++ b/drivers/video/modedb.c
@@ -273,6 +273,18 @@ static const struct fb_videomode modedb[] = {
        /* 800x520i @ 50 Hz, 15.625 kHz hsync (PAL RGB) */
        NULL, 50, 800, 520, 58823, 144, 64, 72, 28, 80, 5,
        0, FB_VMODE_INTERLACED
+    }, {
+       /* 480x272 @ 60 Hz, Devkit8000 4.3 inch LCD */
+       NULL, 60, 480, 272, 111000, 2, 2, 2, 2, 41, 10,
+       0, FB_VMODE_NONINTERLACED
+    }, {
+       /* 640x480 @ 60 Hz, Devkit8000 5.6 inch LCD */
+       NULL, 60, 640, 480, 39682, 16, 143, 32, 12, 1, 1,
+       0, FB_VMODE_NONINTERLACED
+    }, {
+       /* 800x480 @ 60 Hz, Devkit8000 7 inch LCD */
+       NULL, 60, 800, 480, 24855, 210, 45, 132, 22, 1, 1,
+       0, FB_VMODE_NONINTERLACED
     },
 };
 
diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
index 300eff5..b0a5599 100644
--- a/drivers/video/omap2/displays/panel-generic.c
+++ b/drivers/video/omap2/displays/panel-generic.c
@@ -66,7 +66,8 @@ static void generic_panel_power_off(struct omap_dss_device *dssdev)
 
 static int generic_panel_probe(struct omap_dss_device *dssdev)
 {
-	dssdev->panel.config = OMAP_DSS_LCD_TFT;
+	if (dssdev->panel.config = 0)
+		dssdev->panel.config = OMAP_DSS_LCD_TFT;
 	dssdev->panel.timings = generic_panel_timings;
 
 	return 0;
-- 
1.7.0.4


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

* [RFC] [PATCH] Devkit8000: Use generic panel driver instead of new driver for every panel
@ 2010-04-16  8:12     ` Kan-Ru Chen
  0 siblings, 0 replies; 8+ messages in thread
From: Kan-Ru Chen @ 2010-04-16  8:12 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: Kan-Ru Chen, linux-omap, Vaibhav Hiremath, linux-fbdev, Thomas Weber

Instead of use special driver for every new panel, we can use the
generic driver and modedb database to specify the timing
information. Now supports 4.3, 5.6 and 7 inch panel.

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
---

 Hi!

 Some time ago there was a discussion about implementing a common
 driver for dummy LCDs. I tried the generic-panel and found it can
 cover most panels, by adding new entries to modedb.

 I've discussed with Thomas and he think this approach might be
 cleaner. I'd like to know others opinions.

 arch/arm/mach-omap2/board-devkit8000.c       |    3 ++-
 drivers/video/modedb.c                       |   12 ++++++++++++
 drivers/video/omap2/displays/panel-generic.c |    3 ++-
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 5bfc13b..4f52dfd 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -172,8 +172,9 @@ static struct regulator_consumer_supply devkit8000_vsim_supply = {
 
 static struct omap_dss_device devkit8000_lcd_device = {
 	.name                   = "lcd",
-	.driver_name            = "innolux_at_panel",
+	.driver_name            = "generic_panel",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
+	.panel.config           = OMAP_DSS_LCD_TFT|OMAP_DSS_LCD_IVS|OMAP_DSS_LCD_IHS,
 	.phy.dpi.data_lines     = 24,
 	.platform_enable        = devkit8000_panel_enable_lcd,
 	.platform_disable       = devkit8000_panel_disable_lcd,
diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
index b895aae..89bb3e5 100644
--- a/drivers/video/modedb.c
+++ b/drivers/video/modedb.c
@@ -273,6 +273,18 @@ static const struct fb_videomode modedb[] = {
        /* 800x520i @ 50 Hz, 15.625 kHz hsync (PAL RGB) */
        NULL, 50, 800, 520, 58823, 144, 64, 72, 28, 80, 5,
        0, FB_VMODE_INTERLACED
+    }, {
+       /* 480x272 @ 60 Hz, Devkit8000 4.3 inch LCD */
+       NULL, 60, 480, 272, 111000, 2, 2, 2, 2, 41, 10,
+       0, FB_VMODE_NONINTERLACED
+    }, {
+       /* 640x480 @ 60 Hz, Devkit8000 5.6 inch LCD */
+       NULL, 60, 640, 480, 39682, 16, 143, 32, 12, 1, 1,
+       0, FB_VMODE_NONINTERLACED
+    }, {
+       /* 800x480 @ 60 Hz, Devkit8000 7 inch LCD */
+       NULL, 60, 800, 480, 24855, 210, 45, 132, 22, 1, 1,
+       0, FB_VMODE_NONINTERLACED
     },
 };
 
diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
index 300eff5..b0a5599 100644
--- a/drivers/video/omap2/displays/panel-generic.c
+++ b/drivers/video/omap2/displays/panel-generic.c
@@ -66,7 +66,8 @@ static void generic_panel_power_off(struct omap_dss_device *dssdev)
 
 static int generic_panel_probe(struct omap_dss_device *dssdev)
 {
-	dssdev->panel.config = OMAP_DSS_LCD_TFT;
+	if (dssdev->panel.config == 0)
+		dssdev->panel.config = OMAP_DSS_LCD_TFT;
 	dssdev->panel.timings = generic_panel_timings;
 
 	return 0;
-- 
1.7.0.4


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

* RE: [RFC] [PATCH] Devkit8000: Use generic panel driver instead of new driver for every panel
  2010-04-16  8:12     ` Kan-Ru Chen
@ 2010-04-16  8:40       ` Hiremath, Vaibhav
  -1 siblings, 0 replies; 8+ messages in thread
From: Hiremath, Vaibhav @ 2010-04-16  8:28 UTC (permalink / raw)
  To: Kan-Ru Chen, Tomi Valkeinen; +Cc: linux-omap, linux-fbdev, Thomas Weber


> -----Original Message-----
> From: Kan-Ru Chen [mailto:kanru@0xlab.org]
> Sent: Friday, April 16, 2010 1:42 PM
> To: Tomi Valkeinen
> Cc: Kan-Ru Chen; linux-omap@vger.kernel.org; Hiremath, Vaibhav; linux-
> fbdev@vger.kernel.org; Thomas Weber
> Subject: [RFC] [PATCH] Devkit8000: Use generic panel driver instead of new
> driver for every panel
> 
> Instead of use special driver for every new panel, we can use the
> generic driver and modedb database to specify the timing
> information. Now supports 4.3, 5.6 and 7 inch panel.
[Hiremath, Vaibhav] Yes we are using modedb with generic panel, infact with our all internal releases we are supporting 480P and 720P DVI output using generic driver.

> 
> Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
> ---
> 
>  Hi!
> 
>  Some time ago there was a discussion about implementing a common
>  driver for dummy LCDs. I tried the generic-panel and found it can
>  cover most panels, by adding new entries to modedb.
> 
>  I've discussed with Thomas and he think this approach might be
>  cleaner. I'd like to know others opinions.
> 
>  arch/arm/mach-omap2/board-devkit8000.c       |    3 ++-
>  drivers/video/modedb.c                       |   12 ++++++++++++
>  drivers/video/omap2/displays/panel-generic.c |    3 ++-
>  3 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-
> omap2/board-devkit8000.c
> index 5bfc13b..4f52dfd 100644
> --- a/arch/arm/mach-omap2/board-devkit8000.c
> +++ b/arch/arm/mach-omap2/board-devkit8000.c
> @@ -172,8 +172,9 @@ static struct regulator_consumer_supply
> devkit8000_vsim_supply = {
> 
>  static struct omap_dss_device devkit8000_lcd_device = {
>  	.name                   = "lcd",
> -	.driver_name            = "innolux_at_panel",
> +	.driver_name            = "generic_panel",
>  	.type                   = OMAP_DISPLAY_TYPE_DPI,
> +	.panel.config           =
> OMAP_DSS_LCD_TFT|OMAP_DSS_LCD_IVS|OMAP_DSS_LCD_IHS,
>  	.phy.dpi.data_lines     = 24,
>  	.platform_enable        = devkit8000_panel_enable_lcd,
>  	.platform_disable       = devkit8000_panel_disable_lcd,
> diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
> index b895aae..89bb3e5 100644
> --- a/drivers/video/modedb.c
> +++ b/drivers/video/modedb.c
> @@ -273,6 +273,18 @@ static const struct fb_videomode modedb[] = {
>         /* 800x520i @ 50 Hz, 15.625 kHz hsync (PAL RGB) */
>         NULL, 50, 800, 520, 58823, 144, 64, 72, 28, 80, 5,
>         0, FB_VMODE_INTERLACED
> +    }, {
> +       /* 480x272 @ 60 Hz, Devkit8000 4.3 inch LCD */
> +       NULL, 60, 480, 272, 111000, 2, 2, 2, 2, 41, 10,
> +       0, FB_VMODE_NONINTERLACED
> +    }, {
> +       /* 640x480 @ 60 Hz, Devkit8000 5.6 inch LCD */
> +       NULL, 60, 640, 480, 39682, 16, 143, 32, 12, 1, 1,
> +       0, FB_VMODE_NONINTERLACED
> +    }, {
> +       /* 800x480 @ 60 Hz, Devkit8000 7 inch LCD */
> +       NULL, 60, 800, 480, 24855, 210, 45, 132, 22, 1, 1,
> +       0, FB_VMODE_NONINTERLACED
>      },
[Hiremath, Vaibhav] I would suggest not to specify board name here instead you can specify LCD name here.

Thanks,
Vaibhav

>  };
> 
> diff --git a/drivers/video/omap2/displays/panel-generic.c
> b/drivers/video/omap2/displays/panel-generic.c
> index 300eff5..b0a5599 100644
> --- a/drivers/video/omap2/displays/panel-generic.c
> +++ b/drivers/video/omap2/displays/panel-generic.c
> @@ -66,7 +66,8 @@ static void generic_panel_power_off(struct omap_dss_device
> *dssdev)
> 
>  static int generic_panel_probe(struct omap_dss_device *dssdev)
>  {
> -	dssdev->panel.config = OMAP_DSS_LCD_TFT;
> +	if (dssdev->panel.config == 0)
> +		dssdev->panel.config = OMAP_DSS_LCD_TFT;
>  	dssdev->panel.timings = generic_panel_timings;
> 
>  	return 0;
> --
> 1.7.0.4


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

* RE: [RFC] [PATCH] Devkit8000: Use generic panel driver instead of
@ 2010-04-16  8:40       ` Hiremath, Vaibhav
  0 siblings, 0 replies; 8+ messages in thread
From: Hiremath, Vaibhav @ 2010-04-16  8:40 UTC (permalink / raw)
  To: Kan-Ru Chen, Tomi Valkeinen; +Cc: linux-omap, linux-fbdev, Thomas Weber


> -----Original Message-----
> From: Kan-Ru Chen [mailto:kanru@0xlab.org]
> Sent: Friday, April 16, 2010 1:42 PM
> To: Tomi Valkeinen
> Cc: Kan-Ru Chen; linux-omap@vger.kernel.org; Hiremath, Vaibhav; linux-
> fbdev@vger.kernel.org; Thomas Weber
> Subject: [RFC] [PATCH] Devkit8000: Use generic panel driver instead of new
> driver for every panel
> 
> Instead of use special driver for every new panel, we can use the
> generic driver and modedb database to specify the timing
> information. Now supports 4.3, 5.6 and 7 inch panel.
[Hiremath, Vaibhav] Yes we are using modedb with generic panel, infact with our all internal releases we are supporting 480P and 720P DVI output using generic driver.

> 
> Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
> ---
> 
>  Hi!
> 
>  Some time ago there was a discussion about implementing a common
>  driver for dummy LCDs. I tried the generic-panel and found it can
>  cover most panels, by adding new entries to modedb.
> 
>  I've discussed with Thomas and he think this approach might be
>  cleaner. I'd like to know others opinions.
> 
>  arch/arm/mach-omap2/board-devkit8000.c       |    3 ++-
>  drivers/video/modedb.c                       |   12 ++++++++++++
>  drivers/video/omap2/displays/panel-generic.c |    3 ++-
>  3 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-
> omap2/board-devkit8000.c
> index 5bfc13b..4f52dfd 100644
> --- a/arch/arm/mach-omap2/board-devkit8000.c
> +++ b/arch/arm/mach-omap2/board-devkit8000.c
> @@ -172,8 +172,9 @@ static struct regulator_consumer_supply
> devkit8000_vsim_supply = {
> 
>  static struct omap_dss_device devkit8000_lcd_device = {
>  	.name                   = "lcd",
> -	.driver_name            = "innolux_at_panel",
> +	.driver_name            = "generic_panel",
>  	.type                   = OMAP_DISPLAY_TYPE_DPI,
> +	.panel.config           > OMAP_DSS_LCD_TFT|OMAP_DSS_LCD_IVS|OMAP_DSS_LCD_IHS,
>  	.phy.dpi.data_lines     = 24,
>  	.platform_enable        = devkit8000_panel_enable_lcd,
>  	.platform_disable       = devkit8000_panel_disable_lcd,
> diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
> index b895aae..89bb3e5 100644
> --- a/drivers/video/modedb.c
> +++ b/drivers/video/modedb.c
> @@ -273,6 +273,18 @@ static const struct fb_videomode modedb[] = {
>         /* 800x520i @ 50 Hz, 15.625 kHz hsync (PAL RGB) */
>         NULL, 50, 800, 520, 58823, 144, 64, 72, 28, 80, 5,
>         0, FB_VMODE_INTERLACED
> +    }, {
> +       /* 480x272 @ 60 Hz, Devkit8000 4.3 inch LCD */
> +       NULL, 60, 480, 272, 111000, 2, 2, 2, 2, 41, 10,
> +       0, FB_VMODE_NONINTERLACED
> +    }, {
> +       /* 640x480 @ 60 Hz, Devkit8000 5.6 inch LCD */
> +       NULL, 60, 640, 480, 39682, 16, 143, 32, 12, 1, 1,
> +       0, FB_VMODE_NONINTERLACED
> +    }, {
> +       /* 800x480 @ 60 Hz, Devkit8000 7 inch LCD */
> +       NULL, 60, 800, 480, 24855, 210, 45, 132, 22, 1, 1,
> +       0, FB_VMODE_NONINTERLACED
>      },
[Hiremath, Vaibhav] I would suggest not to specify board name here instead you can specify LCD name here.

Thanks,
Vaibhav

>  };
> 
> diff --git a/drivers/video/omap2/displays/panel-generic.c
> b/drivers/video/omap2/displays/panel-generic.c
> index 300eff5..b0a5599 100644
> --- a/drivers/video/omap2/displays/panel-generic.c
> +++ b/drivers/video/omap2/displays/panel-generic.c
> @@ -66,7 +66,8 @@ static void generic_panel_power_off(struct omap_dss_device
> *dssdev)
> 
>  static int generic_panel_probe(struct omap_dss_device *dssdev)
>  {
> -	dssdev->panel.config = OMAP_DSS_LCD_TFT;
> +	if (dssdev->panel.config = 0)
> +		dssdev->panel.config = OMAP_DSS_LCD_TFT;
>  	dssdev->panel.timings = generic_panel_timings;
> 
>  	return 0;
> --
> 1.7.0.4


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

end of thread, other threads:[~2010-04-16  8:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-07 18:33 [PATCHv2] OMAP2: DSS: Add Innolux 7" display for DEVKIT8000 swirl
2010-04-07 18:33 ` swirl
2010-04-15 11:03 ` Tomi Valkeinen
2010-04-15 11:03   ` Tomi Valkeinen
2010-04-16  8:12   ` [RFC] [PATCH] Devkit8000: Use generic panel driver instead of new driver for every panel Kan-Ru Chen
2010-04-16  8:12     ` Kan-Ru Chen
2010-04-16  8:28     ` Hiremath, Vaibhav
2010-04-16  8:40       ` [RFC] [PATCH] Devkit8000: Use generic panel driver instead of Hiremath, Vaibhav

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.