[U-Boot] [PATCH v4 2/2] OMAP3: igep00x0: add boot status GPIO LED

Igor Grinberg grinberg at compulab.co.il
Thu Dec 27 14:16:07 CET 2012


On 12/26/12 05:24, Javier Martinez Canillas wrote:
> This patch adds an GPIO LED boot status for IGEP boards.
> 
> The GPIO LED used is the red LED0 while the Linux kernel
> uses the green LED0 as the boot status.
> 
> By using different GPIO LEDs, the user can know in which
> step of the boot process the board currently is.
> 
> Signed-off-by: Javier Martinez Canillas <javier.martinez at collabora.co.uk>
> ---
> 
> Changes since v3:
>     - Avoid code duplication but having a single show_boot_progress()
>       function as suggested by Wolfgang Denk.
> 
> Changes since v2:
>     - Use show_boot_progress() instead implementing yet another boot status
>       signalling as suggested by Wolfgang Denk.
> 
> Changes since v1:
>     - Don't set gd->bd->bi_arch_number since is done in arch/arm/lib/board.c
>     - Use CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020 instead of check bi_arch_number
>       as suggested by Igor Grinberg.
> 
>  board/isee/igep00x0/igep00x0.c |   15 +++++++++++++++
>  board/isee/igep00x0/igep00x0.h |    8 ++++++++
>  include/configs/igep00x0.h     |    3 +++
>  3 files changed, 26 insertions(+), 0 deletions(-)
> 
> diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
> index c8b2fbf..c432129 100644
> --- a/board/isee/igep00x0/igep00x0.c
> +++ b/board/isee/igep00x0/igep00x0.c
> @@ -62,6 +62,21 @@ int board_init(void)
>  	return 0;
>  }
>  
> +#if defined(CONFIG_SHOW_BOOT_PROGRESS) && !defined(CONFIG_SPL_BUILD)
> +void show_boot_progress(int val)
> +{
> +	if (val < 0) {
> +		/* something went wrong */
> +		return;
> +	}
> +
> +	if (!gpio_request(IGEP00X0_GPIO_LED, "")) {
> +		gpio_direction_output(IGEP00X0_GPIO_LED, 0);
> +		gpio_set_value(IGEP00X0_GPIO_LED, 1);

gpio_direction_output() also sets the value.
Why do you need to call gpio_set_value() afterwards?
Also, you don't have any delay in between,
so it does not look like a "blink"...

> +	}
> +}
> +#endif
> +
>  #ifdef CONFIG_SPL_BUILD
>  /*
>   * Routine: omap_rev_string
> diff --git a/board/isee/igep00x0/igep00x0.h b/board/isee/igep00x0/igep00x0.h
> index 83822d2..4b81960 100644
> --- a/board/isee/igep00x0/igep00x0.h
> +++ b/board/isee/igep00x0/igep00x0.h
> @@ -23,6 +23,14 @@
>  #ifndef _IGEP00X0_H_
>  #define _IGEP00X0_H_
>  
> +#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020)
> +#define IGEP00X0_GPIO_LED 27
> +#endif
> +
> +#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
> +#define IGEP00X0_GPIO_LED 16
> +#endif
> +
>  const omap3_sysinfo sysinfo = {
>  	DDR_STACKED,
>  #if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020)
> diff --git a/include/configs/igep00x0.h b/include/configs/igep00x0.h
> index be7937d..07b1d3a 100644
> --- a/include/configs/igep00x0.h
> +++ b/include/configs/igep00x0.h
> @@ -82,6 +82,9 @@
>  #define CONFIG_OMAP_HSMMC		1
>  #define CONFIG_DOS_PARTITION		1
>  
> +/* define to enable boot progress via leds */
> +#define CONFIG_SHOW_BOOT_PROGRESS
> +
>  /* USB */
>  #define CONFIG_MUSB_UDC			1
>  #define CONFIG_USB_OMAP3		1

-- 
Regards,
Igor.


More information about the U-Boot mailing list