[U-Boot] [PATCH v3 1/2] led: Use STATUS_LED_ON and STATUS_LED_OFF when calling __led_set

This fixes the gpio_led driver which needs to compare againt a STATUS_LED_ON to enable a led.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br --- Changes in v3: None Changes in v2: None
common/cmd_led.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/common/cmd_led.c b/common/cmd_led.c index 7f5ab43..84f79fa 100644 --- a/common/cmd_led.c +++ b/common/cmd_led.c @@ -110,13 +110,15 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if (led_commands[i].on) led_commands[i].on(); else - __led_set(led_commands[i].mask, 1); + __led_set(led_commands[i].mask, + STATUS_LED_ON); break; case LED_OFF: if (led_commands[i].off) led_commands[i].off(); else - __led_set(led_commands[i].mask, 0); + __led_set(led_commands[i].mask, + STATUS_LED_OFF); break; case LED_TOGGLE: if (led_commands[i].toggle)

This allow user to know if the bootloader is running, even without a serial console.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br --- Changes in v3: - Added the MUX settings back (requested by Fabio) - Added name of the PIN in the board config file
Changes in v2: - Remove MUX setting - not need
board/olimex/mx23_olinuxino/mx23_olinuxino.c | 7 +++++++ board/olimex/mx23_olinuxino/spl_boot.c | 4 ++++ include/configs/mx23_olinuxino.h | 12 ++++++++++++ 3 files changed, 23 insertions(+)
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c index 6a6053b..2501417 100644 --- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c +++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c @@ -28,6 +28,9 @@ #include <asm/arch/imx-regs.h> #include <asm/arch/clock.h> #include <asm/arch/sys_proto.h> +#ifdef CONFIG_STATUS_LED +#include <status_led.h> +#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -67,5 +70,9 @@ int board_init(void) /* Adress of boot parameters */ gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
+#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT) + status_led_set(STATUS_LED_BOOT, STATUS_LED_STATE); +#endif + return 0; } diff --git a/board/olimex/mx23_olinuxino/spl_boot.c b/board/olimex/mx23_olinuxino/spl_boot.c index 7def8bc..3bbf5ad 100644 --- a/board/olimex/mx23_olinuxino/spl_boot.c +++ b/board/olimex/mx23_olinuxino/spl_boot.c @@ -84,6 +84,10 @@ const iomux_cfg_t iomux_setup[] = { MX23_PAD_EMI_RASN__EMI_RASN | MUX_CONFIG_EMI, MX23_PAD_EMI_WEN__EMI_WEN | MUX_CONFIG_EMI,
+ /* Green LED */ + MX23_PAD_SSP1_DETECT__GPIO_2_1 | + (MXS_PAD_3V3 | MXS_PAD_4MA | MXS_PAD_NOPULL), + /* MMC 0 */ MX23_PAD_SSP1_CMD__SSP1_CMD | MUX_CONFIG_SSP, MX23_PAD_SSP1_DATA0__SSP1_DATA0 | MUX_CONFIG_SSP, diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h index 7983c5d..ef8aaae 100644 --- a/include/configs/mx23_olinuxino.h +++ b/include/configs/mx23_olinuxino.h @@ -56,6 +56,7 @@ #define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT #define CONFIG_CMD_GPIO +#define CONFIG_CMD_LED #define CONFIG_CMD_MMC
/* @@ -112,6 +113,17 @@ #define CONFIG_BAUDRATE 115200 /* Default baud rate */
/* + * Status LED + */ +#define CONFIG_STATUS_LED +#define CONFIG_GPIO_LED +#define CONFIG_BOARD_SPECIFIC_LED +#define STATUS_LED_BOOT 0 +#define STATUS_LED_BIT 0x030a /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */ +#define STATUS_LED_STATE STATUS_LED_ON +#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) + +/* * MMC Driver */ #ifdef CONFIG_CMD_MMC

Dear Otavio Salvador,
[..]
/*
- Status LED
- */
+#define CONFIG_STATUS_LED +#define CONFIG_GPIO_LED +#define CONFIG_BOARD_SPECIFIC_LED +#define STATUS_LED_BOOT 0 +#define STATUS_LED_BIT 0x030a /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
Just use MX23_PAD_SSP1_DETECT__GPIO_2_1 directly ?
+#define STATUS_LED_STATE STATUS_LED_ON +#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2)
+/*
- MMC Driver
*/ #ifdef CONFIG_CMD_MMC
Best regards, Marek Vasut

