|
@@ -804,85 +804,6 @@ video_dump_reg (void)
|
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#ifdef CONFIG_VIDEO_HW_CURSOR
|
|
|
|
-/***************************************************************
|
|
|
|
- * Set Hardware Cursor in Pixel
|
|
|
|
- */
|
|
|
|
-void
|
|
|
|
-video_set_hw_cursor (int x, int y)
|
|
|
|
-{
|
|
|
|
- int sig_x = 0, sig_y = 0;
|
|
|
|
- if (x < 0) {
|
|
|
|
- x *= -1;
|
|
|
|
- sig_x = 1;
|
|
|
|
- }
|
|
|
|
- if (y < 0) {
|
|
|
|
- y *= -1;
|
|
|
|
- sig_y = 1;
|
|
|
|
- }
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa4, x & 0xff);
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa5, (x >> 8) & 0x7);
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa6, y & 0xff);
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa7, (y >> 8) & 0x7);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/***************************************************************
|
|
|
|
- * Init Hardware Cursor. To know the size of the Cursor,
|
|
|
|
- * we have to know the Font size.
|
|
|
|
- */
|
|
|
|
-void
|
|
|
|
-video_init_hw_cursor (int font_width, int font_height)
|
|
|
|
-{
|
|
|
|
- unsigned char xr_80;
|
|
|
|
- unsigned long *curs, pattern;
|
|
|
|
- int i;
|
|
|
|
- int cursor_start;
|
|
|
|
- GraphicDevice *pGD = (GraphicDevice *) & ctfb;
|
|
|
|
-
|
|
|
|
- cursor_start = pGD->dprBase;
|
|
|
|
- xr_80 = ctRead_i (CT_XR_O, 0x80);
|
|
|
|
- /* set start address */
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa2, (cursor_start >> 8) & 0xf0);
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa3, (cursor_start >> 16) & 0x3f);
|
|
|
|
- /* set cursor shape */
|
|
|
|
- curs = (unsigned long *) cursor_start;
|
|
|
|
- i = 0;
|
|
|
|
- while (i < 0x400) {
|
|
|
|
- curs[i++] = 0xffffffff; /* AND mask */
|
|
|
|
- curs[i++] = 0xffffffff; /* AND mask */
|
|
|
|
- curs[i++] = 0; /* XOR mask */
|
|
|
|
- curs[i++] = 0; /* XOR mask */
|
|
|
|
- /* Transparent */
|
|
|
|
- }
|
|
|
|
- pattern = 0xffffffff >> font_width;
|
|
|
|
- i = 0;
|
|
|
|
- while (i < (font_height * 2)) {
|
|
|
|
- curs[i++] = pattern; /* AND mask */
|
|
|
|
- curs[i++] = pattern; /* AND mask */
|
|
|
|
- curs[i++] = 0; /* XOR mask */
|
|
|
|
- curs[i++] = 0; /* XOR mask */
|
|
|
|
- /* Cursor Color 0 */
|
|
|
|
- }
|
|
|
|
- /* set blink rate */
|
|
|
|
- ctWrite_i (CT_FP_O, 0x19, 0xf);
|
|
|
|
-
|
|
|
|
- /* set cursors colors */
|
|
|
|
- xr_80 = ctRead_i (CT_XR_O, 0x80);
|
|
|
|
- xr_80 |= 0x1; /* alternate palette select */
|
|
|
|
- ctWrite_i (CT_XR_O, 0x80, xr_80);
|
|
|
|
- video_set_lut(4, CONFIG_SYS_CONSOLE_FG_COL, CONFIG_SYS_CONSOLE_FG_COL,
|
|
|
|
- CONFIG_SYS_CONSOLE_FG_COL);
|
|
|
|
- /* position 4 is color 0 cursor 0 */
|
|
|
|
- xr_80 &= 0xfe; /* normal palette select */
|
|
|
|
- ctWrite_i (CT_XR_O, 0x80, xr_80);
|
|
|
|
- /* cursor enable */
|
|
|
|
- ctWrite_i (CT_XR_O, 0xa0, 0x91);
|
|
|
|
- xr_80 |= 0x10; /* enable hwcursor */
|
|
|
|
- ctWrite_i (CT_XR_O, 0x80, xr_80);
|
|
|
|
- video_set_hw_cursor (0, 0);
|
|
|
|
-}
|
|
|
|
-#endif /* CONFIG_VIDEO_HW_CURSOR */
|
|
|
|
-
|
|
|
|
/***************************************************************
|
|
/***************************************************************
|
|
* Wait for BitBlt ready
|
|
* Wait for BitBlt ready
|
|
*/
|
|
*/
|