it66121: update and remove debug log
[firefly-linux-kernel-4.4.55.git] / drivers / video / rockchip / hdmi / chips / cat66121 / cat66121_sys.c
index c8b158228365d29c261f85bb8e4eb668dfd78ddb..11f0f2875efe791670c9cdd77f0c3b414da48834 100644 (file)
-///*****************************************\r
-//  Copyright (C) 2009-2014\r
-//  ITE Tech. Inc. All Rights Reserved\r
-//  Proprietary and Confidential\r
-///*****************************************\r
-//   @file   >cat66121_sys.c<\r
-//   @author Jau-Chih.Tseng@ite.com.tw\r
-//   @date   2009/08/24\r
-//   @fileversion: cat66121_SAMPLEINTERFACE_1.12\r
-//******************************************/\r
-\r
-///////////////////////////////////////////////////////////////////////////////\r
-// This is the sample program for cat66121 driver usage.\r
-///////////////////////////////////////////////////////////////////////////////\r
-\r
-#include "hdmitx.h"\r
-#include "hdmitx_sys.h"\r
-#include "cat66121_hdmi.h"\r
-\r
-#if 0\r
-BYTE HDMITX_ReadI2C_Byte(BYTE RegAddr);\r
-SYS_STATUS HDMITX_WriteI2C_Byte(BYTE RegAddr,BYTE d);\r
-SYS_STATUS HDMITX_ReadI2C_ByteN(BYTE RegAddr,BYTE *pData,int N);\r
-SYS_STATUS HDMITX_WriteI2C_ByteN(BYTE RegAddr,BYTE *pData,int N);\r
-SYS_STATUS HDMITX_SetI2C_Byte(BYTE Reg,BYTE Mask,BYTE Value);\r
-#endif\r
-/* I2C read/write funcs */\r
-BYTE HDMITX_ReadI2C_Byte(BYTE RegAddr)\r
-{\r
-       struct i2c_msg msgs[2];\r
-       SYS_STATUS ret = -1;\r
-       BYTE buf[1];\r
-\r
-       buf[0] = RegAddr;\r
-\r
-       /* Write device addr fisrt */\r
-       msgs[0].addr    = cat66121_hdmi->client->addr;\r
-       msgs[0].flags   = !I2C_M_RD;\r
-       msgs[0].len             = 1;\r
-       msgs[0].buf             = &buf[0];\r
-       msgs[0].scl_rate= 100*1000;\r
-       /* Then, begin to read data */\r
-       msgs[1].addr    = cat66121_hdmi->client->addr;\r
-       msgs[1].flags   = I2C_M_RD;\r
-       msgs[1].len             = 1;\r
-       msgs[1].buf             = &buf[0];\r
-       msgs[1].scl_rate= 100*1000;\r
-       \r
-       ret = i2c_transfer(cat66121_hdmi->client->adapter, msgs, 2);\r
-       if(ret != 2)\r
-               printk("I2C transfer Error! ret = %d\n", ret);\r
-\r
-       //ErrorF("Reg%02xH: 0x%02x\n", RegAddr, buf[0]);\r
-       return buf[0];\r
-}\r
-\r
-SYS_STATUS HDMITX_WriteI2C_Byte(BYTE RegAddr, BYTE data)\r
-{\r
-       struct i2c_msg msg;\r
-       SYS_STATUS ret = -1;\r
-       BYTE buf[2];\r
-\r
-       buf[0] = RegAddr;\r
-       buf[1] = data;\r
-\r
-       msg.addr        = cat66121_hdmi->client->addr;\r
-       msg.flags       = !I2C_M_RD;\r
-       msg.len         = 2;\r
-       msg.buf         = buf;          \r
-       msg.scl_rate= 100*1000;\r
-       \r
-       ret = i2c_transfer(cat66121_hdmi->client->adapter, &msg, 1);\r
-       if(ret != 1)\r
-               printk("I2C transfer Error!\n");\r
-\r
-       return ret;\r
-}\r
-\r
-SYS_STATUS HDMITX_ReadI2C_ByteN(BYTE RegAddr, BYTE *pData, int N)\r
-{\r
-       struct i2c_msg msgs[2];\r
-       SYS_STATUS ret = -1;\r
-\r
-       pData[0] = RegAddr;\r
-\r
-       msgs[0].addr    = cat66121_hdmi->client->addr;\r
-       msgs[0].flags   = !I2C_M_RD;\r
-       msgs[0].len             = 1;\r
-       msgs[0].buf             = &pData[0];\r
-       msgs[0].scl_rate= 100*1000;\r
-\r
-       msgs[1].addr    = cat66121_hdmi->client->addr;\r
-       msgs[1].flags   = I2C_M_RD;\r
-       msgs[1].len             = N;\r
-       msgs[1].buf             = pData;\r
-       msgs[1].scl_rate= 100*1000;\r
-       \r
-       ret = i2c_transfer(cat66121_hdmi->client->adapter, msgs, 2);\r
-       if(ret != 2)\r
-               printk("I2C transfer Error! ret = %d\n", ret);\r
-\r
-       return ret;\r
-}\r
-\r
-SYS_STATUS HDMITX_WriteI2C_ByteN(BYTE RegAddr, BYTE *pData, int N)\r
-{\r
-       struct i2c_msg msg;\r
-       SYS_STATUS ret = -1;\r
-       BYTE buf[N + 1];\r
-\r
-       buf[0] = RegAddr;\r
-    memcpy(&buf[1], pData, N);\r
-\r
-       msg.addr        = cat66121_hdmi->client->addr;\r
-       msg.flags       = !I2C_M_RD;\r
-       msg.len         = N + 1;\r
-       msg.buf         = buf;          // gModify.Exp."Include RegAddr"\r
-       msg.scl_rate= 100*1000;\r
-       \r
-       ret = i2c_transfer(cat66121_hdmi->client->adapter, &msg, 1);\r
-       if(ret != 1)\r
-               printk("I2C transfer Error! ret = %d\n", ret);\r
-\r
-       return ret;\r
-}\r
-static int cat66121_hdmi_i2c_read_reg(char reg, char *val)\r
-{\r
-       if(i2c_master_reg8_recv(cat66121_hdmi->client, reg, val, 1, 100*1000) > 0)\r
-               return  0;\r
-       else {\r
-               printk("[%s] reg %02x error\n", __FUNCTION__, reg);\r
-               return -EINVAL;\r
-       }\r
-}\r
-/*******************************\r
- * Global Data\r
- ******************************/\r
-\r
-/*******************************\r
- * Functions\r
- ******************************/\r
-int cat66121_detect_device(void)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       return 0;\r
-}\r
-\r
-int cat66121_sys_init(struct hdmi *hdmi)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       InitHDMITX_Variable();\r
-       InitHDMITX();\r
-       HDMITX_ChangeDisplayOption(HDMI_720p60,HDMI_RGB444) ;\r
-            HDMITX_DevLoopProc();\r
-       return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-int cat66121_sys_unplug(struct hdmi *hdmi)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-int cat66121_sys_detect_hpd(struct hdmi *hdmi, int *hpdstatus)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-    *hpdstatus = TRUE;\r
-    \r
-    return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-int cat66121_sys_detect_sink(struct hdmi *hdmi, int *sink_status)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-    *sink_status = TRUE;\r
-    return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-int cat66121_sys_read_edid(struct hdmi *hdmi, int block, unsigned char *buff)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-static void cat66121_sys_config_avi(int VIC, int bOutputColorMode, int aspec, int Colorimetry, int pixelrep)\r
-{\r
-}\r
-\r
-int cat66121_sys_config_video(struct hdmi *hdmi, int vic, int input_color, int output_color)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-            HDMITX_DevLoopProc();\r
-       return HDMI_ERROR_SUCESS ;\r
-}\r
-\r
-static void cat66121_sys_config_aai(void)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-}\r
-\r
-int cat66121_sys_config_audio(struct hdmi *hdmi, struct hdmi_audio *audio)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-int cat66121_sys_config_hdcp(struct hdmi *hdmi, int enable)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       return HDMI_ERROR_SUCESS;\r
-}\r
-\r
-int cat66121_sys_enalbe_output(struct hdmi *hdmi, int enable)\r
-{\r
-       printk(">>>%s \n",__func__);\r
-       return HDMI_ERROR_SUCESS;\r
-}\r
+///*****************************************
+//  Copyright (C) 2009-2014
+//  ITE Tech. Inc. All Rights Reserved
+//  Proprietary and Confidential
+///*****************************************
+//   @file   >cat66121_sys.c<
+//   @author Jau-Chih.Tseng@ite.com.tw
+//   @date   2009/08/24
+//   @fileversion: cat66121_SAMPLEINTERFACE_1.12
+//******************************************/
+
+///////////////////////////////////////////////////////////////////////////////
+// This is the sample program for cat66121 driver usage.
+///////////////////////////////////////////////////////////////////////////////
+
+#include "hdmitx.h"
+#include "hdmitx_sys.h"
+#include "cat66121_hdmi.h"
+
+#if 0
+BYTE HDMITX_ReadI2C_Byte(BYTE RegAddr);
+SYS_STATUS HDMITX_WriteI2C_Byte(BYTE RegAddr,BYTE d);
+SYS_STATUS HDMITX_ReadI2C_ByteN(BYTE RegAddr,BYTE *pData,int N);
+SYS_STATUS HDMITX_WriteI2C_ByteN(BYTE RegAddr,BYTE *pData,int N);
+SYS_STATUS HDMITX_SetI2C_Byte(BYTE Reg,BYTE Mask,BYTE Value);
+#endif
+/* I2C read/write funcs */
+BYTE HDMITX_ReadI2C_Byte(BYTE RegAddr)
+{
+       struct i2c_msg msgs[2];
+       SYS_STATUS ret = -1;
+       BYTE buf[1];
+
+       buf[0] = RegAddr;
+
+       /* Write device addr fisrt */
+       msgs[0].addr    = cat66121_hdmi->client->addr;
+       msgs[0].flags   = !I2C_M_RD;
+       msgs[0].len             = 1;
+       msgs[0].buf             = &buf[0];
+       msgs[0].scl_rate= 100*1000;
+       /* Then, begin to read data */
+       msgs[1].addr    = cat66121_hdmi->client->addr;
+       msgs[1].flags   = I2C_M_RD;
+       msgs[1].len             = 1;
+       msgs[1].buf             = &buf[0];
+       msgs[1].scl_rate= 100*1000;
+       
+       ret = i2c_transfer(cat66121_hdmi->client->adapter, msgs, 2);
+       if(ret != 2)
+               printk("I2C transfer Error! ret = %d\n", ret);
+
+       //ErrorF("Reg%02xH: 0x%02x\n", RegAddr, buf[0]);
+       return buf[0];
+}
+
+SYS_STATUS HDMITX_WriteI2C_Byte(BYTE RegAddr, BYTE data)
+{
+       struct i2c_msg msg;
+       SYS_STATUS ret = -1;
+       BYTE buf[2];
+
+       buf[0] = RegAddr;
+       buf[1] = data;
+
+       msg.addr        = cat66121_hdmi->client->addr;
+       msg.flags       = !I2C_M_RD;
+       msg.len         = 2;
+       msg.buf         = buf;          
+       msg.scl_rate= 100*1000;
+       
+       ret = i2c_transfer(cat66121_hdmi->client->adapter, &msg, 1);
+       if(ret != 1)
+               printk("I2C transfer Error!\n");
+
+       return ret;
+}
+
+SYS_STATUS HDMITX_ReadI2C_ByteN(BYTE RegAddr, BYTE *pData, int N)
+{
+       struct i2c_msg msgs[2];
+       SYS_STATUS ret = -1;
+
+       pData[0] = RegAddr;
+
+       msgs[0].addr    = cat66121_hdmi->client->addr;
+       msgs[0].flags   = !I2C_M_RD;
+       msgs[0].len             = 1;
+       msgs[0].buf             = &pData[0];
+       msgs[0].scl_rate= 100*1000;
+
+       msgs[1].addr    = cat66121_hdmi->client->addr;
+       msgs[1].flags   = I2C_M_RD;
+       msgs[1].len             = N;
+       msgs[1].buf             = pData;
+       msgs[1].scl_rate= 100*1000;
+       
+       ret = i2c_transfer(cat66121_hdmi->client->adapter, msgs, 2);
+       if(ret != 2)
+               printk("I2C transfer Error! ret = %d\n", ret);
+
+       return ret;
+}
+
+SYS_STATUS HDMITX_WriteI2C_ByteN(BYTE RegAddr, BYTE *pData, int N)
+{
+       struct i2c_msg msg;
+       SYS_STATUS ret = -1;
+       BYTE buf[N + 1];
+
+       buf[0] = RegAddr;
+    memcpy(&buf[1], pData, N);
+
+       msg.addr        = cat66121_hdmi->client->addr;
+       msg.flags       = !I2C_M_RD;
+       msg.len         = N + 1;
+       msg.buf         = buf;          // gModify.Exp."Include RegAddr"
+       msg.scl_rate= 100*1000;
+       
+       ret = i2c_transfer(cat66121_hdmi->client->adapter, &msg, 1);
+       if(ret != 1)
+               printk("I2C transfer Error! ret = %d\n", ret);
+
+       return ret;
+}
+static int cat66121_hdmi_i2c_read_reg(char reg, char *val)
+{
+       if(i2c_master_reg8_recv(cat66121_hdmi->client, reg, val, 1, 100*1000) > 0)
+               return  0;
+       else {
+               printk("[%s] reg %02x error\n", __FUNCTION__, reg);
+               return -EINVAL;
+       }
+}
+/*******************************
+ * Global Data
+ ******************************/
+
+/*******************************
+ * Functions
+ ******************************/
+int cat66121_detect_device(void)
+{
+       printk(">>>%s \n",__func__);
+       return 0;
+}
+
+int cat66121_sys_init(struct hdmi *hdmi)
+{
+       printk(">>>%s \n",__func__);
+       InitHDMITX_Variable();
+       InitHDMITX();
+       HDMITX_ChangeDisplayOption(HDMI_720p60,HDMI_RGB444) ;
+            HDMITX_DevLoopProc();
+       return HDMI_ERROR_SUCESS;
+}
+
+int cat66121_sys_unplug(struct hdmi *hdmi)
+{
+       printk(">>>%s \n",__func__);
+       return HDMI_ERROR_SUCESS;
+}
+
+int cat66121_sys_detect_hpd(struct hdmi *hdmi, int *hpdstatus)
+{
+       printk(">>>%s \n",__func__);
+    *hpdstatus = TRUE;
+    
+    return HDMI_ERROR_SUCESS;
+}
+
+int cat66121_sys_detect_sink(struct hdmi *hdmi, int *sink_status)
+{
+       printk(">>>%s \n",__func__);
+    *sink_status = TRUE;
+    return HDMI_ERROR_SUCESS;
+}
+
+int cat66121_sys_read_edid(struct hdmi *hdmi, int block, unsigned char *buff)
+{
+       printk(">>>%s \n",__func__);
+       return HDMI_ERROR_SUCESS;
+}
+
+static void cat66121_sys_config_avi(int VIC, int bOutputColorMode, int aspec, int Colorimetry, int pixelrep)
+{
+}
+
+int cat66121_sys_config_video(struct hdmi *hdmi, int vic, int input_color, int output_color)
+{
+       printk(">>>%s \n",__func__);
+            HDMITX_DevLoopProc();
+       return HDMI_ERROR_SUCESS ;
+}
+
+static void cat66121_sys_config_aai(void)
+{
+       printk(">>>%s \n",__func__);
+}
+
+int cat66121_sys_config_audio(struct hdmi *hdmi, struct hdmi_audio *audio)
+{
+       printk(">>>%s \n",__func__);
+       return HDMI_ERROR_SUCESS;
+}
+
+int cat66121_sys_config_hdcp(struct hdmi *hdmi, int enable)
+{
+       printk(">>>%s \n",__func__);
+       return HDMI_ERROR_SUCESS;
+}
+
+int cat66121_sys_enalbe_output(struct hdmi *hdmi, int enable)
+{
+       printk(">>>%s \n",__func__);
+       return HDMI_ERROR_SUCESS;
+}