FreeCalypso > hg > fc-tourmaline
comparison src/cs/drivers/drv_app/kpd/board/kpd_scan_functions.c @ 279:4dd30fac5933
kpd_scan_functions.c: rm trailing white space
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 23 Sep 2021 23:42:41 +0000 |
parents | 4e78acac3d88 |
children | 82665effff30 |
comparison
equal
deleted
inserted
replaced
278:75758d7a9be3 | 279:4dd30fac5933 |
---|---|
64 #if (BOARD == 7) | 64 #if (BOARD == 7) |
65 #define KP_ROWS 5 | 65 #define KP_ROWS 5 |
66 #define KP_COLS 4 | 66 #define KP_COLS 4 |
67 | 67 |
68 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= | 68 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= |
69 { | 69 { |
70 /* Layout of B-Sample */ | 70 /* Layout of B-Sample */ |
71 {KPD_PKEY_SOFT_LEFT, KPD_PKEY_UP, KPD_PKEY_DOWN, KPD_PKEY_SOFT_RIGHT}, | 71 {KPD_PKEY_SOFT_LEFT, KPD_PKEY_UP, KPD_PKEY_DOWN, KPD_PKEY_SOFT_RIGHT}, |
72 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_GREEN}, | 72 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_GREEN}, |
73 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_NULL}, | 73 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_NULL}, |
74 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL}, | 74 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL}, |
76 }; | 76 }; |
77 #elif ((BOARD == 8) || (BOARD == 9)) | 77 #elif ((BOARD == 8) || (BOARD == 9)) |
78 #define KP_ROWS 5 | 78 #define KP_ROWS 5 |
79 #define KP_COLS 4 | 79 #define KP_COLS 4 |
80 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= | 80 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= |
81 { | 81 { |
82 /* Layout of C-Sample */ | 82 /* Layout of C-Sample */ |
83 {KPD_PKEY_UP, KPD_PKEY_GREEN,KPD_PKEY_SOFT_RIGHT,KPD_PKEY_DOWN}, | 83 {KPD_PKEY_UP, KPD_PKEY_GREEN,KPD_PKEY_SOFT_RIGHT,KPD_PKEY_DOWN}, |
84 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_SOFT_LEFT}, | 84 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_SOFT_LEFT}, |
85 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_NULL}, | 85 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_NULL}, |
86 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL}, | 86 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL}, |
88 }; | 88 }; |
89 #elif defined(CONFIG_TARGET_COMPAL) | 89 #elif defined(CONFIG_TARGET_COMPAL) |
90 #define KP_ROWS 5 | 90 #define KP_ROWS 5 |
91 #define KP_COLS 4 | 91 #define KP_COLS 4 |
92 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= | 92 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= |
93 { | 93 { |
94 /* Mot C1xx keypad */ | 94 /* Mot C1xx keypad */ |
95 {KPD_PKEY_GREEN, KPD_PKEY_3, KPD_PKEY_2, KPD_PKEY_1}, | 95 {KPD_PKEY_GREEN, KPD_PKEY_3, KPD_PKEY_2, KPD_PKEY_1}, |
96 {KPD_PKEY_UP, KPD_PKEY_6, KPD_PKEY_5, KPD_PKEY_4}, | 96 {KPD_PKEY_UP, KPD_PKEY_6, KPD_PKEY_5, KPD_PKEY_4}, |
97 {KPD_PKEY_DOWN, KPD_PKEY_9, KPD_PKEY_8, KPD_PKEY_7}, | 97 {KPD_PKEY_DOWN, KPD_PKEY_9, KPD_PKEY_8, KPD_PKEY_7}, |
98 {KPD_PKEY_LEFT, KPD_PKEY_DIESE, KPD_PKEY_0, KPD_PKEY_STAR}, | 98 {KPD_PKEY_LEFT, KPD_PKEY_DIESE, KPD_PKEY_0, KPD_PKEY_STAR}, |
100 }; | 100 }; |
101 #elif defined(CONFIG_TARGET_PIRELLI) | 101 #elif defined(CONFIG_TARGET_PIRELLI) |
102 #define KP_ROWS 5 | 102 #define KP_ROWS 5 |
103 #define KP_COLS 5 | 103 #define KP_COLS 5 |
104 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= | 104 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= |
105 { | 105 { |
106 /* Pirelli's keypad */ | 106 /* Pirelli's keypad */ |
107 {KPD_PKEY_NAV_CENTER, KPD_PKEY_LEFT, KPD_PKEY_RIGHT, KPD_PKEY_UP, KPD_PKEY_NULL}, | 107 {KPD_PKEY_NAV_CENTER, KPD_PKEY_LEFT, KPD_PKEY_RIGHT, KPD_PKEY_UP, KPD_PKEY_NULL}, |
108 {KPD_PKEY_SOFT_LEFT, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_GREEN, KPD_PKEY_DOWN, KPD_PKEY_VOL_UP}, | 108 {KPD_PKEY_SOFT_LEFT, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_GREEN, KPD_PKEY_DOWN, KPD_PKEY_VOL_UP}, |
109 {KPD_PKEY_3, KPD_PKEY_6, KPD_PKEY_9, KPD_PKEY_DIESE, KPD_PKEY_VOL_DOWN}, | 109 {KPD_PKEY_3, KPD_PKEY_6, KPD_PKEY_9, KPD_PKEY_DIESE, KPD_PKEY_VOL_DOWN}, |
110 {KPD_PKEY_2, KPD_PKEY_5, KPD_PKEY_8, KPD_PKEY_0, KPD_PKEY_REC}, | 110 {KPD_PKEY_2, KPD_PKEY_5, KPD_PKEY_8, KPD_PKEY_0, KPD_PKEY_REC}, |
112 }; | 112 }; |
113 #elif ((BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43)) | 113 #elif ((BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43)) |
114 #define KP_ROWS 5 | 114 #define KP_ROWS 5 |
115 #define KP_COLS 5 | 115 #define KP_COLS 5 |
116 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= | 116 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= |
117 { | 117 { |
118 /* Layout of D-Sample and E-Sample */ | 118 /* Layout of D-Sample and E-Sample */ |
119 {KPD_PKEY_GREEN, KPD_PKEY_VOL_DOWN, KPD_PKEY_VOL_UP,KPD_PKEY_SOFT_LEFT, KPD_PKEY_LEFT}, | 119 {KPD_PKEY_GREEN, KPD_PKEY_VOL_DOWN, KPD_PKEY_VOL_UP,KPD_PKEY_SOFT_LEFT, KPD_PKEY_LEFT}, |
120 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_REC, KPD_PKEY_RIGHT}, | 120 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_REC, KPD_PKEY_RIGHT}, |
121 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_UP}, | 121 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_UP}, |
122 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL, KPD_PKEY_DOWN}, | 122 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL, KPD_PKEY_DOWN}, |
147 | 147 |
148 #if (CHIPSET == 12) | 148 #if (CHIPSET == 12) |
149 | 149 |
150 /** kpd_init_ctrl_reg : Initialize the Control register | 150 /** kpd_init_ctrl_reg : Initialize the Control register |
151 */ | 151 */ |
152 void kpd_init_ctrl_reg(const UINT8 software_nreset, | 152 void kpd_init_ctrl_reg(const UINT8 software_nreset, |
153 const T_KPD_Nsoftware_mode nsoftware_mode, | 153 const T_KPD_Nsoftware_mode nsoftware_mode, |
154 const T_KPD_PTV ptv, | 154 const T_KPD_PTV ptv, |
155 const T_KPD_EnableDetection long_key_process_en, | 155 const T_KPD_EnableDetection long_key_process_en, |
156 const T_KPD_EnableDetection time_out_empty_en, | 156 const T_KPD_EnableDetection time_out_empty_en, |
157 const T_KPD_EnableDetection time_out_long_key_en, | 157 const T_KPD_EnableDetection time_out_long_key_en, |
158 const T_KPD_EnableDetection repeat_mode_en) | 158 const T_KPD_EnableDetection repeat_mode_en) |
159 { | 159 { |
160 volatile UINT16 status_reg; | 160 volatile UINT16 status_reg; |
161 status_reg = *(volatile UINT16*) KBR_STATE_MACHINE_STATUS; | 161 status_reg = *(volatile UINT16*) KBR_STATE_MACHINE_STATUS; |
162 | 162 |
163 if ( (status_reg != KPD_TEST_TIMER_DEBOUNCING) && (status_reg != KPD_TEST_TIMER_LONG_KEY) && | 163 if ( (status_reg != KPD_TEST_TIMER_DEBOUNCING) && (status_reg != KPD_TEST_TIMER_LONG_KEY) && |
164 (status_reg != KPD_TEST_TIMER_TIME_OUT) && (status_reg != KPD_TEST_TIMER_REPEAT_KEY) ) | 164 (status_reg != KPD_TEST_TIMER_TIME_OUT) && (status_reg != KPD_TEST_TIMER_REPEAT_KEY) ) |
165 { | 165 { |
166 | 166 |
167 /* The PTV can be programmed since the timer is not running */ | 167 /* The PTV can be programmed since the timer is not running */ |
168 | 168 |
169 *(volatile UINT16*) KBR_CTRL_REG = (software_nreset | | 169 *(volatile UINT16*) KBR_CTRL_REG = (software_nreset | |
170 nsoftware_mode << 1 | | 170 nsoftware_mode << 1 | |
171 ptv << 2 | | 171 ptv << 2 | |
172 long_key_process_en << 5 | | 172 long_key_process_en << 5 | |
173 time_out_empty_en << 6 | | 173 time_out_empty_en << 6 | |
174 time_out_long_key_en << 7 | | 174 time_out_long_key_en << 7 | |
175 repeat_mode_en << 8); | 175 repeat_mode_en << 8); |
176 } | 176 } |
177 else | 177 else |
178 { | 178 { |
179 | 179 |
180 /* The PTV must not be programmed when the timer is running */ | 180 /* The PTV must not be programmed when the timer is running */ |
181 | 181 |
182 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 0, 1, software_nreset); | 182 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 0, 1, software_nreset); |
183 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 1, 1, nsoftware_mode); | 183 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 1, 1, nsoftware_mode); |
184 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 5, 1, long_key_process_en); | 184 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 5, 1, long_key_process_en); |
187 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 8, 1, repeat_mode_en); | 187 SetGroupBits16(*(volatile unsigned short *)(KBR_CTRL_REG), 8, 1, repeat_mode_en); |
188 } | 188 } |
189 } | 189 } |
190 | 190 |
191 | 191 |
192 /** kpd_software_reset : reset software | 192 /** kpd_software_reset : reset software |
193 */ | 193 */ |
194 void kpd_software_reset(void) | 194 void kpd_software_reset(void) |
195 { | 195 { |
196 volatile UINT16 mem_reg; | 196 volatile UINT16 mem_reg; |
197 | 197 |
198 mem_reg = (*(volatile UINT16*) KBR_CTRL_REG) & 0xFFFE; | 198 mem_reg = (*(volatile UINT16*) KBR_CTRL_REG) & 0xFFFE; |
199 *(volatile UINT16*) KBR_CTRL_REG = mem_reg; | 199 *(volatile UINT16*) KBR_CTRL_REG = mem_reg; |
200 | 200 |
201 } | 201 } |
202 | 202 |
205 */ | 205 */ |
206 void kpd_set_debouncing_time(const UINT8 debouncing_time) | 206 void kpd_set_debouncing_time(const UINT8 debouncing_time) |
207 { | 207 { |
208 | 208 |
209 *(volatile UINT16*) KBR_DEBOUNCING_TIME = debouncing_time; | 209 *(volatile UINT16*) KBR_DEBOUNCING_TIME = debouncing_time; |
210 | 210 |
211 } | 211 } |
212 | 212 |
213 #endif /* #if (CHIPSET == 12) */ | 213 #endif /* #if (CHIPSET == 12) */ |
214 | 214 |
215 | 215 |
223 T_RVF_MB_STATUS mb_status; | 223 T_RVF_MB_STATUS mb_status; |
224 T_KPD_KEY_PRESSED_MSG* msg_key_pressed; | 224 T_KPD_KEY_PRESSED_MSG* msg_key_pressed; |
225 T_KPD_PHYSICAL_KEY_ID key; | 225 T_KPD_PHYSICAL_KEY_ID key; |
226 | 226 |
227 /* Reserve memory for message */ | 227 /* Reserve memory for message */ |
228 mb_status = rvf_get_buf (kpd_env_ctrl_blk->prim_id, sizeof(T_KPD_KEY_PRESSED_MSG), (void **) &msg_key_pressed); | 228 mb_status = rvf_get_buf (kpd_env_ctrl_blk->prim_id, sizeof(T_KPD_KEY_PRESSED_MSG), (void **) &msg_key_pressed); |
229 | 229 |
230 if (mb_status != RVF_RED) /* Memory allocation success */ | 230 if (mb_status != RVF_RED) /* Memory allocation success */ |
231 { | 231 { |
232 /* Fill the message */ | 232 /* Fill the message */ |
233 msg_key_pressed->hdr.msg_id = KPD_KEY_PRESSED_MSG; | 233 msg_key_pressed->hdr.msg_id = KPD_KEY_PRESSED_MSG; |
334 /* | 334 /* |
335 * delay | 335 * delay |
336 * | 336 * |
337 * Wait a while to let bus settle | 337 * Wait a while to let bus settle |
338 * Magic value found by trial and error | 338 * Magic value found by trial and error |
339 * | 339 * |
340 */ | 340 */ |
341 static void delay(void) | 341 static void delay(void) |
342 { | 342 { |
343 volatile int i; | 343 volatile int i; |
344 | 344 |