From: Mike Frysinger Date: Tue, 10 May 2011 17:00:30 +0000 (-0400) Subject: Blackfin: bf537-stamp: convert to gpio post hotkey X-Git-Tag: v2011.12-rc1~629^2~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0fc4744412a58993a2a59787d2594c2f8f0b5f35;p=oweals%2Fu-boot.git 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 --- diff --git a/board/bf537-stamp/post-memory.c b/board/bf537-stamp/post-memory.c index 49022dc930..2dea92fbe9 100644 --- a/board/bf537-stamp/post-memory.c +++ b/board/bf537-stamp/post-memory.c @@ -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) { diff --git a/board/bf537-stamp/post.c b/board/bf537-stamp/post.c index 60eed5f68a..5007fcbed7 100644 --- a/board/bf537-stamp/post.c +++ b/board/bf537-stamp/post.c @@ -14,39 +14,6 @@ #include #include -/* 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; diff --git a/include/configs/bf537-stamp.h b/include/configs/bf537-stamp.h index da14a4f06b..3dee8eefd4 100644 --- a/include/configs/bf537-stamp.h +++ b/include/configs/bf537-stamp.h @@ -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