Date: | 2011-07-08 13:52:41 (12 years 8 months ago) |
---|---|
Author: | Maarten ter Huurne |
Commit: | ce0911ac6890026c777723e9a86f90533bd7dbb8 |
Message: | MIPS: JZ4740: A320: Debounce microswitch buttons. On the microswitch buttons of the Dingoo A320 (L/R/select/start), it often happens that multiple presses are detected for one actual button press. Specifying a 5 ms debounce interval fixes that issue. I am not sure what the optimum interval length would be, but 5 ms is short enough to not cause problems for gamers and long enough to filter out the glitches. |
Files: |
arch/mips/jz4740/board-a320.c (1 diff) |
Change Details
arch/mips/jz4740/board-a320.c | ||
---|---|---|
257 | 257 | }, |
258 | 258 | }; |
259 | 259 | |
260 | /* TODO(CongoZombie): Figure out a way to reimplement power slider functionality | |
261 | so that existing apps won't break. (Possible that an SDL | |
262 | remapping would fix this, but it is unclear how many apps | |
263 | use other interfaces) | |
264 | Original Dingux used SysRq keys to perform different tasks | |
265 | (restart, backlight, volume etc.) | |
266 | */ | |
267 | /* TODO(CongoZombie): Confirm power slider pin (Booboo's docs seem unsure) */ | |
268 | ||
260 | /* Note that the microswitch buttons need debounce while the rubber buttons | |
261 | * do not need it. | |
262 | */ | |
269 | 263 | static struct gpio_keys_button a320_buttons[] = { |
270 | 264 | /* D-pad up */ { |
271 | .gpio = JZ_GPIO_PORTD(6), | |
272 | .active_low = 1, | |
273 | .code = KEY_UP | |
265 | .gpio = JZ_GPIO_PORTD(6), | |
266 | .active_low = 1, | |
267 | .code = KEY_UP, | |
274 | 268 | }, |
275 | 269 | /* D-pad down */ { |
276 | .gpio = JZ_GPIO_PORTD(27), | |
277 | .active_low = 1, | |
278 | .code = KEY_DOWN | |
270 | .gpio = JZ_GPIO_PORTD(27), | |
271 | .active_low = 1, | |
272 | .code = KEY_DOWN, | |
279 | 273 | }, |
280 | 274 | /* D-pad left */ { |
281 | .gpio = JZ_GPIO_PORTD(5), | |
282 | .active_low = 1, | |
283 | .code = KEY_LEFT | |
275 | .gpio = JZ_GPIO_PORTD(5), | |
276 | .active_low = 1, | |
277 | .code = KEY_LEFT, | |
284 | 278 | }, |
285 | 279 | /* D-pad right */ { |
286 | .gpio = JZ_GPIO_PORTD(18), | |
287 | .active_low = 1, | |
288 | .code = KEY_RIGHT | |
280 | .gpio = JZ_GPIO_PORTD(18), | |
281 | .active_low = 1, | |
282 | .code = KEY_RIGHT, | |
289 | 283 | }, |
290 | 284 | /* A button */ { |
291 | .gpio = JZ_GPIO_PORTD(0), | |
292 | .active_low = 1, | |
293 | .code = KEY_LEFTCTRL | |
285 | .gpio = JZ_GPIO_PORTD(0), | |
286 | .active_low = 1, | |
287 | .code = KEY_LEFTCTRL, | |
294 | 288 | }, |
295 | 289 | /* B button */ { |
296 | .gpio = JZ_GPIO_PORTD(1), | |
297 | .active_low = 1, | |
298 | .code = KEY_LEFTALT | |
290 | .gpio = JZ_GPIO_PORTD(1), | |
291 | .active_low = 1, | |
292 | .code = KEY_LEFTALT, | |
299 | 293 | }, |
300 | 294 | /* X button */ { |
301 | .gpio = JZ_GPIO_PORTD(19), | |
302 | .active_low = 1, | |
303 | .code = KEY_SPACE | |
295 | .gpio = JZ_GPIO_PORTD(19), | |
296 | .active_low = 1, | |
297 | .code = KEY_SPACE, | |
304 | 298 | }, |
305 | 299 | /* Y button */ { |
306 | .gpio = JZ_GPIO_PORTD(2), | |
307 | .active_low = 1, | |
308 | .code = KEY_LEFTSHIFT | |
300 | .gpio = JZ_GPIO_PORTD(2), | |
301 | .active_low = 1, | |
302 | .code = KEY_LEFTSHIFT, | |
309 | 303 | }, |
310 | 304 | /* Left shoulder button */ { |
311 | .gpio = JZ_GPIO_PORTD(14), | |
312 | .active_low = 1, | |
313 | .code = KEY_TAB | |
305 | .gpio = JZ_GPIO_PORTD(14), | |
306 | .active_low = 1, | |
307 | .code = KEY_TAB, | |
308 | .debounce_interval = 5, | |
314 | 309 | }, |
315 | 310 | /* Right shoulder button */ { |
316 | .gpio = JZ_GPIO_PORTD(15), | |
317 | .active_low = 1, | |
318 | .code = KEY_BACKSPACE | |
311 | .gpio = JZ_GPIO_PORTD(15), | |
312 | .active_low = 1, | |
313 | .code = KEY_BACKSPACE, | |
314 | .debounce_interval = 5, | |
319 | 315 | }, |
320 | 316 | /* START button */ { |
321 | .gpio = JZ_GPIO_PORTC(17), | |
322 | .active_low = 1, | |
323 | .code = KEY_ENTER | |
317 | .gpio = JZ_GPIO_PORTC(17), | |
318 | .active_low = 1, | |
319 | .code = KEY_ENTER, | |
320 | .debounce_interval = 5, | |
324 | 321 | }, |
325 | 322 | /* SELECT button */ { |
326 | .gpio = JZ_GPIO_PORTD(17), | |
327 | .active_low = 1, | |
328 | .code = KEY_ESC | |
323 | .gpio = JZ_GPIO_PORTD(17), | |
324 | .active_low = 1, | |
325 | .code = KEY_ESC, | |
326 | .debounce_interval = 5, | |
329 | 327 | }, |
330 | 328 | /* POWER slider */ { |
331 | .gpio = JZ_GPIO_PORTD(29), | |
332 | .active_low = 1, | |
333 | .code = KEY_POWER, | |
334 | .wakeup = 1, | |
329 | .gpio = JZ_GPIO_PORTD(29), | |
330 | .active_low = 1, | |
331 | .code = KEY_POWER, | |
332 | .wakeup = 1, | |
335 | 333 | }, |
336 | 334 | /* POWER hold */ { |
337 | .gpio = JZ_GPIO_PORTD(22), | |
338 | .active_low = 1, | |
339 | .code = KEY_PAUSE | |
335 | .gpio = JZ_GPIO_PORTD(22), | |
336 | .active_low = 1, | |
337 | .code = KEY_PAUSE, | |
340 | 338 | }, |
341 | 339 | }; |
342 | 340 |
Branches:
ben-wpan
ben-wpan-stefan
5396a9238205f20f811ea57898980d3ca82df0b6
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9