[U-Boot] [PATCH v2] BeagleBoard: Remove userbutton command and use gpio command instead

Joel A Fernandes agnel.joel at gmail.com
Sun Sep 11 20:41:30 CEST 2011


Remove userbutton command and do the detection in board config file using the gpio command

Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
Signed-off-by: Jason Kridner <jkridner at beagleboard.org>
---
This addresses the suggestions at: http://patchwork.ozlabs.org/patch/110123/
Also, with the removal of the userbutton command, all checkpatch errors are automatically fixed.

v2 changes:
Corrected comment about userbutton

 board/ti/beagle/beagle.c       |   55 ----------------------------------------
 include/configs/omap3_beagle.h |   11 ++++++-
 2 files changed, 9 insertions(+), 57 deletions(-)

diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 8cdceaf..9ce8aeb 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -479,58 +479,3 @@ int ehci_hcd_init(void)
 }
 
 #endif /* CONFIG_USB_EHCI */
-
-/*
- * This command returns the status of the user button on beagle xM
- * Input - none
- * Returns - 	1 if button is held down
- *		0 if button is not held down
- */
-int do_userbutton (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
-{
-	int     button = 0;
-	int	gpio;
-
-	/*
-	 * pass address parameter as argv[0] (aka command name),
-	 * and all remaining args
-	 */
-	switch (get_board_revision()) {
-	case REVISION_AXBX:
-	case REVISION_CX:
-	case REVISION_C4:
-		gpio = 7;
-		break;
-	case REVISION_XM_A:
-	case REVISION_XM_B:
-	case REVISION_XM_C:
-	default:
-		gpio = 4;
-		break;
-	}
-	gpio_request(gpio, "");
-	gpio_direction_input(gpio);
-	printf("The user button is currently ");
-	if (gpio_get_value(gpio))
-	{
-		button = 1;
-		printf("PRESSED.\n");
-	}
-	else
-	{
-		button = 0;
-		printf("NOT pressed.\n");
-	}
-
-	gpio_free(gpio);
-
-	return !button;
-}
-
-/* -------------------------------------------------------------------- */
-
-U_BOOT_CMD(
-	userbutton, CONFIG_SYS_MAXARGS, 1,	do_userbutton,
-	"Return the status of the BeagleBoard USER button",
-	""
-);
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 1369c89..0cf81a6 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -164,6 +164,7 @@
 #define CONFIG_CMD_PING
 #define CONFIG_CMD_DHCP
 #define CONFIG_CMD_SETEXPR	/* Evaluate expressions		*/
+#define CONFIG_CMD_GPIO     /* Enable gpio command */
 
 #undef CONFIG_CMD_FLASH		/* flinfo, erase, protect	*/
 #undef CONFIG_CMD_FPGA		/* FPGA configuration Support	*/
@@ -277,10 +278,16 @@
 	"ramboot=echo Booting from ramdisk ...; " \
 		"run ramargs; " \
 		"bootm ${loadaddr}\0" \
-
+	"userbutton=if gpio input 173; then run userbutton_xm; " \
+		"else run userbutton_nonxm; fi;\0" \
+	"userbutton_xm=gpio input 4;\0" \
+	"userbutton_nonxm=gpio input 7;\0"
+/* "run userbutton" will return 1 (false) if is pressed and 0 (true) if not */
 #define CONFIG_BOOTCOMMAND \
 	"if mmc rescan ${mmcdev}; then " \
-		"if userbutton; then " \
+		"if run userbutton; then " \
+			"setenv bootenv uEnv.txt;" \
+		"else " \
 			"setenv bootenv user.txt;" \
 		"fi;" \
 		"echo SD/MMC found on device ${mmcdev};" \
-- 
1.7.1



More information about the U-Boot mailing list