Blackfin: implement general support for CONFIG_STATUS_LED
authorMike Frysinger <vapier@gentoo.org>
Mon, 6 Oct 2008 07:52:24 +0000 (03:52 -0400)
committerMike Frysinger <vapier@gentoo.org>
Wed, 28 Jan 2009 18:26:12 +0000 (13:26 -0500)
Here are the Blackfin-specific and board-independent pieces for status leds.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
include/status_led.h
lib_blackfin/board.c

index 79be698..175972a 100644 (file)
@@ -346,6 +346,9 @@ void status_led_set  (int led, int state);
 #elif defined(CONFIG_NIOS2)
 /* XXX empty just to avoid the error */
 /************************************************************************/
+#elif defined(CONFIG_BLACKFIN)
+/* XXX empty just to avoid the error */
+/************************************************************************/
 #elif defined(CONFIG_V38B)
 
 # define STATUS_LED_BIT                0x0010                  /* Timer7 GPIO */
index 30ffba1..dcf246d 100644 (file)
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <net.h>
 #include <timestamp.h>
+#include <status_led.h>
 #include <version.h>
 
 #include <asm/cplb.h>
@@ -409,6 +410,11 @@ void board_init_r(gd_t * id, ulong dest_addr)
        /* Initialize the console (after the relocation and devices init) */
        console_init_r();
 
+#ifdef CONFIG_STATUS_LED
+       status_led_set(STATUS_LED_BOOT, STATUS_LED_BLINKING);
+       status_led_set(STATUS_LED_CRASH, STATUS_LED_OFF);
+#endif
+
        /* Initialize from environment */
        if ((s = getenv("loadaddr")) != NULL)
                load_addr = simple_strtoul(s, NULL, 16);
@@ -445,6 +451,10 @@ void board_init_r(gd_t * id, ulong dest_addr)
 
 void hang(void)
 {
+#ifdef CONFIG_STATUS_LED
+       status_led_set(STATUS_LED_BOOT, STATUS_LED_OFF);
+       status_led_set(STATUS_LED_CRASH, STATUS_LED_BLINKING);
+#endif
        puts("### ERROR ### Please RESET the board ###\n");
        while (1)
                /* If a JTAG emulator is hooked up, we'll automatically trigger