[U-Boot] [PATCH 1/6] Blackfin: bf537-stamp: convert to gpio post hotkey

Mike Frysinger vapier at gentoo.org
Mon Aug 8 03:32:46 CEST 2011


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

Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
 board/bf537-stamp/post-memory.c |   63 +--------------------------------------
 board/bf537-stamp/post.c        |   33 --------------------
 include/configs/bf537-stamp.h   |    1 +
 3 files changed, 2 insertions(+), 95 deletions(-)

diff --git a/board/bf537-stamp/post-memory.c b/board/bf537-stamp/post-memory.c
index 49022dc..2dea92f 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 60eed5f..5007fcb 100644
--- a/board/bf537-stamp/post.c
+++ b/board/bf537-stamp/post.c
@@ -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;
diff --git a/include/configs/bf537-stamp.h b/include/configs/bf537-stamp.h
index da14a4f..3dee8ee 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
-- 
1.7.6



More information about the U-Boot mailing list