Re: [PATCH 6/7] OMAP3 EVM: add lcd support (resubmit to respond to feedback)

2008-05-09 Thread Steve Sakoman
>  I strongly suspect the above comments needs to be "/* in kHz */ ...

That is correct - a cut and paste from the old style driver that I did not fix.

I will submit a cleanup patch later today.

Thanks!

Steve

On Fri, May 9, 2008 at 9:35 AM, Koen Kooi <[EMAIL PROTECTED]> wrote:
> -BEGIN PGP SIGNED MESSAGE-
>  Hash: SHA1
>
>
>  Op 30 apr 2008, om 16:14 heeft Steve Sakoman het volgende geschreven:
>
> >
> > From: Steve Sakoman <[EMAIL PROTECTED]>
> >
> > Add LCD support for OMAP3 EVM
> >
> > Signed-off-by: Steve Sakoman <[EMAIL PROTECTED]>
> > ---
> >
> >
> > +#define LCD_PIXCLOCK_MAX   41700 /* in pico seconds  */
> > +#define LCD_PIXCLOCK_MIN   38000 /* in pico seconds */
> >
>
>  I strongly suspect the above comments needs to be "/* in kHz */ ...
>
>
>
> >
> > +struct lcd_panel omap3evm_panel = {
> > +   .name   = "omap3evm",
> > +   .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
> > + OMAP_LCDC_INV_HSYNC,
> > +
> > +   .bpp= 16,
> > +   .data_lines = 18,
> > +   .x_res  = LCD_XRES,
> > +   .y_res  = LCD_YRES,
> > +   .hsw= 3,/* hsync_len (4) - 1 */
> > +   .hfp= 3,/* right_margin (4) - 1 */
> > +   .hbp= 39,   /* left_margin (40) - 1 */
> > +   .vsw= 1,/* vsync_len (2) - 1 */
> > +   .vfp= 2,/* lower_margin */
> > +   .vbp= 7,/* upper_margin (8) - 1 */
> > +
> > +   .pixel_clock= LCD_PIXCLOCK_MAX,
> >
>
>  ... since pixel_clock seems to be in kHz. Could someone confirm this?
>
>  regards,
>
>  Koen
>  -BEGIN PGP SIGNATURE-
>  Version: GnuPG v1.4.5 (Darwin)
>
>  iD8DBQFIJH1KMkyGM64RGpERAifEAJwLITHNkhjJ/zhKKiTFdVEq+6AuMgCfVoXd
>  oFX58FQibqqSyaIk4sTVCNE=
>  =yJ/0
>  -END PGP SIGNATURE-
>  --
>  To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>  the body of a message to [EMAIL PROTECTED]
>  More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 6/7] OMAP3 EVM: add lcd support (resubmit to respond to feedback)

2008-05-09 Thread Koen Kooi

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


Op 30 apr 2008, om 16:14 heeft Steve Sakoman het volgende geschreven:

From: Steve Sakoman <[EMAIL PROTECTED]>

Add LCD support for OMAP3 EVM

Signed-off-by: Steve Sakoman <[EMAIL PROTECTED]>
---

+#define LCD_PIXCLOCK_MAX   41700 /* in pico seconds  */
+#define LCD_PIXCLOCK_MIN   38000 /* in pico seconds */


I strongly suspect the above comments needs to be "/* in kHz */ ...



+struct lcd_panel omap3evm_panel = {
+   .name   = "omap3evm",
+   .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
+ OMAP_LCDC_INV_HSYNC,
+
+   .bpp= 16,
+   .data_lines = 18,
+   .x_res  = LCD_XRES,
+   .y_res  = LCD_YRES,
+   .hsw= 3,/* hsync_len (4) - 1 */
+   .hfp= 3,/* right_margin (4) - 1 */
+   .hbp= 39,   /* left_margin (40) - 1 */
+   .vsw= 1,/* vsync_len (2) - 1 */
+   .vfp= 2,/* lower_margin */
+   .vbp= 7,/* upper_margin (8) - 1 */
+
+   .pixel_clock= LCD_PIXCLOCK_MAX,


... since pixel_clock seems to be in kHz. Could someone confirm this?

regards,

Koen
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFIJH1KMkyGM64RGpERAifEAJwLITHNkhjJ/zhKKiTFdVEq+6AuMgCfVoXd
oFX58FQibqqSyaIk4sTVCNE=
=yJ/0
-END PGP SIGNATURE-
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 6/7] OMAP3 EVM: add lcd support (resubmit to respond to feedback)

2008-04-30 Thread Steve Sakoman
From: Steve Sakoman <[EMAIL PROTECTED]>

Add LCD support for OMAP3 EVM

Signed-off-by: Steve Sakoman <[EMAIL PROTECTED]>
---
 arch/arm/mach-omap2/board-omap3evm.c |   15 +++
 drivers/video/omap/Makefile  |1
 drivers/video/omap/lcd_omap3evm.c|  167 +++
 3 files changed, 183 insertions(+)
