Re: [PATCH 3/4] Add support for DEVKIT8000 LCD

2009-11-13 Thread Tomi Valkeinen
On Thu, 2009-11-12 at 17:14 +0100, ext Daniel Toussaint wrote:
> 
> 
> On Thu, Nov 12, 2009 at 7:46 PM, Tomi Valkeinen
>  wrote:
> On Thu, 2009-11-12 at 11:23 +0100, ext Kim Botherway wrote:
> > This patch add support for the Timll DEVKIT8000 LCD panel
> 
> 
> I don't handle old omapfb patches. I think you should contact
> Imre Deak
> for those, although my advise would be to use the new display
> subsystem
> driver.
> 
> Question more or less related to this thread : when submitting new
> boards, it is better to work with DSS2 directly right ? I am also
> preparing a new board patch at this point, so I would like to know
> what is the sanest way to work ? Patch the linux-omap-2.6 tree with
> DSS2 patches , and then diff from there ? Or is is wiser to first
> submit without display related items, and wait for linux-omap-2.6 tree
> to have DSS2 support - which is going to happen soon I guess.  

Keep in mind that DSS2 is still a bit living target, you may need to do
changes to your board file or panel driver every now and then. If that
is ok for you, then I'd say DSS2 is better choice.

I'd say if you can wait, submit the patches only after DSS2 has gone in.
And I think at least the panel drivers should go through me, and I won't
take any patches until the core DSS2 driver has been merged.

 Tomi


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


Re: [PATCH 3/4] Add support for DEVKIT8000 LCD

2009-11-12 Thread Daniel Toussaint



On Thu, Nov 12, 2009 at 7:46 PM, Tomi Valkeinen 
mailto:tomi.valkei...@nokia.com>> wrote:


   On Thu, 2009-11-12 at 11:23 +0100, ext Kim Botherway wrote:
> This patch add support for the Timll DEVKIT8000 LCD panel

   I don't handle old omapfb patches. I think you should contact Imre Deak
   for those, although my advise would be to use the new display subsystem
   driver.


Question more or less related to this thread : when submitting new 
boards, it is better to work with DSS2 directly right ? I am also 
preparing a new board patch at this point, so I would like to know what 
is the sanest way to work ? Patch the linux-omap-2.6 tree with DSS2 
patches , and then diff from there ? Or is is wiser to first submit 
without display related items, and wait for linux-omap-2.6 tree to have 
DSS2 support - which is going to happen soon I guess. 


Thanks




Tomi


   --
   To unsubscribe from this list: send the line "unsubscribe linux-omap" in
   the body of a message to majord...@vger.kernel.org
   
   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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/4] Add support for DEVKIT8000 LCD

2009-11-12 Thread Tomi Valkeinen
On Thu, 2009-11-12 at 11:23 +0100, ext Kim Botherway wrote:
> This patch add support for the Timll DEVKIT8000 LCD panel

I don't handle old omapfb patches. I think you should contact Imre Deak
for those, although my advise would be to use the new display subsystem
driver.

 Tomi


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


Re: [PATCH 3/4] Add support for DEVKIT8000 LCD

2009-11-12 Thread Vimal Singh
'Signed-off-by' missing.

