From 9f5c3d3720e777a572dcdc8af2008b44c7243885 Mon Sep 17 00:00:00 2001 From: Peter Pearse Date: Tue, 4 Sep 2007 16:18:38 +0100 Subject: [PATCH] Add coloured led interface for ARM boards. Use it in cpu/arm920t/start.S to indicate U-Boot code has been entered. --- cpu/arm920t/start.S | 14 ++++++-------- {board/at91rm9200dk => include/asm-arm}/led.h | 2 +- lib_arm/board.c | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 9 deletions(-) mode change 100644 => 100755 cpu/arm920t/start.S rename {board/at91rm9200dk => include/asm-arm}/led.h (97%) mode change 100644 => 100755 mode change 100644 => 100755 lib_arm/board.c diff --git a/cpu/arm920t/start.S b/cpu/arm920t/start.S old mode 100644 new mode 100755 index b9c364b..1bc6099 --- a/cpu/arm920t/start.S +++ b/cpu/arm920t/start.S @@ -27,9 +27,7 @@ #include #include -#if defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK) || defined(CONFIG_AT91RM9200DF) -#include -#endif +#include /* ************************************************************************* @@ -117,13 +115,13 @@ reset: bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0 - -#if CONFIG_AT91RM9200 -#if defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK) || defined(CONFIG_AT91RM9200DF) - bl LED_init + /* + * if board has a red led use it to show U-Boot is running + */ + bl coloured_LED_init bl red_LED_on -#endif +#ifdef CONFIG_AT91RM9200 #ifdef CONFIG_BOOTBINFUNC /* code based on entry.S from ATMEL */ #define AT91C_BASE_CKGR 0xFFFFFC20 diff --git a/board/at91rm9200dk/led.h b/include/asm-arm/led.h old mode 100644 new mode 100755 similarity index 97% rename from board/at91rm9200dk/led.h rename to include/asm-arm/led.h index 57c2b4a..f78a4b1 --- a/board/at91rm9200dk/led.h +++ b/include/asm-arm/led.h @@ -26,7 +26,7 @@ #define __LED_H #ifndef __ASSEMBLY__ -extern void LED_init (void); +extern void coloured_LED_init (void); extern void red_LED_on(void); extern void red_LED_off(void); extern void green_LED_on(void); diff --git a/lib_arm/board.c b/lib_arm/board.c old mode 100644 new mode 100755 index d37e5da..6b49925 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -112,6 +112,30 @@ void *sbrk (ptrdiff_t increment) } /************************************************************************ + * Coloured LED functionality + ************************************************************************ + * May be supplied by boards if desired + */ +void inline __coloured_LED_init (void) {} +void inline coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init"))); +void inline __red_LED_on (void) {} +void inline red_LED_on (void) __attribute__((weak, alias("__red_LED_on"))); +void inline __red_LED_off(void) {} +void inline red_LED_off(void) __attribute__((weak, alias("__red_LED_off"))); +void inline __green_LED_on(void) {} +void inline green_LED_on(void) __attribute__((weak, alias("__green_LED_on"))); +void inline __green_LED_off(void) {} +void inline green_LED_off(void)__attribute__((weak, alias("__green_LED_off"))); +void inline __yellow_LED_on(void) {} +void inline yellow_LED_on(void)__attribute__((weak, alias("__yellow_LED_on"))); +void inline __yellow_LED_off(void) {} +void inline yellow_LED_off(void)__attribute__((weak, alias("__yellow_LED_off"))); + + + + + +/************************************************************************ * Init Utilities * ************************************************************************ * Some of this code should be moved into the core functions, -- 2.7.4