123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #ifndef _EPAPER_H_
- #define _EPAPER_H_
- //#define EPAPER_BOOT_CODE
- #ifdef EPAPER_BOOT_CODE
- #define AUO_EPAPER_6_INCH
- //#define AUO_EPAPER_9_INCH
- #else //kernel
- #ifdef CONFIG_FB_AUOEPAPER_6
- #define AUO_EPAPER_6_INCH
- #else
- #define AUO_EPAPER_9_INCH
- #endif
- #endif
- #if defined(AUO_EPAPER_6_INCH)
- #define AUO_EPAPER_PHYSICAL_H_RESOLUTION 800 //physical resolution
- #define AUO_EPAPER_PHYSICAL_V_RESOLUTION 600 //physical resolution
- #elif defined(AUO_EPAPER_9_INCH)
- #define AUO_EPAPER_PHYSICAL_H_RESOLUTION 1024 //physical resolution
- #define AUO_EPAPER_PHYSICAL_V_RESOLUTION 768 //physical resolution
- #endif
- typedef unsigned int DispErrorCode_t;
- typedef enum
- {
- DISP_SUCCESS = 0,
- DISP_TIMEOUT
- }E_DISP_ERROR_CODE;
- // AUO EPEPER COMMAND
- #define AUO_EPAPER_CMD_INIT 0x0000
- #define AUO_EPAPER_CMD_STANDBY 0x0001
- #define AUO_EPAPER_CMD_WAKEUP 0x0002
- #define AUO_EPAPER_CMD_FULLDISP 0x1000
- #define AUO_EPAPER_CMD_PARTIALDISP 0x1001
- #define AUO_EPAPER_CMD_STOP 0x1002
- #define AUO_EPAPER_CMD_LUT_START 0x1003
- #define AUO_EPAPER_CMD_REFRESH 0x1004
- #define AUO_EPAPER_CMD_RESET 0x1005
- #define AUO_EPAPER_CMD_ROTATION 0x1006
- #define AUO_EPAPER_CMD_LUT_STOP 0x1009
- #define AUO_EPAPER_CMD_PRE_DISPLAY_START 0x100D
- #define AUO_EPAPER_CMD_PRE_DISPLAY_STOP 0x100F
- #define AUO_EPAPER_CMD_FLASH_W 0x2000
- #define AUO_EPAPER_CMD_FLASH_E 0x2001
- #define AUO_EPAPER_CMD_FLASH_STS 0x2002
- #define AUO_EPAPER_CMD_FRAMERATE 0x3000
- #define AUO_EPAPER_CMD_TEMPER 0x4000
- #define AUO_EPAPER_CMD_DRIVERTIMING 0x5000
- #define AUO_EPAPER_CMD_LBALANCE 0x4000
- #define AUO_EPAPER_CMD_LUT_READ 0x4003
- #define AUO_EPAPER_CMD_AGINGMODE 0x6000
- #define AUO_EPAPER_CMD_AGINGEXIT 0x6001
- // AUO EPAPER PARA
- #define PARTIAL_DSP_MODE_0 (0x0)
- #define PARTIAL_DSP_MODE_1 (0x1)
- #define PARTIAL_DSP_MODE_2 (0x2)
- #define PARTIAL_DSP_MODE_3 (0x3) //Scroll Mode
- #define PARTIAL_DSP_MODE_4 (0x4) //Handwriting
- #define PARTIAL_DSP_MODE_0_NF (0x8)
- #define PARTIAL_DSP_MODE_1_NF (0x9)
- #define PARTIAL_DSP_MODE_2_NF (0xA)
- #define PARTIAL_DSP_MODE_3_NF (0xB)
- #define PARTIAL_DSP_MODE_4_W (0xC)
- #define PARTIAL_DSP_MODE (PARTIAL_DSP_MODE_0<<12)
- typedef struct T_DISPLAY_REGION_TAG
- {
- int X;
- int Y;
- int W;
- int H;
- } T_DISPLAY_REGION, *T_DISPLAY_REGION_P;
- typedef struct T_DISPLAY_FRAME_TAG
- {
- unsigned short u16EpaperCommand;
- T_DISPLAY_REGION tFrameRange;
- unsigned short* pFrameData;
- } T_DISPLAY_FRAME, *T_DISPLAY_FRAME_P;
- //functions
- void Epaper_SetLcdPort(void);
- int Epaper_Disp(T_DISPLAY_FRAME tFrame);
- int is_Epaper_Write_Ready(void);
- int is_Epaper_Write_Ready_No_Wait(void);
- int is_Epaper_Write_Ready_Wait(unsigned long waitTime); //ms
- void Epaper_Set_Partial_Update_Mode(int mode);
- int Epaper_Get_Partial_Update_Mode(void);
- void Epaper_Set_Resolution(int h_res, int v_res);
- void Epaper_Enter_Standby_Mode(int isEnter);
- void Epaper_Enter_Sleep_Mode(int isEnter);
- void Epaper_Power(int isEnable);
- int Epaper_Init(int h_Res, int v_Res, int temp_ave, int data_filter, int rotation, int data_inverse, int inputdata_arrangement, int outputdata_arrangement,int UD, int SHL);
- void EPaper_CloseLcdPort(void);
- void Epaper_Read_R_TEMP(unsigned short* val0, unsigned short* val1, unsigned short* val2, unsigned short* val3);
- void Epaper_Display_Refresh(void);
- int Epaper_Update_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
- int Epaper_Read_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
- void Epaper_Reset(void);
- void Epaper_Clean_Panel(void);
- void Epaper_Show_Progress(int percent);
- int Epaper_Pre_DMA_Disp_Start(T_DISPLAY_FRAME tFrame);
- int Epaper_Pre_DMA_Disp_Stop(T_DISPLAY_FRAME tFrame);
- #ifdef EPAPER_BOOT_CODE
- #else //KERNEL
- void Epaper_Draw_Point(int x, int y);
- void Epaper_Shutdown_Logo(void);
- #endif
- #endif
|