/******************************************************************** ** File Name: keypad_mapping_table.h ** ** File Description: ** ** Copyright(c) 2011 Sunplus-prof Technologies - All Rights Reserved ** ** History Information Description ** Date Author Modification ** ********************************************************************/ #ifndef _KEYPAD_MAPPING_TABLE_H_ #define _KEYPAD_MAPPING_TABLE_H_ #include "customize.h" /******************************************************************** Enum ********************************************************************/ /******************************************************************** Const ********************************************************************/ // Keypad related constant typedef enum _KeyIndex_ { KEYINDEX_UP = 0, KEYINDEX_DOWN, KEYINDEX_RIGHT, KEYINDEX_LEFT, KEYINDEX_MENU, KEYINDEX_SOURCE, KEYINDEX_POWER, KEYINDEX_OTHER, }KeyIndex_E; typedef enum _KeyCount_ { KEYCOUNT_5 = 0, KEYCOUNT_7, KEYCOUNT_8, }KeyCount_E; #define keypadNum 8 #define TableNum 1 #define KEYPAD_POSITION1 KEYINDEX_LEFT #define KEYPAD_POSITION2 KEYINDEX_RIGHT #define KEYPAD_POSITION3 KEYINDEX_DOWN #define KEYPAD_POSITION4 KEYINDEX_UP #define KEYPAD_POSITION5 KEYINDEX_MENU #define KEYPAD_POSITION6 KEYINDEX_SOURCE #define KEYPAD_POSITION7 KEYINDEX_POWER #define KEYPAD_POSITION8 KEYINDEX_OTHER #define ACTUAL_KEYPAD_NUM KEYCOUNT_7 #define KEYPAD_ADC_K0 0x4 #define KEYPAD_ADC_K1 0x8 #define KEYPAD_ADC_K2 0x10 #define KEYPAD_ADC_K3 0x20 #define KEYPAD_ADC_K4 0x40 #define KEYPAD_ADC_K5 0x80 #define KEYPAD_ADC_K6 0x1 #define ADC0_POWER_ON_KEY KEYPAD_ADC_K6 #define ADC1_POWER_ON_KEY (KEYPAD_ADC_K6)<<16 #ifdef CONFIG_QSD_CHECK_KP_01 #define KEYPAD_PWR_ON_KEY ADC0_POWER_ON_KEY|ADC1_POWER_ON_KEY #else #define KEYPAD_PWR_ON_KEY ADC0_POWER_ON_KEY #endif /*0~0.33 | 0.33 ~ 0.66 | 0.66 ~ 0.99 | 0.99 ~ 1.32 | 1.32 ~ 1.65 | 1.65V ~ 1.98 | 1.98 ~ 2.31 | 2.31 ~ 2.64 | 2.64 ~ 2.97 */ #define KEYPAD0_VOLTAGE_B0 (0x00) #define KEYPAD0_VOLTAGE_B1 (0x00) #define KEYPAD0_VOLTAGE_B2 (0x00) #define KEYPAD1_VOLTAGE_B0 (0x00) #define KEYPAD1_VOLTAGE_B1 (0x00) #define KEYPAD1_VOLTAGE_B2 (0x00) /******************************************************************************* (CHIP 531) * IC keypad Range setting rules * voltage range(keycode) * 0V ~ 0.33V 0x001 * 0.33V ~ 0.66V 0x002 * 0.66V ~ 0.99V 0x004 * 0.99V ~ 1.32V 0x008 * 1.32V ~ 1.65V 0x010 * 1.65V ~ 1.98V 0x020 * 1.98V ~ 2.31V 0x040 * 2.31V ~ 2.64V 0x080 * 2.64V ~ 2.97V 0x100 * 2.97V ~ 3.3V none ******************************************************************************/ /******************************************************************************* (CHIP 533 or 131) * IC keypad Range setting rules (voltage/3.3) = (register / 255) EX, voltage Dec Hex 0.33V 26 1A 0.66V 51 33 0.99V 77 4D 1.32V 102 66 1.65V 128 80 1.98V 153 99 2.31V 179 B3 2.64V 204 CC 2.97V 230 E6 ******************************************************************************/ //keypad range #define FAC_MLKEY_0_LEVEL 0x5D411715 //0x664D331A //level0~3 #define FAC_MLKEY_4_LEVEL 0xDAC49D7A //0xCCB39980 //level4~7 #define FAC_MLKEY_8_LEVEL 0xdd //0xE6 //level8 #define R_MLKEY_0_LEVEL 0x5D411715 //0x664D331A //level0~3 #define R_MLKEY_4_LEVEL 0xE3C49D7A //0xCCB39980 //level4~7 #define R_MLKEY_8_LEVEL 0xE6 //0xE6 //level8 /******************************************************************** Struct ********************************************************************/ typedef struct { UINT8 bSystemAppIndex; UINT32 dGUIObjIndex; UINT8 bEvent; UINT8 bNewEvent; }KEYPAD_CONVERT_t; typedef struct _KEYPAD_Param_t{ UINT8 u8ADC; UINT16 range; UINT32 Event; }KEYPAD_PARAM_t; typedef struct _KEYPAD_Info_t { KEYPAD_PARAM_t KeypadMap[keypadNum]; UINT32 KPPowerKey; UINT8 KPVrefKey0_b0; UINT8 KPVrefKey0_b1; UINT8 KPVrefKey0_b2; UINT8 KPVrefKey1_b0; UINT8 KPVrefKey1_b1; UINT8 KPVrefKey1_b2; } KEYPAD_Info_t; /******************************************************************** Extern Global Variables ********************************************************************/ extern KEYPAD_PARAM_t KeypadMap_final[keypadNum]; #ifdef SUPPORT_FACTORY_AUTO_TEST extern KEYPAD_PARAM_t KeypadMapFac_final[keypadNum]; #endif extern int Keypad_EventConvert(UINT32 *pbEvent); #endif