aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-pxa/pxafb.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm/arch-pxa/pxafb.h')
-rw-r--r--include/asm-arm/arch-pxa/pxafb.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/asm-arm/arch-pxa/pxafb.h b/include/asm-arm/arch-pxa/pxafb.h
index 5cf51a5137b7..41a6c2297f9f 100644
--- a/include/asm-arm/arch-pxa/pxafb.h
+++ b/include/asm-arm/arch-pxa/pxafb.h
@@ -16,6 +16,48 @@
16#include <asm/arch/regs-lcd.h> 16#include <asm/arch/regs-lcd.h>
17 17
18/* 18/*
19 * Supported LCD connections
20 *
21 * bits 0 - 3: for LCD panel type:
22 *
23 * STN - for passive matrix
24 * DSTN - for dual scan passive matrix
25 * TFT - for active matrix
26 *
27 * bits 4 - 9 : for bus width
28 * bits 10-17 : for AC Bias Pin Frequency
29 * bit 18 : for output enable polarity
30 * bit 19 : for pixel clock edge
31 */
32#define LCD_CONN_TYPE(_x) ((_x) & 0x0f)
33#define LCD_CONN_WIDTH(_x) (((_x) >> 4) & 0x1f)
34
35#define LCD_TYPE_UNKNOWN 0
36#define LCD_TYPE_MONO_STN 1
37#define LCD_TYPE_MONO_DSTN 2
38#define LCD_TYPE_COLOR_STN 3
39#define LCD_TYPE_COLOR_DSTN 4
40#define LCD_TYPE_COLOR_TFT 5
41#define LCD_TYPE_SMART_PANEL 6
42#define LCD_TYPE_MAX 7
43
44#define LCD_MONO_STN_4BPP ((4 << 4) | LCD_TYPE_MONO_STN)
45#define LCD_MONO_STN_8BPP ((8 << 4) | LCD_TYPE_MONO_STN)
46#define LCD_MONO_DSTN_8BPP ((8 << 4) | LCD_TYPE_MONO_DSTN)
47#define LCD_COLOR_STN_8BPP ((8 << 4) | LCD_TYPE_COLOR_STN)
48#define LCD_COLOR_DSTN_16BPP ((16 << 4) | LCD_TYPE_COLOR_DSTN)
49#define LCD_COLOR_TFT_16BPP ((16 << 4) | LCD_TYPE_COLOR_TFT)
50#define LCD_COLOR_TFT_18BPP ((18 << 4) | LCD_TYPE_COLOR_TFT)
51#define LCD_SMART_PANEL_16BPP ((16 << 4) | LCD_TYPE_SMART_PANEL)
52#define LCD_SMART_PANEL_18BPP ((18 << 4) | LCD_TYPE_SMART_PANEL)
53
54#define LCD_AC_BIAS_FREQ(x) (((x) & 0xff) << 10)
55#define LCD_BIAS_ACTIVE_HIGH (0 << 17)
56#define LCD_BIAS_ACTIVE_LOW (1 << 17)
57#define LCD_PCLK_EDGE_RISE (0 << 18)
58#define LCD_PCLK_EDGE_FALL (1 << 18)
59
60/*
19 * This structure describes the machine which we are running on. 61 * This structure describes the machine which we are running on.
20 * It is set in linux/arch/arm/mach-pxa/machine_name.c and used in the probe routine 62 * It is set in linux/arch/arm/mach-pxa/machine_name.c and used in the probe routine
21 * of linux/drivers/video/pxafb.c 63 * of linux/drivers/video/pxafb.c
@@ -44,6 +86,8 @@ struct pxafb_mach_info {
44 struct pxafb_mode_info *modes; 86 struct pxafb_mode_info *modes;
45 unsigned int num_modes; 87 unsigned int num_modes;
46 88
89 unsigned int lcd_conn;
90
47 u_int fixed_modes:1, 91 u_int fixed_modes:1,
48 cmap_inverse:1, 92 cmap_inverse:1,
49 cmap_static:1, 93 cmap_static:1,