mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
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>
This commit is contained in:
parent
1d5e7fb403
commit
0fc4744412
3 changed files with 2 additions and 95 deletions
|
@ -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…
Reference in a new issue