diff -uprN -X a/Documentation/dontdiff
a/arch/arm/mach-omap2/board-omap3evm.c
b/arch/arm/mach-omap2/board-omap3evm.c
--- a/arch/arm/mach-omap2/board-omap3evm.c  2008-04-28 11:11:51.0 
-0700
+++ b/arch/arm/mach-omap2/board-omap3evm.c  2008-04-28 11:31:01.0 
-0700
@@ -51,6 +51,15 @@ static struct omap_mmc_config omap3_evm_
},
 };

+static struct platform_device omap3_evm_lcd_device = {
+   .name   = "omap3evm_lcd",
+   .id = -1,
+};
+
+static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+   .ctrl_name  = "internal",
+};
+
 static void __init omap3_evm_init_irq(void)
 {
omap2_init_common_hw();
@@ -61,10 +70,16 @@ static void __init omap3_evm_init_irq(vo
 static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
{ OMAP_TAG_UART,&omap3_evm_uart_config },
{ OMAP_TAG_MMC, &omap3_evm_mmc_config },
+   { OMAP_TAG_LCD, &omap3_evm_lcd_config },
+};
+
+static struct platform_device *omap3_evm_devices[] __initdata = {
+   &omap3_evm_lcd_device,
 };

 static void __init omap3_evm_init(void)
 {
+   platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
omap_board_config = omap3_evm_config;
omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
omap_serial_init();
diff -uprN -X a/Documentation/dontdiff
a/drivers/video/omap/lcd_omap3evm.c
b/drivers/video/omap/lcd_omap3evm.c
--- a/drivers/video/omap/lcd_omap3evm.c 1969-12-31 16:00:00.0 -0800
+++ b/drivers/video/omap/lcd_omap3evm.c 2008-04-28 11:31:01.0 -0700
@@ -0,0 +1,167 @@
+/*
+ * LCD panel support for the TI OMAP3 EVM board
+ *
+ * Author: Steve Sakoman <[EMAIL PROTECTED]>
+ *
+ * Derived from drivers/video/omap/lcd-apollon.c
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * 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, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+#define LCD_PANEL_ENABLE_GPIO   153
+#define LCD_PANEL_LR2
+#define LCD_PANEL_UD3
+#define LCD_PANEL_INI   152
+#define LCD_PANEL_QVGA  154
+#define LCD_PANEL_RESB  155
+
+#define LCD_XRES   480
+#define LCD_YRES   640
+#define LCD_PIXCLOCK_MAX   41700 /* in pico seconds  */
+#define LCD_PIXCLOCK_MIN   38000 /* in pico seconds */
+
+#define ENABLE_VDAC_DEDICATED  0x03
+#define ENABLE_VDAC_DEV_GRP0x20
+#define ENABLE_VPLL2_DEDICATED 0x05
+#define ENABLE_VPLL2_DEV_GRP   0xE0
+
+static int omap3evm_panel_init(struct lcd_panel *panel,
+   struct omapfb_device *fbdev)
+{
+   omap_request_gpio(LCD_PANEL_LR);
+   omap_request_gpio(LCD_PANEL_UD);
+   omap_request_gpio(LCD_PANEL_INI);
+   omap_request_gpio(LCD_PANEL_RESB);
+   omap_request_gpio(LCD_PANEL_QVGA);
+
+   omap_set_gpio_direction(LCD_PANEL_LR, 0);
+   omap_set_gpio_direction(LCD_PANEL_UD, 0);
+   omap_set_gpio_direction(LCD_PANEL_INI, 0);
+   omap_set_gpio_direction(LCD_PANEL_RESB, 0);
+   omap_set_gpio_direction(LCD_PANEL_QVGA, 0);
+
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x7F, 0);
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x7F, 1);
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMB, 0x7F, 0);
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMB, 0x7F, 1);
+
+   omap_set_gpio_dataout(LCD_PANEL_RESB, 1);
+   omap_set_gpio_dataout(LCD_PANEL_INI, 1);
+   omap_set_gpio_dataout(LCD_PANEL_QVGA, 0);
+   omap_set_gpio_dataout(LCD_PANEL_LR, 1);
+   omap_set_gpio_dataout(LCD_PANEL_UD, 1);
+
+   return 0;
+}
+
+static void omap3evm_panel_cleanup(struct lcd_panel *panel)
+{
+}
+
+static int omap3evm_panel_enable(struct lcd_panel *panel)
+{
+   omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 0);
+   return 0;
+}
+
+static void omap3evm_panel_disable(struct lcd_panel *panel)
+{
+   omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 1);
+}
+
+static unsi

Re: [PATCH 6/7] OMAP3 EVM: add lcd support (resubmit to respond to feedback)

2008-04-30 Thread Felipe Balbi


On Tue, 29 Apr 2008 23:53:42 -0700, "Steve Sakoman" <[EMAIL PROTECTED]>
wrote:

[snip]

> +static int omap3evm_panel_suspend(struct platform_device *pdev,
> pm_message_t mesg)

line wrapped here.

-- 
Best Regards,

Felipe Balbi
http://felipebalbi.com
[EMAIL PROTECTED]

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 6/7] OMAP3 EVM: add lcd support (resubmit to respond to feedback)

