forked from len0rd/rockbox
Fuzev2: fix screen corruption
Revive the delay removed by r25636 (and make it longer so it works when boosted) Also read GPIOA pins 7 & 6 in one load git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25722 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3925cfeede
commit
7e7b3c5ab3
1 changed files with 10 additions and 19 deletions
|
|
@ -38,29 +38,15 @@ void button_init_device(void)
|
||||||
GPIOB_PIN(4) = 1<<4; /* activate the wheel */
|
GPIOB_PIN(4) = 1<<4; /* activate the wheel */
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned read_GPIOA_67(void)
|
|
||||||
{
|
|
||||||
unsigned ret = 0;
|
|
||||||
volatile int i;
|
|
||||||
DBOP_CTRL |= 1<<19;
|
|
||||||
for(i = 20; i; i--) nop;
|
|
||||||
GPIOA_DIR &= ~0xc0;
|
|
||||||
for(i = 20; i; i--) nop;
|
|
||||||
if (GPIOA_PIN(6) != 0)
|
|
||||||
ret = 1<<0;
|
|
||||||
for(i = 20; i; i--) nop;
|
|
||||||
if (GPIOA_PIN(7) != 0)
|
|
||||||
ret |= 1<<1;
|
|
||||||
DBOP_CTRL &= ~(1<<19);
|
|
||||||
for(i = 20; i; i--) nop;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
void get_scrollwheel(void)
|
void get_scrollwheel(void)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_SCROLLWHEEL) && !defined(BOOTLOADER)
|
#if defined(HAVE_SCROLLWHEEL) && !defined(BOOTLOADER)
|
||||||
/* scroll wheel handling */
|
/* scroll wheel handling */
|
||||||
scrollwheel(read_GPIOA_67());
|
|
||||||
|
#define GPIOA_PIN76_offset ((1<<(6+2)) | (1<<(7+2)))
|
||||||
|
#define GPIOA_PIN76 (*(volatile unsigned char*)(GPIOA_BASE+GPIOA_PIN76_offset))
|
||||||
|
scrollwheel(GPIOA_PIN76 >> 6);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -77,6 +63,11 @@ int button_read_device(void)
|
||||||
static long power_counter = 0;
|
static long power_counter = 0;
|
||||||
unsigned gpiod6;
|
unsigned gpiod6;
|
||||||
|
|
||||||
|
/* if we remove this delay, we see screen corruption (the higher the CPU
|
||||||
|
* frequency the higher the corruption) */
|
||||||
|
for(delay = 1000; delay; delay--)
|
||||||
|
nop;
|
||||||
|
|
||||||
get_scrollwheel();
|
get_scrollwheel();
|
||||||
|
|
||||||
CCU_IO &= ~(1<<12);
|
CCU_IO &= ~(1<<12);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue