aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/colibri-pxa3xx.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2009-03-23 02:04:19 +0100
committerEric Miao <eric.miao@marvell.com>2009-03-23 09:59:55 +0800
commit91fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2 (patch)
treedf6bae91c0dfac50540532ab4ffc495a3378c83b /arch/arm/mach-pxa/colibri-pxa3xx.c
parentbac07ecd6c9b16656aced6dc4f9f070120153046 (diff)
downloadkernel_goldelico_gta04-91fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2.zip
kernel_goldelico_gta04-91fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2.tar.gz
kernel_goldelico_gta04-91fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2.tar.bz2
[ARM] pxa: Add Colibri LCD functions
This adds LCD functions for Colibri PXA300 and Colibri PXA320 and configures a LQ043T3DX02 panel. Original-code-by: Matthias Meier <matthias.j.meier@gmx.net> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa3xx.c')
-rw-r--r--arch/arm/mach-pxa/colibri-pxa3xx.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/colibri-pxa3xx.c b/arch/arm/mach-pxa/colibri-pxa3xx.c
index cbaa842..12d0afc 100644
--- a/arch/arm/mach-pxa/colibri-pxa3xx.c
+++ b/arch/arm/mach-pxa/colibri-pxa3xx.c
@@ -23,6 +23,7 @@
#include <mach/mfp-pxa300.h>
#include <mach/colibri.h>
#include <mach/mmc.h>
+#include <mach/pxafb.h>
#include "generic.h"
#include "devices.h"
@@ -73,3 +74,48 @@ void __init colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin)
}
#endif /* CONFIG_MMC_PXA || CONFIG_MMC_PXA_MODULE */
+#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
+static int lcd_bl_pin;
+
+/*
+ * LCD panel (Sharp LQ043T3DX02)
+ */
+static void colibri_lcd_backlight(int on)
+{
+ gpio_set_value(lcd_bl_pin, !!on);
+}
+
+static struct pxafb_mode_info sharp_lq43_mode = {
+ .pixclock = 101936,
+ .xres = 480,
+ .yres = 272,
+ .bpp = 32,
+ .depth = 18,
+ .hsync_len = 41,
+ .left_margin = 2,
+ .right_margin = 2,
+ .vsync_len = 10,
+ .upper_margin = 2,
+ .lower_margin = 2,
+ .sync = 0,
+ .cmap_greyscale = 0,
+};
+
+static struct pxafb_mach_info sharp_lq43_info = {
+ .modes = &sharp_lq43_mode,
+ .num_modes = 1,
+ .cmap_inverse = 0,
+ .cmap_static = 0,
+ .lcd_conn = LCD_COLOR_TFT_18BPP,
+ .pxafb_backlight_power = colibri_lcd_backlight,
+};
+
+void __init colibri_pxa3xx_init_lcd(int bl_pin)
+{
+ lcd_bl_pin = bl_pin;
+ gpio_request(bl_pin, "lcd backlight");
+ gpio_direction_output(bl_pin, 0);
+ set_pxa_fb_info(&sharp_lq43_info);
+}
+#endif
+