From: Stefano Babic Date: Wed, 13 Jun 2012 22:34:44 +0000 (+0000) Subject: OMAP3: mcx: read hot-water-button after reset X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3ae6abb697b85516975443ca7eac44d18ed4c53f;p=project%2Fbcm63xx%2Fu-boot.git OMAP3: mcx: read hot-water-button after reset Detect hot-water-button to start a differnt image. Signed-off-by: Stefano Babic CC: Tom Rini --- diff --git a/board/htkw/mcx/mcx.c b/board/htkw/mcx/mcx.c index 8f75af19d4..454ff0a846 100644 --- a/board/htkw/mcx/mcx.c +++ b/board/htkw/mcx/mcx.c @@ -37,6 +37,8 @@ DECLARE_GLOBAL_DATA_PTR; +#define HOT_WATER_BUTTON 38 + #ifdef CONFIG_USB_EHCI static struct omap_usbhs_board_data usbhs_bdata = { .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, @@ -68,6 +70,27 @@ int board_init(void) return 0; } +#ifdef CONFIG_BOARD_LATE_INIT +int board_late_init(void) +{ + if (gpio_request(HOT_WATER_BUTTON, "hot-water-button") < 0) { + puts("Failed to get hot-water-button pin\n"); + return -ENODEV; + } + gpio_direction_input(HOT_WATER_BUTTON); + + /* + * if hot-water-button is pressed + * change bootcmd + */ + if (gpio_get_value(HOT_WATER_BUTTON)) + return 0; + + setenv("bootcmd", "run swupdate"); + return 0; +} +#endif + /* * Routine: set_muxconf_regs * Description: Setting up the configuration Mux registers specific to the diff --git a/include/configs/mcx.h b/include/configs/mcx.h index 9d552a0f51..ad7078c0f5 100644 --- a/include/configs/mcx.h +++ b/include/configs/mcx.h @@ -30,6 +30,7 @@ #define MACH_TYPE_MCX 3656 #define CONFIG_MACH_TYPE MACH_TYPE_MCX +#define CONFIG_BOARD_LATE_INIT #define CONFIG_SYS_CACHELINE_SIZE 64 @@ -140,6 +141,7 @@ #define CONFIG_MTD_PARTITIONS #define CONFIG_MTD_DEVICE #define CONFIG_CMD_MTDPARTS +#define CONFIG_CMD_GPIO #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */ #undef CONFIG_CMD_FPGA /* FPGA configuration Support */