Blackfin: bf537-stamp: convert to gpio post hotkey

No need for our custom implementations now that common code supports
the generic gpio layer.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
master
Mike Frysinger 14 years ago
parent 1d5e7fb403
commit 0fc4744412
  1. 63
      board/bf537-stamp/post-memory.c
  2. 33
      board/bf537-stamp/post.c
  3. 1
      include/configs/bf537-stamp.h

@ -13,7 +13,6 @@
#define SCLK_NUM 3
void post_out_buff(char *buff);
int post_key_pressed(void);
void post_init_pll(int mult, int div);
int post_init_sdram(int sclk);
void post_init_uart(int sclk);
@ -52,7 +51,7 @@ int memory_post_test(int flags)
sclk_temp -= CONFIG_SCLK_DIV;
sclk = sclk * 1000000;
post_init_uart(sclk);
if (post_key_pressed() == 0)
if (post_hotkeys_pressed() == 0)
return 0;
for (m = 0; m < CCLK_NUM; m++) {
@ -130,66 +129,6 @@ void post_out_buff(char *buff)
;
}
/* Using sw10-PF5 as the hotkey */
#define KEY_LOOP 0x80000
#define KEY_DELAY 0x80
int post_key_pressed(void)
{
int i, n;
unsigned short value;
bfin_write_PORTF_FER(bfin_read_PORTF_FER() & ~PF5);
bfin_write_PORTFIO_DIR(bfin_read_PORTFIO_DIR() & ~PF5);
bfin_write_PORTFIO_INEN(bfin_read_PORTFIO_INEN() | PF5);
SSYNC();
post_out_buff("########Press SW10 to enter Memory POST########: 3\0");
for (i = 0; i < KEY_LOOP; i++) {
value = bfin_read_PORTFIO() & PF5;
if (bfin_read_UART0_RBR() == 0x0D) {
value = 0;
goto key_pressed;
}
if (value != 0)
goto key_pressed;
for (n = 0; n < KEY_DELAY; n++)
asm("nop");
}
post_out_buff("\b2\0");
for (i = 0; i < KEY_LOOP; i++) {
value = bfin_read_PORTFIO() & PF5;
if (bfin_read_UART0_RBR() == 0x0D) {
value = 0;
goto key_pressed;
}
if (value != 0)
goto key_pressed;
for (n = 0; n < KEY_DELAY; n++)
asm("nop");
}
post_out_buff("\b1\0");
for (i = 0; i < KEY_LOOP; i++) {
value = bfin_read_PORTFIO() & PF5;
if (bfin_read_UART0_RBR() == 0x0D) {
value = 0;
goto key_pressed;
}
if (value != 0)
goto key_pressed;
for (n = 0; n < KEY_DELAY; n++)
asm("nop");
}
key_pressed:
post_out_buff("\b0");
post_out_buff("\n\r\0");
if (value == 0)
return 0;
post_out_buff("Hotkey has been pressed, Enter POST . . . . . .\n\r\0");
return 1;
}
void post_init_pll(int mult, int div)
{

@ -14,39 +14,6 @@
#include <asm/blackfin.h>
#include <asm/gpio.h>
/* Using sw10-PF5 as the hotkey */
int post_hotkeys_pressed(void)
{
int delay = 3;
int i;
unsigned short value;
gpio_request(GPIO_PF5, "post");
gpio_direction_input(GPIO_PF5);
printf("########Press SW10 to enter Memory POST########: %2d ", delay);
while (delay--) {
for (i = 0; i < 100; i++) {
value = gpio_get_value(GPIO_PF5);
if (value != 0) {
break;
}
udelay(10000);
}
printf("\b\b\b%2d ", delay);
}
printf("\b\b\b 0");
printf("\n");
if (value == 0)
return 0;
else {
printf("Hotkey has been pressed, Enter POST . . . . . .\n");
return 1;
}
gpio_free(GPIO_PF5);
}
int uart_post_test(int flags)
{
return 0;

@ -257,6 +257,7 @@
/* Define if want to do post memory test */
#undef CONFIG_POST
#ifdef CONFIG_POST
#define CONFIG_SYS_POST_HOTKEYS_GPIO GPIO_PF5
#define FLASH_START_POST_BLOCK 11 /* Should > = 11 */
#define FLASH_END_POST_BLOCK 71 /* Should < = 71 */
#endif

Loading…
Cancel
Save