upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / input / touchscreen / mcs8000_download.h
1 //--------------------------------------------------------\r
2 //\r
3 //\r
4 //      Melfas MMS100 Series Download base v1.0 2010.04.05\r
5 //\r
6 //\r
7 //--------------------------------------------------------\r
8 \r
9 \r
10 #ifndef __MELFAS_FIRMWARE_DOWNLOAD_H__\r
11 #define __MELFAS_FIRMWARE_DOWNLOAD_H__\r
12 \r
13 \r
14 \r
15 //=====================================================================\r
16 //\r
17 //   MELFAS Firmware download pharameters\r
18 //\r
19 //=====================================================================\r
20 \r
21 #define MELFAS_TRANSFER_LENGTH                                  (32/8)          // Fixed value\r
22 #define MELFAS_FIRMWARE_MAX_SIZE                                (32*1024)\r
23 \r
24 #define MELFAS_2CHIP_DOWNLOAD_ENABLE                0       // 0 : 1Chip Download, 1: 2Chip Download\r
25 \r
26 //----------------------------------------------------\r
27 //   ISP Mode\r
28 //----------------------------------------------------\r
29 #define ISP_MODE_ERASE_FLASH                                    0x01\r
30 #define ISP_MODE_SERIAL_WRITE                                   0x02\r
31 #define ISP_MODE_SERIAL_READ                                    0x03\r
32 #define ISP_MODE_NEXT_CHIP_BYPASS                               0x04\r
33 \r
34 \r
35 //----------------------------------------------------\r
36 //   Return values of download function\r
37 //----------------------------------------------------\r
38 #define MCSDL_RET_SUCCESS                                               0x00\r
39 #define MCSDL_RET_ERASE_FLASH_VERIFY_FAILED             0x01\r
40 #define MCSDL_RET_PROGRAM_VERIFY_FAILED                 0x02\r
41 \r
42 #define MCSDL_RET_PROGRAM_SIZE_IS_WRONG                 0x10\r
43 #define MCSDL_RET_VERIFY_SIZE_IS_WRONG                  0x11\r
44 #define MCSDL_RET_WRONG_BINARY                                  0x12\r
45 \r
46 #define MCSDL_RET_READING_HEXFILE_FAILED                0x21\r
47 #define MCSDL_RET_FILE_ACCESS_FAILED                    0x22\r
48 #define MCSDL_RET_MELLOC_FAILED                                 0x23\r
49 \r
50 #define MCSDL_RET_WRONG_MODULE_REVISION                 0x30\r
51 \r
52 \r
53 //----------------------------------------------------\r
54 //      When you can't control VDD nor CE.\r
55 //      Set this value 1\r
56 //      Then Melfas Chip can prepare chip reset.\r
57 //----------------------------------------------------\r
58 \r
59 #define MELFAS_USE_PROTOCOL_COMMAND_FOR_DOWNLOAD        0                                                       // If 'enable download command' i s needed ( Pinmap dependent option ).\r
60 \r
61 //============================================================\r
62 //\r
63 //      Port setting. ( Melfas preset this value. )\r
64 //\r
65 //============================================================\r
66 \r
67 // If want to set Enable : Set to 1\r
68 \r
69 #define MCSDL_USE_CE_CONTROL                                            1\r
70 #define MCSDL_USE_VDD_CONTROL                                           1\r
71 #define MCSDL_USE_RESETB_CONTROL                    1\r
72 \r
73 void mcsdl_vdd_on(void);\r
74 void mcsdl_vdd_off(void);\r
75 \r
76 #if 0\r
77 #define GPIO_TOUCH_INT  19\r
78 #define GPIO_I2C0_SCL   30\r
79 #define GPIO_I2C0_SDA   29\r
80 #endif\r
81 \r
82 /* Touch Screen Interface Specification Multi Touch (V0.5) */\r
83 \r
84 /* REGISTERS */\r
85 #define MCSTS_STATUS_REG        0x00 //Status\r
86 #define MCSTS_MODE_CONTROL_REG  0x01 //Mode Control\r
87 #define MCSTS_RESOL_HIGH_REG    0x02 //Resolution(High Byte)\r
88 #define MCSTS_RESOL_X_LOW_REG   0x08 //Resolution(X Low Byte)\r
89 #define MCSTS_RESOL_Y_LOW_REG   0x0a //Resolution(Y Low Byte)\r
90 #define MCSTS_INPUT_INFO_REG    0x10 //Input Information\r
91 #define MCSTS_POINT_HIGH_REG    0x11 //Point(High Byte)\r
92 #define MCSTS_POINT_X_LOW_REG   0x12 //Point(X Low Byte)\r
93 #define MCSTS_POINT_Y_LOW_REG   0x13 //Point(Y Low Byte)\r
94 #define MCSTS_STRENGTH_REG      0x14 //Strength\r
95 #define MCSTS_MODULE_VER_REG    0x30 //H/W Module Revision\r
96 #define MCSTS_FIRMWARE_VER_REG  0x31 //F/W Version\r
97 \r
98 \r
99 \r
100 //============================================================\r
101 //\r
102 //      Porting factors for Baseband\r
103 //\r
104 //============================================================\r
105 \r
106 #include "mcs8000_download_porting.h"\r
107 \r
108 \r
109 //----------------------------------------------------\r
110 //      Functions\r
111 //----------------------------------------------------\r
112 \r
113 int mcsdl_download_binary_data(void);                   // with binary type .c   file.\r
114 int mcsdl_download_binary_file(void);                   // with binary type .bin file.\r
115 \r
116 #if MELFAS_ENABLE_DELAY_TEST                                    // For initial porting test.\r
117 void mcsdl_delay_test(INT32 nCount);\r
118 #endif\r
119 \r
120 \r
121 #endif          //#ifndef __MELFAS_FIRMWARE_DOWNLOAD_H__\r
122 \r