浏览代码

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>
Mike Frysinger 14 年之前
父节点
当前提交
0fc4744412
共有 3 个文件被更改,包括 2 次插入95 次删除
  1. 1 62
      board/bf537-stamp/post-memory.c
  2. 0 33
      board/bf537-stamp/post.c
  3. 1 0
      include/configs/bf537-stamp.h

+ 1 - 62
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)
 {
 

+ 0 - 33
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;

+ 1 - 0
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