diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2010-07-17 07:14:34 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-08-05 08:26:17 -0400 |
commit | 7a92d54521443450b14d89c413ec2072365da5bc (patch) | |
tree | 9fbebc9638b25639d2f0129a2df4dda38bdb0fc8 /arch/mips | |
parent | 3bf0eea8942fdcb948dea7e45c38bf7563407c49 (diff) |
FBDEV: JZ4740: Add framebuffer driver
Add support for the LCD controller on JZ4740 SoCs.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1470/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/mach-jz4740/jz4740_fb.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/arch/mips/include/asm/mach-jz4740/jz4740_fb.h b/arch/mips/include/asm/mach-jz4740/jz4740_fb.h new file mode 100644 index 000000000000..6a50e6f7a21a --- /dev/null +++ b/arch/mips/include/asm/mach-jz4740/jz4740_fb.h | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms of the GNU General Public License as published by the | ||
6 | * Free Software Foundation; either version 2 of the License, or (at your | ||
7 | * option) any later version. | ||
8 | * | ||
9 | * You should have received a copy of the GNU General Public License along | ||
10 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
11 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
12 | * | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_MACH_JZ4740_JZ4740_FB_H__ | ||
16 | #define __ASM_MACH_JZ4740_JZ4740_FB_H__ | ||
17 | |||
18 | #include <linux/fb.h> | ||
19 | |||
20 | enum jz4740_fb_lcd_type { | ||
21 | JZ_LCD_TYPE_GENERIC_16_BIT = 0, | ||
22 | JZ_LCD_TYPE_GENERIC_18_BIT = 0 | (1 << 4), | ||
23 | JZ_LCD_TYPE_SPECIAL_TFT_1 = 1, | ||
24 | JZ_LCD_TYPE_SPECIAL_TFT_2 = 2, | ||
25 | JZ_LCD_TYPE_SPECIAL_TFT_3 = 3, | ||
26 | JZ_LCD_TYPE_NON_INTERLACED_CCIR656 = 5, | ||
27 | JZ_LCD_TYPE_INTERLACED_CCIR656 = 7, | ||
28 | JZ_LCD_TYPE_SINGLE_COLOR_STN = 8, | ||
29 | JZ_LCD_TYPE_SINGLE_MONOCHROME_STN = 9, | ||
30 | JZ_LCD_TYPE_DUAL_COLOR_STN = 10, | ||
31 | JZ_LCD_TYPE_DUAL_MONOCHROME_STN = 11, | ||
32 | JZ_LCD_TYPE_8BIT_SERIAL = 12, | ||
33 | }; | ||
34 | |||
35 | #define JZ4740_FB_SPECIAL_TFT_CONFIG(start, stop) (((start) << 16) | (stop)) | ||
36 | |||
37 | /* | ||
38 | * width: width of the lcd display in mm | ||
39 | * height: height of the lcd display in mm | ||
40 | * num_modes: size of modes | ||
41 | * modes: list of valid video modes | ||
42 | * bpp: bits per pixel for the lcd | ||
43 | * lcd_type: lcd type | ||
44 | */ | ||
45 | |||
46 | struct jz4740_fb_platform_data { | ||
47 | unsigned int width; | ||
48 | unsigned int height; | ||
49 | |||
50 | size_t num_modes; | ||
51 | struct fb_videomode *modes; | ||
52 | |||
53 | unsigned int bpp; | ||
54 | enum jz4740_fb_lcd_type lcd_type; | ||
55 | |||
56 | struct { | ||
57 | uint32_t spl; | ||
58 | uint32_t cls; | ||
59 | uint32_t ps; | ||
60 | uint32_t rev; | ||
61 | } special_tft_config; | ||
62 | |||
63 | unsigned pixclk_falling_edge:1; | ||
64 | unsigned date_enable_active_low:1; | ||
65 | }; | ||
66 | |||
67 | #endif | ||