zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/cp/ps/driver/inc/io/drvs_io_lcd.h b/cp/ps/driver/inc/io/drvs_io_lcd.h
new file mode 100644
index 0000000..7973e22
--- /dev/null
+++ b/cp/ps/driver/inc/io/drvs_io_lcd.h
@@ -0,0 +1,135 @@
+/***********************************************************************

+* Copyright (C) 2014, ZTE Corporation.

+* 

+* File Name: drvs_io_lcd.h

+* File Mark:  	

+* Description:  lcd define.

+* Others:  	

+* Version:  1.0

+* Author:   YinWenguan

+* Date:      2014-11-11

+* 

+* History 1:  		

+*     Date: 

+*     Version:

+*     Author: 

+*     Modification:  

+

+* History 2: 

+**********************************************************************/

+

+#ifndef    _DRVS_IO_LCD_H_

+#define    _DRVS_IO_LCD_H_

+#include "drvs_vou.h"

+#include "drvs_vou_ref.h"

+

+/*************************************************************************

+  *                                  Include files                                                                         *

+  *************************************************************************/

+

+

+/*************************************************************************

+  *                                  Macro                                                                                  *

+  *************************************************************************/

+

+/**************************************************************************

+ *                                  Types                                                                                   *

+ **************************************************************************/

+typedef enum

+{

+    LCD_DCX_CMD = 0,    // µÍµçƽÃüÁî

+    LCD_DCX_DATA,       // ¸ßµçƽ²ÎÊý»òÊý¾Ý

+

+    MAX_LCD_DCX_TYPE

+} T_ZDrvLcd_DcxType; // transmission byte type

+

+typedef enum 

+{

+    LCD_XFER_POLL = 0, // ÂÖѯ·½Ê½

+    LCD_XFER_INT,       // ÖжϷ½Ê½

+    LCD_XFER_DMA,   // DMA·½Ê½

+    LCD_XFER_CPU,

+    

+    MAX_LCD_XFER_TYPE

+} T_ZDrvLcd_XferType;

+

+/* lcd mode */

+typedef enum

+{

+    LCD_NORMAL,        /* normal mode */

+    LCD_SLEEP,          /* sleep mode */

+

+    MAX_LCD_MODE

+} T_ZDrvLcd_Mode;

+

+/* lcd instance */

+typedef struct

+{

+    BOOL                        bOpen;  /* status: open, close */

+    T_ZDrvLcd_Mode          eMode;    /* working mode: normal, sleep */

+    T_ZDrvLcd_XferType      eXferType; /* poll, interrupt or DMA */

+    T_ZDrvLcd_DcxType       eDcxType; /* command or parameter/data */

+    ZOSS_MUTEX_ID           mutexUpdate; /* mutex for updating rectangle */

+    ZOSS_SEMAPHORE_ID   semDmaInt; /* semaphore for DMA transimision */

+} T_ZDrvLcd_Instance;

+

+#if IOKEYS(IOCTL_LCD_UPDATE)

+typedef struct

+{

+    UINT16 uiLeft;

+    UINT16 uiTop;

+    UINT16 uiWidth;

+    UINT16 uiHeight;

+    UINT8* pBuf;

+} T_ZDrvLcd_DisplayParam;

+#endif

+

+#if IOKEYS(IOCTL_LCD_SLEEP)

+typedef enum

+{

+    LCD_SLEEP_OUT = 0,

+    LCD_SLEEP_IN,

+    

+} T_ZDrvLcd_SleepStatus;

+#endif

+

+#if IOKEYS(IOCTL_LCD_BACKLIGHT)

+typedef enum

+{

+    LCD_BACKLIGHT_OFF = 0,

+    LCD_BACKLIGHT_ON,

+    

+} T_ZDrvLcd_BacklightStatus;

+#endif

+

+#if IOKEYS(IOCTL_LCD_BRIGHTNESS)

+typedef unsigned int T_ZDrvLcd_Brightness; /* [0, 255]: 0 - darkest; 255 - brightest */

+#endif

+

+#if IOKEYS(IOCTL_LCD_GET_INFO)

+typedef struct

+{

+    UINT16  width;

+    UINT16  height;

+    UINT16  bitsPerPixel;

+    UINT16  rMask;

+    UINT16  gMask;

+    UINT16  bMask;

+    UINT16  lcd_pow_st;

+    UINT16  lcd_pix_st;   

+    T_ZDrvLcd_Instance instance;

+    T_ZDrvLcd_BacklightStatus backlight;

+    T_ZDrvLcd_Brightness brightness;

+

+} T_ZDrvLcd_Info;

+

+typedef struct

+{

+    T_ZDrv_OSDInfo *OSD_Info;

+	T_ZDrvLcd_Info *Lcd_Info;

+

+}T_ZDrv_LCDVOUInfo;

+

+#endif

+

+#endif