On Mon, Jan 28, 2013 at 1:10 PM, Marek Vasut marex@denx.de wrote:
Dear Otavio Salvador,
[..]
/*
- Status LED
- */
+#define CONFIG_STATUS_LED +#define CONFIG_GPIO_LED +#define CONFIG_BOARD_SPECIFIC_LED +#define STATUS_LED_BOOT 0 +#define STATUS_LED_BIT 0x030a /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
Just use MX23_PAD_SSP1_DETECT__GPIO_2_1 directly ?
make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/otavio/hacking/u-boot/drivers/mtd/spi' status_led.c:46:7: error: 'MX23_PAD_SSP1_DETECT__GPIO_2_1' undeclared here (not in a function) make[1]: Entering directory `/home/otavio/hacking/u-boot/drivers/mtd/ubi'
...
-- Otavio Salvador O.S. Systems E-mail: otavio@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

Dear Otavio Salvador,
On Mon, Jan 28, 2013 at 1:10 PM, Marek Vasut marex@denx.de wrote:
Dear Otavio Salvador,
[..]
/*
- Status LED
- */
+#define CONFIG_STATUS_LED +#define CONFIG_GPIO_LED +#define CONFIG_BOARD_SPECIFIC_LED +#define STATUS_LED_BOOT 0 +#define STATUS_LED_BIT 0x030a /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
Just use MX23_PAD_SSP1_DETECT__GPIO_2_1 directly ?
make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/otavio/hacking/u-boot/drivers/mtd/spi' status_led.c:46:7: error: 'MX23_PAD_SSP1_DETECT__GPIO_2_1' undeclared here (not in a function)
#include iomux-mx23 missing ?
make[1]: Entering directory `/home/otavio/hacking/u-boot/drivers/mtd/ubi'
...
-- Otavio Salvador O.S. Systems E-mail: otavio@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
Best regards, Marek Vasut

On Mon, Jan 28, 2013 at 1:18 PM, Marek Vasut marex@denx.de wrote:
Dear Otavio Salvador,
On Mon, Jan 28, 2013 at 1:10 PM, Marek Vasut marex@denx.de wrote:
Dear Otavio Salvador,
[..]
/*
- Status LED
- */
+#define CONFIG_STATUS_LED +#define CONFIG_GPIO_LED +#define CONFIG_BOARD_SPECIFIC_LED +#define STATUS_LED_BOOT 0 +#define STATUS_LED_BIT 0x030a /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
Just use MX23_PAD_SSP1_DETECT__GPIO_2_1 directly ?
make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/otavio/hacking/u-boot/drivers/mtd/spi' status_led.c:46:7: error: 'MX23_PAD_SSP1_DETECT__GPIO_2_1' undeclared here (not in a function)
#include iomux-mx23 missing ?
... make[1]: Entering directory `/home/otavio/hacking/u-boot/tools' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h: Assembler messages: /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:38: Error: bad instruction `typedef u32 iomux_cfg_t' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:112: Error: bad instruction `static inline unsigned int PAD_BANK(iomux_cfg_t pad)' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:113: Error: junk at end of line, first unrecognized character is `{' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:114: Error: bad instruction `return (pad&((iomux_cfg_t)0x7<<0))>>0' ...
I had try it before of course ;)
-- Otavio Salvador O.S. Systems E-mail: otavio@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

Dear Otavio Salvador,
On Mon, Jan 28, 2013 at 1:18 PM, Marek Vasut marex@denx.de wrote:
Dear Otavio Salvador,
On Mon, Jan 28, 2013 at 1:10 PM, Marek Vasut marex@denx.de wrote:
Dear Otavio Salvador,
[..]
/*
- Status LED
- */
+#define CONFIG_STATUS_LED +#define CONFIG_GPIO_LED +#define CONFIG_BOARD_SPECIFIC_LED +#define STATUS_LED_BOOT 0 +#define STATUS_LED_BIT 0x030a /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
Just use MX23_PAD_SSP1_DETECT__GPIO_2_1 directly ?
make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/otavio/hacking/u-boot/drivers/mtd/spi' status_led.c:46:7: error: 'MX23_PAD_SSP1_DETECT__GPIO_2_1' undeclared here (not in a function)
#include iomux-mx23 missing ?
... make[1]: Entering directory `/home/otavio/hacking/u-boot/tools' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h: Assembler messages: /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:38: Error: bad instruction `typedef u32 iomux_cfg_t' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:112: Error: bad instruction `static inline unsigned int PAD_BANK(iomux_cfg_t pad)' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:113: Error: junk at end of line, first unrecognized character is `{' /home/otavio/hacking/u-boot/include/asm/arch/iomux.h:114: Error: bad instruction `return (pad&((iomux_cfg_t)0x7<<0))>>0' ...
I had try it before of course ;)
So iomux.h is not safe to be included in assembler fixes ... fix it with some ifdef __ASSEMBLY__ as the rest of the header files are .
Best regards, Marek Vasut
participants (2)
-
Marek Vasut
-
Otavio Salvador