brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 7b99523 Raw
52 lines · c
1/*2 * hecubafb.h - definitions for the hecuba framebuffer driver3 *4 * Copyright (C) 2008 by Jaya Kumar5 *6 * This file is subject to the terms and conditions of the GNU General Public7 * License. See the file COPYING in the main directory of this archive for8 * 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	0xA017#define APOLLO_STOP_IMG_DATA	0xA118#define APOLLO_DISPLAY_IMG	0xA219#define APOLLO_ERASE_DISPLAY	0xA320#define APOLLO_INIT_DISPLAY	0xA421 22/* Hecuba interface specific defines */23#define HCB_WUP_BIT	0x0124#define HCB_DS_BIT 	0x0225#define HCB_RW_BIT 	0x0426#define HCB_CD_BIT 	0x0827#define HCB_ACK_BIT 	0x8028 29/* struct used by hecuba. board specific stuff comes from *board */30struct 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 routines38board drivers can implement wait_for_ack with interrupts if desired. if39wait_for_ack is called with clear=0, then go to sleep and return when ack40goes hi or if wait_for_ack with clear=1, then return when ack goes lo */41struct 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#endif52