diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /include/video/s1d13xxxfb.h |
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'include/video/s1d13xxxfb.h')
-rw-r--r-- | include/video/s1d13xxxfb.h | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/include/video/s1d13xxxfb.h b/include/video/s1d13xxxfb.h new file mode 100644 index 00000000000..f06cc88607f --- /dev/null +++ b/include/video/s1d13xxxfb.h | |||
@@ -0,0 +1,166 @@ | |||
1 | /* drivers/video/s1d3xxxfb.h | ||
2 | * | ||
3 | * (c) 2004 Simtec Electronics | ||
4 | * (c) 2005 Thibaut VARENE <varenet@parisc-linux.org> | ||
5 | * | ||
6 | * Header file for Epson S1D13XXX driver code | ||
7 | * | ||
8 | * This file is subject to the terms and conditions of the GNU General Public | ||
9 | * License. See the file COPYING in the main directory of this archive for | ||
10 | * more details. | ||
11 | */ | ||
12 | |||
13 | #ifndef S1D13XXXFB_H | ||
14 | #define S1D13XXXFB_H | ||
15 | |||
16 | #define S1D_PALETTE_SIZE 256 | ||
17 | #define S1D_CHIP_REV 7 /* expected chip revision number for s1d13806 */ | ||
18 | #define S1D_FBID "S1D13806" | ||
19 | #define S1D_DEVICENAME "s1d13806fb" | ||
20 | |||
21 | /* register definitions (tested on s1d13896) */ | ||
22 | #define S1DREG_REV_CODE 0x0000 /* Revision Code Register */ | ||
23 | #define S1DREG_MISC 0x0001 /* Miscellaneous Register */ | ||
24 | #define S1DREG_GPIO_CNF0 0x0004 /* General IO Pins Configuration Register 0 */ | ||
25 | #define S1DREG_GPIO_CNF1 0x0005 /* General IO Pins Configuration Register 1 */ | ||
26 | #define S1DREG_GPIO_CTL0 0x0008 /* General IO Pins Control Register 0 */ | ||
27 | #define S1DREG_GPIO_CTL1 0x0009 /* General IO Pins Control Register 1 */ | ||
28 | #define S1DREG_CNF_STATUS 0x000C /* Configuration Status Readback Register */ | ||
29 | #define S1DREG_CLK_CNF 0x0010 /* Memory Clock Configuration Register */ | ||
30 | #define S1DREG_LCD_CLK_CNF 0x0014 /* LCD Pixel Clock Configuration Register */ | ||
31 | #define S1DREG_CRT_CLK_CNF 0x0018 /* CRT/TV Pixel Clock Configuration Register */ | ||
32 | #define S1DREG_MPLUG_CLK_CNF 0x001C /* MediaPlug Clock Configuration Register */ | ||
33 | #define S1DREG_CPU2MEM_WST_SEL 0x001E /* CPU To Memory Wait State Select Register */ | ||
34 | #define S1DREG_MEM_CNF 0x0020 /* Memory Configuration Register */ | ||
35 | #define S1DREG_SDRAM_REF_RATE 0x0021 /* SDRAM Refresh Rate Register */ | ||
36 | #define S1DREG_SDRAM_TC0 0x002A /* SDRAM Timing Control Register 0 */ | ||
37 | #define S1DREG_SDRAM_TC1 0x002B /* SDRAM Timing Control Register 1 */ | ||
38 | #define S1DREG_PANEL_TYPE 0x0030 /* Panel Type Register */ | ||
39 | #define S1DREG_MOD_RATE 0x0031 /* MOD Rate Register */ | ||
40 | #define S1DREG_LCD_DISP_HWIDTH 0x0032 /* LCD Horizontal Display Width Register: ((val)+1)*8)=pix/line */ | ||
41 | #define S1DREG_LCD_NDISP_HPER 0x0034 /* LCD Horizontal Non-Display Period Register: ((val)+1)*8)=NDpix/line */ | ||
42 | #define S1DREG_TFT_FPLINE_START 0x0035 /* TFT FPLINE Start Position Register */ | ||
43 | #define S1DREG_TFT_FPLINE_PWIDTH 0x0036 /* TFT FPLINE Pulse Width Register. */ | ||
44 | #define S1DREG_LCD_DISP_VHEIGHT0 0x0038 /* LCD Vertical Display Height Register 0 */ | ||
45 | #define S1DREG_LCD_DISP_VHEIGHT1 0x0039 /* LCD Vertical Display Height Register 1 */ | ||
46 | #define S1DREG_LCD_NDISP_VPER 0x003A /* LCD Vertical Non-Display Period Register: (val)+1=NDlines */ | ||
47 | #define S1DREG_TFT_FPFRAME_START 0x003B /* TFT FPFRAME Start Position Register */ | ||
48 | #define S1DREG_TFT_FPFRAME_PWIDTH 0x003C /* TFT FPFRAME Pulse Width Register */ | ||
49 | #define S1DREG_LCD_DISP_MODE 0x0040 /* LCD Display Mode Register */ | ||
50 | #define S1DREG_LCD_MISC 0x0041 /* LCD Miscellaneous Register */ | ||
51 | #define S1DREG_LCD_DISP_START0 0x0042 /* LCD Display Start Address Register 0 */ | ||
52 | #define S1DREG_LCD_DISP_START1 0x0043 /* LCD Display Start Address Register 1 */ | ||
53 | #define S1DREG_LCD_DISP_START2 0x0044 /* LCD Display Start Address Register 2 */ | ||
54 | #define S1DREG_LCD_MEM_OFF0 0x0046 /* LCD Memory Address Offset Register 0 */ | ||
55 | #define S1DREG_LCD_MEM_OFF1 0x0047 /* LCD Memory Address Offset Register 1 */ | ||
56 | #define S1DREG_LCD_PIX_PAN 0x0048 /* LCD Pixel Panning Register */ | ||
57 | #define S1DREG_LCD_DISP_FIFO_HTC 0x004A /* LCD Display FIFO High Threshold Control Register */ | ||
58 | #define S1DREG_LCD_DISP_FIFO_LTC 0x004B /* LCD Display FIFO Low Threshold Control Register */ | ||
59 | #define S1DREG_CRT_DISP_HWIDTH 0x0050 /* CRT/TV Horizontal Display Width Register: ((val)+1)*8)=pix/line */ | ||
60 | #define S1DREG_CRT_NDISP_HPER 0x0052 /* CRT/TV Horizontal Non-Display Period Register */ | ||
61 | #define S1DREG_CRT_HRTC_START 0x0053 /* CRT/TV HRTC Start Position Register */ | ||
62 | #define S1DREG_CRT_HRTC_PWIDTH 0x0054 /* CRT/TV HRTC Pulse Width Register */ | ||
63 | #define S1DREG_CRT_DISP_VHEIGHT0 0x0056 /* CRT/TV Vertical Display Height Register 0 */ | ||
64 | #define S1DREG_CRT_DISP_VHEIGHT1 0x0057 /* CRT/TV Vertical Display Height Register 1 */ | ||
65 | #define S1DREG_CRT_NDISP_VPER 0x0058 /* CRT/TV Vertical Non-Display Period Register */ | ||
66 | #define S1DREG_CRT_VRTC_START 0x0059 /* CRT/TV VRTC Start Position Register */ | ||
67 | #define S1DREG_CRT_VRTC_PWIDTH 0x005A /* CRT/TV VRTC Pulse Width Register */ | ||
68 | #define S1DREG_TV_OUT_CTL 0x005B /* TV Output Control Register */ | ||
69 | #define S1DREG_CRT_DISP_MODE 0x0060 /* CRT/TV Display Mode Register */ | ||
70 | #define S1DREG_CRT_DISP_START0 0x0062 /* CRT/TV Display Start Address Register 0 */ | ||
71 | #define S1DREG_CRT_DISP_START1 0x0063 /* CRT/TV Display Start Address Register 1 */ | ||
72 | #define S1DREG_CRT_DISP_START2 0x0064 /* CRT/TV Display Start Address Register 2 */ | ||
73 | #define S1DREG_CRT_MEM_OFF0 0x0066 /* CRT/TV Memory Address Offset Register 0 */ | ||
74 | #define S1DREG_CRT_MEM_OFF1 0x0067 /* CRT/TV Memory Address Offset Register 1 */ | ||
75 | #define S1DREG_CRT_PIX_PAN 0x0068 /* CRT/TV Pixel Panning Register */ | ||
76 | #define S1DREG_CRT_DISP_FIFO_HTC 0x006A /* CRT/TV Display FIFO High Threshold Control Register */ | ||
77 | #define S1DREG_CRT_DISP_FIFO_LTC 0x006B /* CRT/TV Display FIFO Low Threshold Control Register */ | ||
78 | #define S1DREG_LCD_CUR_CTL 0x0070 /* LCD Ink/Cursor Control Register */ | ||
79 | #define S1DREG_LCD_CUR_START 0x0071 /* LCD Ink/Cursor Start Address Register */ | ||
80 | #define S1DREG_LCD_CUR_XPOS0 0x0072 /* LCD Cursor X Position Register 0 */ | ||
81 | #define S1DREG_LCD_CUR_XPOS1 0x0073 /* LCD Cursor X Position Register 1 */ | ||
82 | #define S1DREG_LCD_CUR_YPOS0 0x0074 /* LCD Cursor Y Position Register 0 */ | ||
83 | #define S1DREG_LCD_CUR_YPOS1 0x0075 /* LCD Cursor Y Position Register 1 */ | ||
84 | #define S1DREG_LCD_CUR_BCTL0 0x0076 /* LCD Ink/Cursor Blue Color 0 Register */ | ||
85 | #define S1DREG_LCD_CUR_GCTL0 0x0077 /* LCD Ink/Cursor Green Color 0 Register */ | ||
86 | #define S1DREG_LCD_CUR_RCTL0 0x0078 /* LCD Ink/Cursor Red Color 0 Register */ | ||
87 | #define S1DREG_LCD_CUR_BCTL1 0x007A /* LCD Ink/Cursor Blue Color 1 Register */ | ||
88 | #define S1DREG_LCD_CUR_GCTL1 0x007B /* LCD Ink/Cursor Green Color 1 Register */ | ||
89 | #define S1DREG_LCD_CUR_RCTL1 0x007C /* LCD Ink/Cursor Red Color 1 Register */ | ||
90 | #define S1DREG_LCD_CUR_FIFO_HTC 0x007E /* LCD Ink/Cursor FIFO High Threshold Register */ | ||
91 | #define S1DREG_CRT_CUR_CTL 0x0080 /* CRT/TV Ink/Cursor Control Register */ | ||
92 | #define S1DREG_CRT_CUR_START 0x0081 /* CRT/TV Ink/Cursor Start Address Register */ | ||
93 | #define S1DREG_CRT_CUR_XPOS0 0x0082 /* CRT/TV Cursor X Position Register 0 */ | ||
94 | #define S1DREG_CRT_CUR_XPOS1 0x0083 /* CRT/TV Cursor X Position Register 1 */ | ||
95 | #define S1DREG_CRT_CUR_YPOS0 0x0084 /* CRT/TV Cursor Y Position Register 0 */ | ||
96 | #define S1DREG_CRT_CUR_YPOS1 0x0085 /* CRT/TV Cursor Y Position Register 1 */ | ||
97 | #define S1DREG_CRT_CUR_BCTL0 0x0086 /* CRT/TV Ink/Cursor Blue Color 0 Register */ | ||
98 | #define S1DREG_CRT_CUR_GCTL0 0x0087 /* CRT/TV Ink/Cursor Green Color 0 Register */ | ||
99 | #define S1DREG_CRT_CUR_RCTL0 0x0088 /* CRT/TV Ink/Cursor Red Color 0 Register */ | ||
100 | #define S1DREG_CRT_CUR_BCTL1 0x008A /* CRT/TV Ink/Cursor Blue Color 1 Register */ | ||
101 | #define S1DREG_CRT_CUR_GCTL1 0x008B /* CRT/TV Ink/Cursor Green Color 1 Register */ | ||
102 | #define S1DREG_CRT_CUR_RCTL1 0x008C /* CRT/TV Ink/Cursor Red Color 1 Register */ | ||
103 | #define S1DREG_CRT_CUR_FIFO_HTC 0x008E /* CRT/TV Ink/Cursor FIFO High Threshold Register */ | ||
104 | #define S1DREG_BBLT_CTL0 0x0100 /* BitBLT Control Register 0 */ | ||
105 | #define S1DREG_BBLT_CTL1 0x0101 /* BitBLT Control Register 1 */ | ||
106 | #define S1DREG_BBLT_CC_EXP 0x0102 /* BitBLT Code/Color Expansion Register */ | ||
107 | #define S1DREG_BBLT_OP 0x0103 /* BitBLT Operation Register */ | ||
108 | #define S1DREG_BBLT_SRC_START0 0x0104 /* BitBLT Source Start Address Register 0 */ | ||
109 | #define S1DREG_BBLT_SRC_START1 0x0105 /* BitBLT Source Start Address Register 1 */ | ||
110 | #define S1DREG_BBLT_SRC_START2 0x0106 /* BitBLT Source Start Address Register 2 */ | ||
111 | #define S1DREG_BBLT_DST_START0 0x0108 /* BitBLT Destination Start Address Register 0 */ | ||
112 | #define S1DREG_BBLT_DST_START1 0x0109 /* BitBLT Destination Start Address Register 1 */ | ||
113 | #define S1DREG_BBLT_DST_START2 0x010A /* BitBLT Destination Start Address Register 2 */ | ||
114 | #define S1DREG_BBLT_MEM_OFF0 0x010C /* BitBLT Memory Address Offset Register 0 */ | ||
115 | #define S1DREG_BBLT_MEM_OFF1 0x010D /* BitBLT Memory Address Offset Register 1 */ | ||
116 | #define S1DREG_BBLT_WIDTH0 0x0110 /* BitBLT Width Register 0 */ | ||
117 | #define S1DREG_BBLT_WIDTH1 0x0111 /* BitBLT Width Register 1 */ | ||
118 | #define S1DREG_BBLT_HEIGHT0 0x0112 /* BitBLT Height Register 0 */ | ||
119 | #define S1DREG_BBLT_HEIGHT1 0x0113 /* BitBLT Height Register 1 */ | ||
120 | #define S1DREG_BBLT_BGC0 0x0114 /* BitBLT Background Color Register 0 */ | ||
121 | #define S1DREG_BBLT_BGC1 0x0115 /* BitBLT Background Color Register 1 */ | ||
122 | #define S1DREG_BBLT_FGC0 0x0118 /* BitBLT Foreground Color Register 0 */ | ||
123 | #define S1DREG_BBLT_FGC1 0x0119 /* BitBLT Foreground Color Register 1 */ | ||
124 | #define S1DREG_LKUP_MODE 0x01E0 /* Look-Up Table Mode Register */ | ||
125 | #define S1DREG_LKUP_ADDR 0x01E2 /* Look-Up Table Address Register */ | ||
126 | #define S1DREG_LKUP_DATA 0x01E4 /* Look-Up Table Data Register */ | ||
127 | #define S1DREG_PS_CNF 0x01F0 /* Power Save Configuration Register */ | ||
128 | #define S1DREG_PS_STATUS 0x01F1 /* Power Save Status Register */ | ||
129 | #define S1DREG_CPU2MEM_WDOGT 0x01F4 /* CPU-to-Memory Access Watchdog Timer Register */ | ||
130 | #define S1DREG_COM_DISP_MODE 0x01FC /* Common Display Mode Register */ | ||
131 | |||
132 | #define S1DREG_DELAYOFF 0xFFFE | ||
133 | #define S1DREG_DELAYON 0xFFFF | ||
134 | |||
135 | /* Note: all above defines should go in separate header files | ||
136 | when implementing other S1D13xxx chip support. */ | ||
137 | |||
138 | struct s1d13xxxfb_regval { | ||
139 | u16 addr; | ||
140 | u8 value; | ||
141 | }; | ||
142 | |||
143 | |||
144 | struct s1d13xxxfb_par { | ||
145 | void __iomem *regs; | ||
146 | unsigned char display; | ||
147 | |||
148 | unsigned int pseudo_palette[16]; | ||
149 | #ifdef CONFIG_PM | ||
150 | void *regs_save; /* pm saves all registers here */ | ||
151 | void *disp_save; /* pm saves entire screen here */ | ||
152 | #endif | ||
153 | }; | ||
154 | |||
155 | struct s1d13xxxfb_pdata { | ||
156 | const struct s1d13xxxfb_regval *initregs; | ||
157 | const unsigned int initregssize; | ||
158 | void (*platform_init_video)(void); | ||
159 | #ifdef CONFIG_PM | ||
160 | int (*platform_suspend_video)(void); | ||
161 | int (*platform_resume_video)(void); | ||
162 | #endif | ||
163 | }; | ||
164 | |||
165 | #endif | ||
166 | |||