Commit for backup purpose

This commit is contained in:
mlt
2010-06-28 17:51:53 +00:00
committed by Godzil
parent 71062896b6
commit e3c7c1b8b5
17 changed files with 1809 additions and 261 deletions

View File

@@ -21,6 +21,8 @@
#ifndef AUOFB_IOCTL_H
#define AUOFB_IOCTL_H
#define AUO_FIRMWARE_VERSION 33
#pragma pack(1)
typedef struct sAUOCommand_t
{
@@ -37,23 +39,71 @@ typedef struct sAUOCommand_t
#define IOCTL_AUO_PREFIX ('A' << 8)
#define IOCTL_AUO_SENDCOMMAND (IOCTL_AUO_PREFIX | 0x01)
#define IOCTL_AUO_RESET (IOCTL_AUO_PREFIX | 0x02)
#define IOCTL_AUO_SLEEP (IOCTL_AUO_PREFIX | 0x03)
#define IOCTL_AUO_WAKEUP (IOCTL_AUO_PREFIX | 0x04)
#define IOCTL_AUO_POWERON (IOCTL_AUO_PREFIX | 0x05)
#define IOCTL_AUO_POWEROFF (IOCTL_AUO_PREFIX | 0x06)
#define IOCTL_AUO_UPDATEFW (IOCTL_AUO_PREFIX | 0x07)
/* Command definition *
* 3322 2222 2222 1111 1111 1100 0000 0000 *
* 1098 7654 3210 9876 5432 1098 7654 3210 *
* --------------------------------------- *
* WD pppp CCCC CCCC CCCC CCCC *
* RWD pppp CCCC CCCC CCCC CCCC *
*
* R = 'Read Command' (0 mean write, 1 mean read)
* W = 'need_wait'
* D = 'have_data'
* p = 'nb_param'
* C = "command"
*/
#define SET_AUO_COMMAND(command, nb_param, have_data, need_wait) \
( ((need_wait & 0x01) << 29) |\
((have_data & 0x01) << 28) |\
((nb_param & 0x0F) << 20) |\
(command & 0xFFFF) )
#define SET_AUO_COMMAND_EXT(command, nb_param, have_data, need_wait, read_write) \
( ((need_wait & 0x01) << 29) |\
((have_data & 0x01) << 28) |\
((nb_param & 0x0F) << 20) |\
((read_write & 0x01) << 30) |\
(command & 0xFFFF) )
#define SET_AUO_WRITE_COMMAND(command, nb_param, have_data, need_wait) SET_AUO_COMMAND_EXT(command, nb_param, have_data, need_wait, 0)
#define SET_AUO_COMMAND SET_AUO_WRITE_COMMAND
#define SET_AUO_READ_COMMAND(command, nb_param, have_data, need_wait) SET_AUO_COMMAND_EXT(command, nb_param, have_data, need_wait, 1)
#if (AUO_FIRMWARE_VERSION == 33) /* Command set for TCON firmware v33 */
/* Initialisation commands */
#define AUOCMD_INIT_SET SET_AUO_COMMAND(0x0000, 1, 0, 1)
#define AUOCMD_TCON_RESET SET_AUO_COMMAND(0x0003, 1, 0, 0)
#define AUOCMD_VCOM_FRAMERATE SET_AUO_COMMAND(0x0004, 1, 0, 0)
/* Power management */
#define AUOCMD_STANDBY SET_AUO_COMMAND(0x0001, 0, 0, 1)
#define AUOCMD_WAKEUP SET_AUO_COMMAND(0x0002, 0, 0, 0)
/* Display commands */
#define AUOCMD_DISPLAY_START SET_AUO_COMMAND(0x1001, 4, 1, 1)
#define AUOCMD_DISPLAY_STOP SET_AUO_COMMAND(0x1002, 0, 0, 1)
#define AUOCMD_DISPLAY_REFRESH SET_AUO_COMMAND(0x1004, 0, 0, 1)
#define AUOCMD_DISPLAY_RESET SET_AUO_COMMAND(0x1005, 0, 0, 1)
#define AUOCMD_PRE_DISPLAY_START SET_AUO_COMMAND(0x100D, 0, 1, 1)
#define AUOCMD_PRE_DISPLAY_STOP SET_AUO_COMMAND(0x100F, 0, 0, 1)
/* LUT */
#define AUOCMD_LUT_START SET_AUO_WRITE_COMMAND(0x1003, 0, 1, 1)
#define AUOCMD_LUT_STOP SET_AUO_WRITE_COMMAND(0x1009, 0, 0, 1)
#define AUOCMD_LUT_READ SET_AUO_READ_COMMAND(0x4003, 0, 1, 1)
/* Other commands */
#define AUOCMD_READ_FUNC SET_AUO_READ_COMMAND(0x4000, 0, 1, 1)
#define AUOCMD_READ_STATUS SET_AUO_READ_COMMAND(0x4001, 0, 1, 0)
#define AUOCMD_LUMINANCE_BAL SET_AUO_READ_COMMAND(0x5001, 0, 1, 1)
/* Handwriting (MODE4) related commands */
#define AUOCMD_HANDW_PARAM_SET SET_AUO_WRITE_COMMAND(0x5002, 1, 0, 1)
/*** TODO: We should add command parameters defined here */
#else
#define AUOCMD_INIT_SET SET_AUO_COMMAND(0x0000, 1, 0, 1)
#define AUOCMD_STANDBY SET_AUO_COMMAND(0x0001, 0, 0, 1)
#define AUOCMD_WAKEUP SET_AUO_COMMAND(0x0002, 0, 0, 0)
@@ -61,10 +111,8 @@ typedef struct sAUOCommand_t
#define AUOCMD_DISPLAY_STOP SET_AUO_COMMAND(0x1002, 0, 0, 1)
#define AUOCMD_DISPLAY_REFRESH SET_AUO_COMMAND(0x1004, 0, 0, 1)
#define AUOCMD_DISPLAY_RESET SET_AUO_COMMAND(0x1005, 0, 0, 1)
//#define AUOCMD_LUMINANCE_BALANCE SET_AUO_COMMAND(0x5001, 1, 0, 1)
//#define AUOCMD_AGING_MODE SET_AUO_COMMAND(0x6000, 0, 0, 1)
//#define AUOCMD_AGING_MODE_EXIT SET_AUO_COMMAND(0x6001, 0, 0, 1)
//#define AUOCMD_POWER_CONTROL SET_AUO_COMMAND(0x7000, 2, 0, 1)
#endif
#define AUO_DSPPARAM_FLASH (1 << 15)
#define AUO_DSPPARAM_MODE_GRAYwFLASH (0x00 << 12) /* Mode 0: Gray 4bit With Flash */
@@ -100,8 +148,9 @@ typedef struct sAUOCommand_t
int Epaper_sendCommand(sAUOCommand *cmd);
/* Please, do not use these #define s */
#define GET_COMMAND_PARAM_NUM(command) ((command >> 20) & 0x0F)
#define GET_COMMAND_HAVE_DATA(command) ((command >> 28) & 0x01)
#define GET_COMMAND_NEED_WAIT(command) ((command >> 29) & 0x01)
#define GET_COMMAND_PARAM_NUM(command) ((command >> 20) & 0x0F)
#define GET_COMMAND_HAVE_DATA(command) ((command >> 28) & 0x01)
#define GET_COMMAND_NEED_WAIT(command) ((command >> 29) & 0x01)
#define GET_COMMAND_READ_WRITE(command) ((command >> 30) & 0x01)
#endif /* AUOFB_IOCTL_H */

108
include/linux/cyevent.h Normal file
View File

@@ -0,0 +1,108 @@
// ===========================================================================
// cyio.h
// Copyright (C) 2008-2010 Bookeen - All rights reserved
// ===========================================================================
#define CYIO_EVENT_VERSION 1
typedef struct sCyEvent_t
{
unsigned char type;
unsigned char flags;
unsigned char version; /*** Use for later compatibility */
union
{
unsigned char raw[13];
struct
{
unsigned short x1;
unsigned short y1;
unsigned short x2;
unsigned short y2;
} touch;
struct
{
unsigned char key_ascii;
} key;
} data;
} CyEvent_t;
enum
{
CYEVENT_TYPE_KEY = 'k',
CYEVENT_TYPE_TOUCH = 't',
CYEVENT_TYPE_ACCEL = 'a',
CYEVENT_TYPE_TIMER = 'z',
CYEVENT_TYPE_SYSTEM = 's',
//CYIO_EVENT_ = '',
};
// Key events
#define CYEVENT_KEY_ENTER 'e'
#define CYEVENT_KEY_RIGHT 'r'
#define CYEVENT_KEY_DOWN 'd'
#define CYEVENT_KEY_LEFT 'l'
#define CYEVENT_KEY_UP 'u'
#define CYEVENT_KEY_F1 '1'
#define CYEVENT_KEY_F2 '2'
#define CYEVENT_KEY_F3 '3'
#define CYEVENT_KEY_F4 '4'
#define CYEVENT_KEY_OFF 'o'
#define CYEVENT_KEY_DSLP 's'
#define CYEVENT_KEY_VOLP '+'
#define CYEVENT_KEY_VOLN '-'
#define CYEVENT_KEY_TOGGLE_ACCEL 'a'
#define CYEVENT_KEY_FACTORY_RESET 'f'
/* Flags definitions */
/* Bit 7 to Bit 4 are event type dependent. If the event need more than 4 flags,
* it can use it's own "private" values
*/
/* Key event flags */
#define CYEVENT_FLAG_KEY_CONTROL_CHARS (1 << 7) /*** Signal that the current key is not a real key (ie not an ascii value) */
/* Touch event flags */
#define CYEVENT_FLAG_TOUCH_UP (0x1 << 6)
#define CYEVENT_FLAG_TOUCH_MOVE (0x2 << 6)
#define CYEVENT_FLAG_TOUCH_DOWN (0x3 << 6)
/* System Event */
#define CYEVENT_FLAG_USB_STATE (1 << 7) /*** If not set, the USB is unplugged */
#define CYEVENT_FLAG_AC_STATE (1 << 6) /*** If not set, the AC is unplugged */
#define CYEVENT_FLAG_AC_STATE (1 << 5) /*** If not set, the SD is unplugged */
/* Timer event */
#define CYEVENT_FLAG_TIMER_SCREEN (1 << 7)
#define CYEVENT_FLAG_TIMER_DEVICE (1 << 6)
/* Bit 3 to Bit 2 are reserved (v1) */
#define CYEVENT_FLAG_ENDOFREPEAT (1 << 1)
#define CYEVENT_FLAG_REPEATEVENT (1 << 0)
// ===========================================================================
/* Exported function of CyEvent */
// ===========================================================================
/* TODO: This part should be moved elsewhere... */
// ===========================================================================
/* Non directly CyIO related values, but used for the Accelerometer */
#define G_SENSOR_ON '1'
#define G_SENSOR_OFF '0'
#define G_SENSOR_CAL 'C'
enum
{
CYGSENSOR_STATUS_ENABLED = 0, /** The accelerometer is enabled */
CYGSENSOR_STATUS_DISABLED = 1, /** The accelerometer is disabled */
CYGSENSOR_STATUS_NOTCALIB = 2, /** Not calibrated, or invalid calibration data */
CYGSENSOR_STATUS_CALIBRATED = 3, /** This status should never been read, but it could help to debug */
CYGSENSOR_STATUS_UNKNOWN = 4, /** This status should never been read, but it could help to debug */
CYGSENSOR_STATUS_CHIPDETECTED = 5, /** This status should never been read, used to say if we correctly detected the I²C accelerometer Chip */
CYGSENSOR_STATUS_CRITICALERROR = 6, /** If we are in this status, the G-Sensor is non working: possible cause, defective chip */
CYGSENSOR_STATUS_SUSPENDED = 7, /** The GSENSOR was on, the device go to deepsleep, so we go in this state. */
};

View File

@@ -2,91 +2,53 @@
// cyio.h
// Copyright (C) 2008-2010 Bookeen - All rights reserved
// ===========================================================================
#define CYIO_EVENT_VERSION 1
typedef struct sCyEvent_t
{
unsigned char type;
unsigned char flags;
unsigned char version; /*** Use for later compatibility */
union
{
unsigned char raw[13];
struct
{
unsigned short x1;
unsigned short y1;
unsigned short x2;
unsigned short y2;
} touch;
struct
{
unsigned char key_ascii;
} key;
} data;
} CyEvent_t;
enum
{
CYIO_EVENT_KEY = 'k',
CYIO_EVENT_TOUCH = 't',
CYIO_EVENT_SD = 's',
CYIO_EVENT_ACCEL = 'a',
CYIO_EVENT_TIMER = 'z',
CYIO_EVENT_SYSTEM = 'u',
//CYIO_EVENT_ = '',
};
// Key events
#define CYEVENT_KEY_ENTER 'e'
#define CYEVENT_KEY_RIGHT 'r'
#define CYEVENT_KEY_DOWN 'd'
#define CYEVENT_KEY_LEFT 'l'
#define CYEVENT_KEY_UP 'u'
#define CYEVENT_KEY_F1 '1'
#define CYEVENT_KEY_F2 '2'
#define CYEVENT_KEY_F3 '3'
#define CYEVENT_KEY_F4 '4'
#define CYEVENT_KEY_OFF 'o'
#define CYEVENT_KEY_DSLP 's'
#define CYEVENT_KEY_VOLP '+'
#define CYEVENT_KEY_VOLN '-'
#define CYEVENT_KEY_TOGGLE_ACCEL 'a'
#define CYEVENT_KEY_FACTORY_RESET 'f'
#define CYEVENT_KEY_ENTER 'e'
#define CYEVENT_KEY_RIGHT 'r'
#define CYEVENT_KEY_DOWN 'd'
#define CYEVENT_KEY_LEFT 'l'
#define CYEVENT_KEY_UP 'u'
#define CYEVENT_KEY_F1 '1'
#define CYEVENT_KEY_F2 '2'
#define CYEVENT_KEY_F3 '3'
#define CYEVENT_KEY_F4 '4'
#define CYEVENT_KEY_OFF 'o'
#define CYEVENT_KEY_DSLP 'S'
#define CYEVENT_KEY_VOLP '+'
#define CYEVENT_KEY_VOLN '-'
#define CYEVENT_KEY_REPEAT_FLAG 0x80
#define CYEVENT_KEY_REPEAT_END '0'
// Physical events
#define CYEVENT_USB_IN 'p'
#define CYEVENT_USB_OUT 'q'
#define CYEVENT_AC_IN 'a'
#define CYEVENT_AC_OUT 'b'
#define CYEVENT_ACN_IN 'j'
#define CYEVENT_ACN_OUT 'k'
#define CYEVENT_SD_IN 's'
#define CYEVENT_SD_OUT 't'
#define CYEVENT_SDN_IN 'u'
#define CYEVENT_SDN_OUT 'v'
/* Flags definitions */
/* Bit 7 to Bit 4 are event type dependent. If the event need more than 4 flags,
* it can use it's own "private" values
*/
#define CYEVENT_SPECIAL 0xFE
/* Key event flags */
#define CYEVENT_FLAG_KEY_REPEAT (1 << 7) /*** Signal that this key is repeated */
#define CYEVENT_FLAG_KEY_END_OF_REPEAT (1 << 6) /*** Signal that the repeat is finished */
#define CYEVENT_FLAG_KEY_CONTROL_CHARS (1 << 5) /*** Signal that the current key is not a real key (ie not an ascii value) */
// G-Sensor events
#define CYEVENT_ORIENTATIONCHANGED 'O'
#define CYEVENT_G_ROT000 'A'
#define CYEVENT_G_ROT090 'B'
#define CYEVENT_G_ROT180 'C'
#define CYEVENT_G_ROT270 'D'
#define CYEVENT_TOGGLE_GSENSOR 'G'
/* Touch event flags */
#define CYEVENT_FLAG_TOUCH_UP (0x1 << 6)
#define CYEVENT_FLAG_TOUCH_MOVE (0x2 << 6)
#define CYEVENT_FLAG_TOUCH_DOWN (0x3 << 6)
// Logical events
// CYEVENT_KEY_OFF + CYEVENT_KEY_VOLN
#define CYEVENT_FACTORY_OFF 'x'
#define CYEVENT_SUSPEND_SCREEN 'y'
#define CYEVENT_SUSPEND_DEVICE 'z'
/* System Event */
#define CYEVENT_FLAG_USB_STATE (1 << 7) /*** If not set, the USB is unplugged */
#define CYEVENT_FLAG_AC_STATE (1 << 6) /*** If not set, the AC is unplugged */
#define CYEVENT_FLAG_AC_STATE (1 << 5) /*** If not set, the SD is unplugged */
/* Normaly no more used... */
//#define CYIO_KERNEL_2_6 1
/* Timer event */
#define CYEVENT_FLAG_TIMER_SCREEN (1 << 7)
#define CYEVENT_FLAG_TIMER_DEVICE (1 << 6)
/* Bit 3 to Bit 1 are reserved (v1) */
#define CYEVENT_FLAG_UNIQUEEVENT (1 << 0) /*** Used internaly to prevent other event of the same type to be pushed */
/* TODO: This part should be moved elsewhere... */
// ===========================================================================
/* Non directly CyIO related values, but used for the Accelerometer */
#define G_SENSOR_ON '1'
@@ -104,9 +66,29 @@ enum
CYGSENSOR_STATUS_CRITICALERROR = 6, /** If we are in this status, the G-Sensor is non working: possible cause, defective chip */
CYGSENSOR_STATUS_SUSPENDED = 7, /** The GSENSOR was on, the device go to deepsleep, so we go in this state. */
};
#define SET_IOCTL(c, v) ((c << 8) | (v & 0xFF))
#define CYIO_CTL_LED_CMD SET_IOCTL('C', 'l')
#define CYIO_CTL_USB_STATUS SET_IOCTL('C', 'u')
#define CYIO_CTL_SD_STATUS SET_IOCTL('C', 's')
#define CYIO_CTL_PWRLED_CHANGE 0x002
#define CYIO_CTL_WFILED_CHANGE 0x020
#define CYIO_CTL_BTHLED_CHANGE 0x200
#define CYIO_CTL_PWRLED_SETON (CYIO_CTL_PWRLED_CHANGE | 0x001)
#define CYIO_CTL_WFILED_SETON (CYIO_CTL_WFILED_CHANGE | 0x010)
#define CYIO_CTL_BTHLED_SETON (CYIO_CTL_BTHLED_CHANGE | 0x100)
#define CYIO_CTL_PWRLED_SETOFF (CYIO_CTL_PWRLED_CHANGE | 0x000)
#define CYIO_CTL_WFILED_SETOFF (CYIO_CTL_WFILED_CHANGE | 0x000)
#define CYIO_CTL_BTHLED_SETOFF (CYIO_CTL_BTHLED_CHANGE | 0x000)
// ===========================================================================
/* Exported function of CyIO */
void Cyio_ResetTimer(void);
int __deprecated Cyio_PushEvent(char eventId, char unique); /* Old way */
int Cyio_PushCyEvent(char eventId, char unique);
int Cyio_PushEvent(char eventId, char unique);
// ===========================================================================