root/include/video/hecubafb.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * hecubafb.h - definitions for the hecuba framebuffer driver
   3  *
   4  * Copyright (C) 2008 by Jaya Kumar
   5  *
   6  * This file is subject to the terms and conditions of the GNU General Public
   7  * License. See the file COPYING in the main directory of this archive for
   8  * more details.
   9  *
  10  */
  11 
  12 #ifndef _LINUX_HECUBAFB_H_
  13 #define _LINUX_HECUBAFB_H_
  14 
  15 /* Apollo controller specific defines */
  16 #define APOLLO_START_NEW_IMG    0xA0
  17 #define APOLLO_STOP_IMG_DATA    0xA1
  18 #define APOLLO_DISPLAY_IMG      0xA2
  19 #define APOLLO_ERASE_DISPLAY    0xA3
  20 #define APOLLO_INIT_DISPLAY     0xA4
  21 
  22 /* Hecuba interface specific defines */
  23 #define HCB_WUP_BIT     0x01
  24 #define HCB_DS_BIT      0x02
  25 #define HCB_RW_BIT      0x04
  26 #define HCB_CD_BIT      0x08
  27 #define HCB_ACK_BIT     0x80
  28 
  29 /* struct used by hecuba. board specific stuff comes from *board */
  30 struct hecubafb_par {
  31         struct fb_info *info;
  32         struct hecuba_board *board;
  33         void (*send_command)(struct hecubafb_par *, unsigned char);
  34         void (*send_data)(struct hecubafb_par *, unsigned char);
  35 };
  36 
  37 /* board specific routines
  38 board drivers can implement wait_for_ack with interrupts if desired. if
  39 wait_for_ack is called with clear=0, then go to sleep and return when ack
  40 goes hi or if wait_for_ack with clear=1, then return when ack goes lo */
  41 struct hecuba_board {
  42         struct module *owner;
  43         void (*remove)(struct hecubafb_par *);
  44         void (*set_ctl)(struct hecubafb_par *, unsigned char, unsigned char);
  45         void (*set_data)(struct hecubafb_par *, unsigned char);
  46         void (*wait_for_ack)(struct hecubafb_par *, int);
  47         int (*init)(struct hecubafb_par *);
  48 };
  49 
  50 
  51 #endif

/* [<][>][^][v][top][bottom][index][help] */