Go to the documentation of this file.
20 # define dprintk(X...) printk("sstfb: " X)
21 # define SST_DEBUG_REG 1
22 # define SST_DEBUG_FUNC 1
23 # define SST_DEBUG_VAR 1
25 # define dprintk(X...)
26 # define SST_DEBUG_REG 0
27 # define SST_DEBUG_FUNC 0
28 # define SST_DEBUG_VAR 0
31 #if (SST_DEBUG_REG > 0)
32 # define r_dprintk(X...) dprintk(X)
34 # define r_dprintk(X...)
36 #if (SST_DEBUG_REG > 1)
37 # define r_ddprintk(X...) dprintk(" " X)
39 # define r_ddprintk(X...)
42 #if (SST_DEBUG_FUNC > 0)
43 # define f_dprintk(X...) dprintk(X)
45 # define f_dprintk(X...)
47 #if (SST_DEBUG_FUNC > 1)
48 # define f_ddprintk(X...) dprintk(" " X)
50 # define f_ddprintk(X...)
52 #if (SST_DEBUG_FUNC > 2)
53 # define f_dddprintk(X...) dprintk(" " X)
55 # define f_dddprintk(X...)
58 #if (SST_DEBUG_VAR > 0)
59 # define v_dprintk(X...) dprintk(X)
60 # define print_var(V, X...) \
64 sst_dbg_print_var(V); \
67 # define v_dprintk(X...)
68 # define print_var(X,Y...)
71 #define POW2(x) (1ul<<(x))
80 #define PCI_INIT_ENABLE 0x40
81 # define PCI_EN_INIT_WR BIT(0)
82 # define PCI_EN_FIFO_WR BIT(1)
83 # define PCI_REMAP_DAC BIT(2)
84 #define PCI_VCLK_ENABLE 0xc0
85 #define PCI_VCLK_DISABLE 0xe0
89 # define STATUS_FBI_BUSY BIT(7)
90 #define FBZMODE 0x0110
91 # define EN_CLIPPING BIT(0)
92 # define EN_RGB_WRITE BIT(9)
93 # define EN_ALPHA_WRITE BIT(10)
94 # define ENGINE_INVERT_Y BIT(17)
95 #define LFBMODE 0x0114
99 # define WR_BUFF_FRONT 0
100 # define WR_BUFF_BACK (1 << 4)
101 # define RD_BUFF_FRONT 0
102 # define RD_BUFF_BACK (1 << 6)
103 # define EN_PXL_PIPELINE BIT(8)
104 # define LFB_WORD_SWIZZLE_WR BIT(11)
105 # define LFB_BYTE_SWIZZLE_WR BIT(12)
106 # define LFB_INVERT_Y BIT(13)
107 # define LFB_WORD_SWIZZLE_RD BIT(15)
108 # define LFB_BYTE_SWIZZLE_RD BIT(16)
109 #define CLIP_LEFT_RIGHT 0x0118
110 #define CLIP_LOWY_HIGHY 0x011c
111 #define NOPCMD 0x0120
112 #define FASTFILLCMD 0x0124
113 #define SWAPBUFFCMD 0x0128
114 #define FBIINIT4 0x0200
115 # define FAST_PCI_READS 0
116 # define SLOW_PCI_READS BIT(0)
117 # define LFB_READ_AHEAD BIT(1)
118 #define BACKPORCH 0x0208
119 #define VIDEODIMENSIONS 0x020c
120 #define FBIINIT0 0x0210
121 # define DIS_VGA_PASSTHROUGH BIT(0)
122 # define FBI_RESET BIT(1)
123 # define FIFO_RESET BIT(2)
124 #define FBIINIT1 0x0214
125 # define VIDEO_MASK 0x8080010f
126 # define FAST_PCI_WRITES 0
127 # define SLOW_PCI_WRITES BIT(1)
128 # define EN_LFB_READ BIT(3)
129 # define TILES_IN_X_SHIFT 4
130 # define VIDEO_RESET BIT(8)
131 # define EN_BLANKING BIT(12)
132 # define EN_DATA_OE BIT(13)
133 # define EN_BLANK_OE BIT(14)
134 # define EN_HVSYNC_OE BIT(15)
135 # define EN_DCLK_OE BIT(16)
136 # define SEL_INPUT_VCLK_2X 0
137 # define SEL_INPUT_VCLK_SLAVE BIT(17)
138 # define SEL_SOURCE_VCLK_SLAVE 0
139 # define SEL_SOURCE_VCLK_2X_DIV2 (0x01 << 20)
140 # define SEL_SOURCE_VCLK_2X_SEL (0x02 << 20)
141 # define EN_24BPP BIT(22)
142 # define TILES_IN_X_MSB_SHIFT 24
143 # define VCLK_2X_SEL_DEL_SHIFT 27
144 # define VCLK_DEL_SHIFT 29
145 #define FBIINIT2 0x0218
146 # define EN_FAST_RAS_READ BIT(5)
147 # define EN_DRAM_OE BIT(6)
148 # define EN_FAST_RD_AHEAD_WR BIT(7)
149 # define VIDEO_OFFSET_SHIFT 11
150 # define SWAP_DACVSYNC 0
151 # define SWAP_DACDATA0 (1 << 9)
152 # define SWAP_FIFO_STALL (2 << 9)
153 # define EN_RD_AHEAD_FIFO BIT(21)
154 # define EN_DRAM_REFRESH BIT(22)
155 # define DRAM_REFRESH_16 (0x30 << 23)
156 #define DAC_READ FBIINIT2
157 #define FBIINIT3 0x021c
158 # define DISABLE_TEXTURE BIT(6)
159 # define Y_SWAP_ORIGIN_SHIFT 22
162 #define DAC_DATA 0x022c
163 # define DAC_READ_CMD BIT(11)
164 #define FBIINIT5 0x0244
165 # define FBIINIT5_MASK 0xfa40ffff
166 # define HDOUBLESCAN BIT(20)
167 # define VDOUBLESCAN BIT(21)
168 # define HSYNC_HIGH BIT(23)
169 # define VSYNC_HIGH BIT(24)
170 # define INTERLACE BIT(26)
171 #define FBIINIT6 0x0248
172 # define TILES_IN_X_LSB_SHIFT 30
173 #define FBIINIT7 0x024c
175 #define BLTSRCBASEADDR 0x02c0
176 #define BLTDSTBASEADDR 0x02c4
177 #define BLTXYSTRIDES 0x02c8
178 #define BLTSRCCHROMARANGE 0x02cc
179 #define BLTDSTCHROMARANGE 0x02d0
180 #define BLTCLIPX 0x02d4
181 #define BLTCLIPY 0x02d8
182 #define BLTSRCXY 0x02e0
183 #define BLTDSTXY 0x02e4
184 #define BLTSIZE 0x02e8
185 #define BLTROP 0x02ec
186 # define BLTROP_COPY 0x0cccc
187 # define BLTROP_INVERT 0x05555
188 # define BLTROP_XOR 0x06666
189 #define BLTCOLOR 0x02f0
190 #define BLTCOMMAND 0x02f8
191 # define BLT_SCR2SCR_BITBLT 0
192 # define BLT_CPU2SCR_BITBLT 1
193 # define BLT_RECFILL_BITBLT 2
194 # define BLT_16BPP_FMT 2
195 #define BLTDATA 0x02fc
196 # define LAUNCH_BITBLT BIT(31)
199 #define DACREG_WMA 0x0
200 #define DACREG_LUT 0x01
201 #define DACREG_RMR 0x02
202 #define DACREG_RMA 0x03
204 #define DACREG_ADDR_I DACREG_WMA
205 #define DACREG_DATA_I DACREG_RMR
206 #define DACREG_RMR_I 0x00
207 #define DACREG_CR0_I 0x01
208 # define DACREG_CR0_EN_INDEXED BIT(0)
209 # define DACREG_CR0_8BIT BIT(1)
210 # define DACREG_CR0_PWDOWN BIT(3)
211 # define DACREG_CR0_16BPP 0x30
212 # define DACREG_CR0_24BPP 0x50
213 #define DACREG_CR1_I 0x05
214 #define DACREG_CC_I 0x06
215 # define DACREG_CC_CLKA BIT(7)
216 # define DACREG_CC_CLKA_C (2<<4)
217 # define DACREG_CC_CLKB BIT(3)
218 # define DACREG_CC_CLKB_D 3
219 #define DACREG_AC0_I 0x48
220 #define DACREG_AC1_I 0x49
221 #define DACREG_BD0_I 0x6c
222 #define DACREG_BD1_I 0x6d
225 #define DACREG_MIR_TI 0x97
226 #define DACREG_DIR_TI 0x09
227 #define DACREG_MIR_ATT 0x84
228 #define DACREG_DIR_ATT 0x09
230 #define DACREG_ICS_PLLWMA 0x04
231 #define DACREG_ICS_PLLDATA 0x05
232 #define DACREG_ICS_CMD 0x06
233 # define DACREG_ICS_CMD_16BPP 0x50
234 # define DACREG_ICS_CMD_24BPP 0x70
235 # define DACREG_ICS_CMD_PWDOWN BIT(0)
236 #define DACREG_ICS_PLLRMA 0x07
244 #define DACREG_ICS_PLL_CLK0_1_INI 0x55
245 #define DACREG_ICS_PLL_CLK0_7_INI 0x71
246 #define DACREG_ICS_PLL_CLK1_B_INI 0x79
247 #define DACREG_ICS_PLL_CTRL 0x0e
248 # define DACREG_ICS_CLK0 BIT(5)
249 # define DACREG_ICS_CLK0_0 0
250 # define DACREG_ICS_CLK1_A 0
253 #define FBIINIT0_DEFAULT DIS_VGA_PASSTHROUGH
255 #define FBIINIT1_DEFAULT \
260 | 10 << TILES_IN_X_SHIFT\
261 | SEL_SOURCE_VCLK_2X_SEL\
265 #define FBIINIT2_DEFAULT \
273 | EN_FAST_RD_AHEAD_WR \
276 #define FBIINIT3_DEFAULT \
279 #define FBIINIT4_DEFAULT \
290 #define FBIINIT6_DEFAULT (0x0)
299 #define SSTFB_SET_VGAPASS _IOW('F', 0xdd, __u32)
300 #define SSTFB_GET_VGAPASS _IOR('F', 0xdd, __u32)
310 #define DAC_FREF 14318
311 #define VCO_MAX 260000