1
0
Fork 0
forked from len0rd/rockbox

ipod 4g/color: Fix unresponsive buttons after booting

The iPod 4g and color always ignored the very first
button press after booting, i.e. you needed to either
press another button or scroll for a bit first.

Not sure whether any other PP iPods exhibit the same
behavior, although it is not reproducible on an iPod
video.

This patch basically copies the code from FS#5230
that fixed unresponsive buttons whenever the HOLD
switch was turned off (committed as a5961c944b).

Change-Id: I8d3444094e5d000e0f8e30e39a23f054abeeb0f5
This commit is contained in:
Christian Soffke 2024-10-13 11:25:17 +02:00
parent 05194ec6eb
commit 152ec1946c

View file

@ -328,6 +328,12 @@ void button_init_device(void)
{ {
opto_i2c_init(); opto_i2c_init();
/* fixes first button press being ignored */
#if defined(IPOD_4G) || defined(IPOD_COLOR)
outl(inl(0x7000c100) & ~0x60000000, 0x7000c100);
outl(inl(0x7000c104) | 0x04000000, 0x7000c104);
outl(inl(0x7000c100) | 0x60000000, 0x7000c100);
#endif
/* hold button - enable as input */ /* hold button - enable as input */
GPIOA_ENABLE |= 0x20; GPIOA_ENABLE |= 0x20;
GPIOA_OUTPUT_EN &= ~0x20; GPIOA_OUTPUT_EN &= ~0x20;