52 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * hecubafb.h - definitions for the hecuba framebuffer driver
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 2008 by Jaya Kumar
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This file is subject to the terms and conditions of the GNU General Public
							 | 
						||
| 
								 | 
							
								 * License. See the file COPYING in the main directory of this archive for
							 | 
						||
| 
								 | 
							
								 * more details.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef _LINUX_HECUBAFB_H_
							 | 
						||
| 
								 | 
							
								#define _LINUX_HECUBAFB_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Apollo controller specific defines */
							 | 
						||
| 
								 | 
							
								#define APOLLO_START_NEW_IMG	0xA0
							 | 
						||
| 
								 | 
							
								#define APOLLO_STOP_IMG_DATA	0xA1
							 | 
						||
| 
								 | 
							
								#define APOLLO_DISPLAY_IMG	0xA2
							 | 
						||
| 
								 | 
							
								#define APOLLO_ERASE_DISPLAY	0xA3
							 | 
						||
| 
								 | 
							
								#define APOLLO_INIT_DISPLAY	0xA4
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Hecuba interface specific defines */
							 | 
						||
| 
								 | 
							
								#define HCB_WUP_BIT	0x01
							 | 
						||
| 
								 | 
							
								#define HCB_DS_BIT 	0x02
							 | 
						||
| 
								 | 
							
								#define HCB_RW_BIT 	0x04
							 | 
						||
| 
								 | 
							
								#define HCB_CD_BIT 	0x08
							 | 
						||
| 
								 | 
							
								#define HCB_ACK_BIT 	0x80
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* struct used by hecuba. board specific stuff comes from *board */
							 | 
						||
| 
								 | 
							
								struct hecubafb_par {
							 | 
						||
| 
								 | 
							
									struct fb_info *info;
							 | 
						||
| 
								 | 
							
									struct hecuba_board *board;
							 | 
						||
| 
								 | 
							
									void (*send_command)(struct hecubafb_par *, unsigned char);
							 | 
						||
| 
								 | 
							
									void (*send_data)(struct hecubafb_par *, unsigned char);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* board specific routines
							 | 
						||
| 
								 | 
							
								board drivers can implement wait_for_ack with interrupts if desired. if
							 | 
						||
| 
								 | 
							
								wait_for_ack is called with clear=0, then go to sleep and return when ack
							 | 
						||
| 
								 | 
							
								goes hi or if wait_for_ack with clear=1, then return when ack goes lo */
							 | 
						||
| 
								 | 
							
								struct hecuba_board {
							 | 
						||
| 
								 | 
							
									struct module *owner;
							 | 
						||
| 
								 | 
							
									void (*remove)(struct hecubafb_par *);
							 | 
						||
| 
								 | 
							
									void (*set_ctl)(struct hecubafb_par *, unsigned char, unsigned char);
							 | 
						||
| 
								 | 
							
									void (*set_data)(struct hecubafb_par *, unsigned char);
							 | 
						||
| 
								 | 
							
									void (*wait_for_ack)(struct hecubafb_par *, int);
							 | 
						||
| 
								 | 
							
									int (*init)(struct hecubafb_par *);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |