diff options
author | Eric Miao <ycmiao@ycmiao-ubuntu.internal.example.org> | 2008-08-15 02:50:44 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-08-16 11:39:16 -0400 |
commit | 9a1ac7e498b9fc367235aabeb5b86c1319db1de9 (patch) | |
tree | e8e1e80e3aa176e4c2ab0f07ed4f19fe2995ea26 | |
parent | cb47729bdaf49fe5e9dd2c41554f44a77b5cd590 (diff) |
[ARM] pxafb: add flag to specify output format on LDD pins when base is RGBT16
Another fix of inconsistent shift of the LCD_BIAS_ACTIVE_* and
LCD_PCLK_EDGE_* is also included.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mach-pxa/include/mach/pxafb.h | 10 | ||||
-rw-r--r-- | drivers/video/pxafb.c | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mach-pxa/include/mach/pxafb.h b/arch/arm/mach-pxa/include/mach/pxafb.h index 65447549616f..8e591118371e 100644 --- a/arch/arm/mach-pxa/include/mach/pxafb.h +++ b/arch/arm/mach-pxa/include/mach/pxafb.h | |||
@@ -28,6 +28,7 @@ | |||
28 | * bits 10-17 : for AC Bias Pin Frequency | 28 | * bits 10-17 : for AC Bias Pin Frequency |
29 | * bit 18 : for output enable polarity | 29 | * bit 18 : for output enable polarity |
30 | * bit 19 : for pixel clock edge | 30 | * bit 19 : for pixel clock edge |
31 | * bit 20 : for output pixel format when base is RGBT16 | ||
31 | */ | 32 | */ |
32 | #define LCD_CONN_TYPE(_x) ((_x) & 0x0f) | 33 | #define LCD_CONN_TYPE(_x) ((_x) & 0x0f) |
33 | #define LCD_CONN_WIDTH(_x) (((_x) >> 4) & 0x1f) | 34 | #define LCD_CONN_WIDTH(_x) (((_x) >> 4) & 0x1f) |
@@ -53,10 +54,11 @@ | |||
53 | #define LCD_SMART_PANEL_18BPP ((18 << 4) | LCD_TYPE_SMART_PANEL) | 54 | #define LCD_SMART_PANEL_18BPP ((18 << 4) | LCD_TYPE_SMART_PANEL) |
54 | 55 | ||
55 | #define LCD_AC_BIAS_FREQ(x) (((x) & 0xff) << 10) | 56 | #define LCD_AC_BIAS_FREQ(x) (((x) & 0xff) << 10) |
56 | #define LCD_BIAS_ACTIVE_HIGH (0 << 17) | 57 | #define LCD_BIAS_ACTIVE_HIGH (0 << 18) |
57 | #define LCD_BIAS_ACTIVE_LOW (1 << 17) | 58 | #define LCD_BIAS_ACTIVE_LOW (1 << 18) |
58 | #define LCD_PCLK_EDGE_RISE (0 << 18) | 59 | #define LCD_PCLK_EDGE_RISE (0 << 19) |
59 | #define LCD_PCLK_EDGE_FALL (1 << 18) | 60 | #define LCD_PCLK_EDGE_FALL (1 << 19) |
61 | #define LCD_ALTERNATE_MAPPING (1 << 20) | ||
60 | 62 | ||
61 | /* | 63 | /* |
62 | * This structure describes the machine which we are running on. | 64 | * This structure describes the machine which we are running on. |
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index bef35afa258d..fa108dad09bf 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -1402,6 +1402,8 @@ static void pxafb_decode_mach_info(struct pxafb_info *fbi, | |||
1402 | if (lcd_conn == LCD_MONO_STN_8BPP) | 1402 | if (lcd_conn == LCD_MONO_STN_8BPP) |
1403 | fbi->lccr0 |= LCCR0_DPD; | 1403 | fbi->lccr0 |= LCCR0_DPD; |
1404 | 1404 | ||
1405 | fbi->lccr0 |= (lcd_conn & LCD_ALTERNATE_MAPPING) ? LCCR0_LDDALT : 0; | ||
1406 | |||
1405 | fbi->lccr3 = LCCR3_Acb((inf->lcd_conn >> 10) & 0xff); | 1407 | fbi->lccr3 = LCCR3_Acb((inf->lcd_conn >> 10) & 0xff); |
1406 | fbi->lccr3 |= (lcd_conn & LCD_BIAS_ACTIVE_LOW) ? LCCR3_OEP : 0; | 1408 | fbi->lccr3 |= (lcd_conn & LCD_BIAS_ACTIVE_LOW) ? LCCR3_OEP : 0; |
1407 | fbi->lccr3 |= (lcd_conn & LCD_PCLK_EDGE_FALL) ? LCCR3_PCP : 0; | 1409 | fbi->lccr3 |= (lcd_conn & LCD_PCLK_EDGE_FALL) ? LCCR3_PCP : 0; |