2008-04-29 Thread Steve Sakoman
From: Steve Sakoman <[EMAIL PROTECTED]>

Add LCD support for OMAP3 EVM

Signed-off-by: Steve Sakoman <[EMAIL PROTECTED]>
---
 arch/arm/mach-omap2/board-omap3evm.c |   15 +++
 drivers/video/omap/Makefile  |1
 drivers/video/omap/lcd_omap3evm.c|  166 +++
 3 files changed, 182 insertions(+)
diff -uprN -X a/Documentation/dontdiff
a/arch/arm/mach-omap2/board-omap3evm.c
b/arch/arm/mach-omap2/board-omap3evm.c
--- a/arch/arm/mach-omap2/board-omap3evm.c  2008-04-28 11:11:51.0 
-0700
+++ b/arch/arm/mach-omap2/board-omap3evm.c  2008-04-28 11:31:01.0 
-0700
@@ -51,6 +51,15 @@ static struct omap_mmc_config omap3_evm_
},
 };

+static struct platform_device omap3_evm_lcd_device = {
+   .name   = "omap3evm_lcd",
+   .id = -1,
+};
+
+static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+   .ctrl_name  = "internal",
+};
+
 static void __init omap3_evm_init_irq(void)
 {
omap2_init_common_hw();
@@ -61,10 +70,16 @@ static void __init omap3_evm_init_irq(vo
 static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
{ OMAP_TAG_UART,&omap3_evm_uart_config },
{ OMAP_TAG_MMC, &omap3_evm_mmc_config },
+   { OMAP_TAG_LCD, &omap3_evm_lcd_config },
+};
+
+static struct platform_device *omap3_evm_devices[] __initdata = {
+   &omap3_evm_lcd_device,
 };

 static void __init omap3_evm_init(void)
 {
+   platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
omap_board_config = omap3_evm_config;
omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
omap_serial_init();
diff -uprN -X a/Documentation/dontdiff
a/drivers/video/omap/lcd_omap3evm.c
b/drivers/video/omap/lcd_omap3evm.c
--- a/drivers/video/omap/lcd_omap3evm.c 1969-12-31 16:00:00.0 -0800
+++ b/drivers/video/omap/lcd_omap3evm.c 2008-04-28 11:31:01.0 -0700
@@ -0,0 +1,166 @@
+/*
+ * LCD panel support for the TI OMAP3 EVM board
+ *
+ * Author: Steve Sakoman <[EMAIL PROTECTED]>
+ *
+ * Derived from drivers/video/omap/lcd-apollon.c
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * 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, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+#define LCD_PANEL_ENABLE_GPIO   153
+#define LCD_PANEL_LR2
+#define LCD_PANEL_UD3
+#define LCD_PANEL_INI   152
+#define LCD_PANEL_QVGA  154
+#define LCD_PANEL_RESB  155
+
+#define LCD_XRES   480
+#define LCD_YRES   640
+#define LCD_PIXCLOCK_MAX   41700 /* in pico seconds  */
+#define LCD_PIXCLOCK_MIN   38000 /* in pico seconds */
+
+#define ENABLE_VDAC_DEDICATED  0x03
+#define ENABLE_VDAC_DEV_GRP0x20
+#define ENABLE_VPLL2_DEDICATED 0x05
+#define ENABLE_VPLL2_DEV_GRP   0xE0
+
+static int omap3evm_panel_init(struct lcd_panel *panel,
+   struct omapfb_device *fbdev)
+{
+   omap_request_gpio(LCD_PANEL_LR);
+   omap_request_gpio(LCD_PANEL_UD);
+   omap_request_gpio(LCD_PANEL_INI);
+   omap_request_gpio(LCD_PANEL_RESB);
+   omap_request_gpio(LCD_PANEL_QVGA);
+
+   omap_set_gpio_direction(LCD_PANEL_LR, 0);
+   omap_set_gpio_direction(LCD_PANEL_UD, 0);
+   omap_set_gpio_direction(LCD_PANEL_INI, 0);
+   omap_set_gpio_direction(LCD_PANEL_RESB, 0);
+   omap_set_gpio_direction(LCD_PANEL_QVGA, 0);
+
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x7F, 0);
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x7F, 1);
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMB, 0x7F, 0);
+   twl4030_i2c_write_u8(TWL4030_MODULE_PWMB, 0x7F, 1);
+
+   omap_set_gpio_dataout(LCD_PANEL_RESB, 1);
+   omap_set_gpio_dataout(LCD_PANEL_INI, 1);
+   omap_set_gpio_dataout(LCD_PANEL_QVGA, 0);
+   omap_set_gpio_dataout(LCD_PANEL_LR, 1);
+   omap_set_gpio_dataout(LCD_PANEL_UD, 1);
+
+   return 0;
+}
+
+static void omap3evm_panel_cleanup(struct lcd_panel *panel)
+{
+}
+
+static int omap3evm_panel_enable(struct lcd_panel *panel)
+{
+   omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 0);
+   return 0;
+}
+
+static void omap3evm_panel_disable(struct lcd_panel *panel)
+{
+   omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 1);
+}
+
+static unsi