On Thu, Nov 12, 2009 at 3:53 PM, Kim Botherway  wrote:
> This patch add support for the Timll DEVKIT8000 LCD panel
>
>
> diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
> index b63b198..b906d25 100644
> --- a/drivers/video/omap/Makefile
> +++ b/drivers/video/omap/Makefile
> @@ -33,6 +33,7 @@ objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o
>  objs-y$(CONFIG_MACH_OMAP2EVM) += lcd_omap2evm.o
>  objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o
>  objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o
> +objs-y$(CONFIG_MACH_OMAP3_DEVKIT8000) += lcd_omap3devkit8000.o
>  objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
>  objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o
>
> diff --git a/drivers/video/omap/lcd_omap3devkit8000.c
> b/drivers/video/omap/lcd_omap3devkit8000.c
> new file mode 100644
> index 000..242cece
> --- /dev/null
> +++ b/drivers/video/omap/lcd_omap3devkit8000.c
> @@ -0,0 +1,132 @@
> +/*
> + * LCD panel support for the TI OMAP3 Beagle board
> + *
> + * Author: Koen Kooi 
> + *
> + * Derived from drivers/video/omap/lcd-omap3evm.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       170
> +
> +static int omap3devkit8000_panel_init(struct lcd_panel *panel,
> +                               struct omapfb_device *fbdev)
> +{
> +       gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable");
> +       return 0;
> +}
> +
> +static void omap3devkit8000_panel_cleanup(struct lcd_panel *panel)
> +{
> +       gpio_free(LCD_PANEL_ENABLE_GPIO);
> +}
> +
> +static int omap3devkit8000_panel_enable(struct lcd_panel *panel)
> +{
> +       gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
> +       return 0;
> +}
> +
> +static void omap3devkit8000_panel_disable(struct lcd_panel *panel)
> +{
> +       gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
> +}
> +
> +static unsigned long omap3devkit8000_panel_get_caps(struct lcd_panel
> *panel)
> +{
> +       return 0;
> +}
> +
> +struct lcd_panel omap3devkit8000_panel = {
> +       .name           = "omap3devkit8000",
> +       .config         = OMAP_LCDC_PANEL_TFT,
> +       .bpp            = 16,
> +       .data_lines     = 24,
> +
> +       .name           = "7inch_LCD",
> +       .x_res          = 800,
> +       .y_res          = 480,
> +       .hsw            = 48,   /* hsync_len (4) - 1 */
> +       .hfp            = 1,      /* right_margin (4) - 1 */
> +       .hbp            = 1,      /* left_margin (40) - 1 */
> +       .vsw            = 3,       /* vsync_len (2) - 1 */
> +       .vfp            = 12,     /* lower_margin */
> +       .vbp            = 25,     /* upper_margin (8) - 1 */
> +       .pixel_clock    = 36000,
> +
> +       .init           = omap3devkit8000_panel_init,
> +       .cleanup        = omap3devkit8000_panel_cleanup,
> +       .enable         = omap3devkit8000_panel_enable,
> +       .disable        = omap3devkit8000_panel_disable,
> +       .get_caps       = omap3devkit8000_panel_get_caps,
> +
> +};
> +
> +
> +static int omap3devkit8000_panel_probe(struct platform_device *pdev)
> +{
> +       omapfb_register_panel(&omap3devkit8000_panel);
> +       return 0;
> +}
> +
> +static int omap3devkit8000_panel_remove(struct platform_device *pdev)
> +{
> +       return 0;
> +}
> +
> +static int omap3devkit8000_panel_suspend(struct platform_device *pdev,
> +                                  pm_message_t mesg)
> +{
> +       return 0;
> +}
> +
> +static int omap3devkit8000_panel_resume(struct platform_device *pdev)
> +{
> +       return 0;
> +}
> +
> +struct platform_driver omap3devkit8000_panel_driver = {
> +       .probe          = omap3devkit8000_panel_probe,
> +       .remove         = omap3devkit8000_panel_remove,
> +       .suspend        = omap3devkit8000_panel_suspend,
> +       .resume         = omap3devkit8000_panel_resume,
> +       .driver         = {
> +               .name   = "omap3devkit8000_lcd",
> +               .owner  = THIS_MODULE,
> +       },
> +};
> +
> +static int __init omap3devkit8000_panel_drv_init(void)
> +{
> +       return platform_driver_register(&omap3devkit8000_panel_driver);
> +}
> +
> +static void __exit omap3devkit8000_panel_drv_exit(void)
> +{
> +       plat

[PATCH 3/4] Add support for DEVKIT8000 LCD

2009-11-12 Thread Kim Botherway
This patch add support for the Timll DEVKIT8000 LCD panel


diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
index b63b198..b906d25 100644
--- a/drivers/video/omap/Makefile
+++ b/drivers/video/omap/Makefile
@@ -33,6 +33,7 @@ objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o
 objs-y$(CONFIG_MACH_OMAP2EVM) += lcd_omap2evm.o
 objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o
 objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o
+objs-y$(CONFIG_MACH_OMAP3_DEVKIT8000) += lcd_omap3devkit8000.o
 objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
 objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o
 
diff --git a/drivers/video/omap/lcd_omap3devkit8000.c
b/drivers/video/omap/lcd_omap3devkit8000.c
new file mode 100644
index 000..242cece
--- /dev/null
+++ b/drivers/video/omap/lcd_omap3devkit8000.c
@@ -0,0 +1,132 @@
+/*
+ * LCD panel support for the TI OMAP3 Beagle board
+ *
+ * Author: Koen Kooi 
+ *
+ * Derived from drivers/video/omap/lcd-omap3evm.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   170
+
+static int omap3devkit8000_panel_init(struct lcd_panel *panel,
+   struct omapfb_device *fbdev)
+{
+   gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable");
+   return 0;
+}
+
+static void omap3devkit8000_panel_cleanup(struct lcd_panel *panel)
+{
+   gpio_free(LCD_PANEL_ENABLE_GPIO);
+}
+
+static int omap3devkit8000_panel_enable(struct lcd_panel *panel)
+{
+   gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
+   return 0;
+}
+
+static void omap3devkit8000_panel_disable(struct lcd_panel *panel)
+{
+   gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
+}
+
+static unsigned long omap3devkit8000_panel_get_caps(struct lcd_panel
*panel)
+{
+   return 0;
+}
+
+struct lcd_panel omap3devkit8000_panel = {
+   .name   = "omap3devkit8000",
+   .config = OMAP_LCDC_PANEL_TFT,
+   .bpp= 16,
+   .data_lines = 24,
+
+   .name   = "7inch_LCD",
+   .x_res  = 800,
+   .y_res  = 480,
+   .hsw= 48,   /* hsync_len (4) - 1 */
+   .hfp= 1,  /* right_margin (4) - 1 */
+   .hbp= 1,  /* left_margin (40) - 1 */
+   .vsw= 3,   /* vsync_len (2) - 1 */
+   .vfp= 12, /* lower_margin */
+   .vbp= 25, /* upper_margin (8) - 1 */
+   .pixel_clock= 36000,
+
+   .init   = omap3devkit8000_panel_init,
+   .cleanup= omap3devkit8000_panel_cleanup,
+   .enable = omap3devkit8000_panel_enable,
+   .disable= omap3devkit8000_panel_disable,
+   .get_caps   = omap3devkit8000_panel_get_caps,
+
+};
+
+
+static int omap3devkit8000_panel_probe(struct platform_device *pdev)
+{
+   omapfb_register_panel(&omap3devkit8000_panel);
+   return 0;
+}
+
+static int omap3devkit8000_panel_remove(struct platform_device *pdev)
+{
+   return 0;
+}
+
+static int omap3devkit8000_panel_suspend(struct platform_device *pdev,
+  pm_message_t mesg)
+{
+   return 0;
+}
+
+static int omap3devkit8000_panel_resume(struct platform_device *pdev)
+{
+   return 0;
+}
+
+struct platform_driver omap3devkit8000_panel_driver = {
+   .probe  = omap3devkit8000_panel_probe,
+   .remove = omap3devkit8000_panel_remove,
+   .suspend= omap3devkit8000_panel_suspend,
+   .resume = omap3devkit8000_panel_resume,
+   .driver = {
+   .name   = "omap3devkit8000_lcd",
+   .owner  = THIS_MODULE,
+   },
+};
+
+static int __init omap3devkit8000_panel_drv_init(void)
+{
+   return platform_driver_register(&omap3devkit8000_panel_driver);
+}
+
+static void __exit omap3devkit8000_panel_drv_exit(void)
+{
+   platform_driver_unregister(&omap3devkit8000_panel_driver);
+}
+
+module_init(omap3devkit8000_panel_drv_init);
+module_exit(omap3devkit8000_panel_drv_exit);
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html