Move all of the status LED feature to drivers/led/Kconfig.
The LED status definitions were moved from the board configuration
files to the defconfig files.

TBD: Move all of the definitions in the include/status_led.h to the
relevant board's defconfig files.

Tested boards: CL-SOM-AM57x, CM-T335

Signed-off-by: Uri Mashiach <uri.mashi...@compulab.co.il>
---
 arch/arm/cpu/arm920t/ep93xx/led.c            | 35 ++++++-------
 arch/powerpc/include/asm/status_led.h        | 10 ++--
 arch/powerpc/lib/interrupts.c                |  6 +--
 board/BuS/eb_cpu5282/eb_cpu5282.c            |  2 +-
 board/bf533-stamp/bf533-stamp.c              | 28 ++++++----
 board/compulab/cm_t335/cm_t335.c             |  4 +-
 board/compulab/cm_t35/cm_t35.c               |  4 +-
 board/compulab/cm_t3517/cm_t3517.c           |  4 +-
 board/corscience/tricorder/led.c             | 26 +++++-----
 board/corscience/tricorder/tricorder.c       |  6 +--
 board/isee/igep00x0/igep00x0.c               |  4 +-
 board/motionpro/motionpro.c                  | 45 +++++++++++-----
 board/olimex/mx23_olinuxino/mx23_olinuxino.c |  6 +--
 board/samtec/vining_fpga/socfpga.c           |  4 +-
 board/ti/beagle/Makefile                     |  2 +-
 board/ti/beagle/beagle.c                     |  6 +--
 board/ti/beagle/led.c                        | 14 ++---
 cmd/Makefile                                 |  2 +-
 cmd/ide.c                                    |  2 +-
 cmd/led.c                                    | 69 ++++++++++++-------------
 common/board_r.c                             |  8 +--
 configs/TQM823L_defconfig                    |  7 +++
 configs/TQM823M_defconfig                    |  7 +++
 configs/TQM850L_defconfig                    |  7 +++
 configs/TQM850M_defconfig                    |  7 +++
 configs/TQM855L_defconfig                    |  7 +++
 configs/TQM855M_defconfig                    |  7 +++
 configs/TQM860L_defconfig                    |  7 +++
 configs/TQM860M_defconfig                    |  7 +++
 configs/TQM862L_defconfig                    |  7 +++
 configs/TQM862M_defconfig                    |  7 +++
 configs/TQM866M_defconfig                    |  7 +++
 configs/TQM885D_defconfig                    |  7 +++
 configs/cl-som-am57x_defconfig               |  5 ++
 configs/cm_t335_defconfig                    |  6 +++
 configs/cm_t3517_defconfig                   |  7 +++
 configs/cm_t35_defconfig                     |  7 +++
 configs/eb_cpu5282_defconfig                 |  6 +++
 configs/eb_cpu5282_internal_defconfig        |  6 +++
 configs/edb9315a_defconfig                   | 12 +++++
 configs/igep0020_defconfig                   |  7 +++
 configs/igep0030_defconfig                   |  7 +++
 configs/motionpro_defconfig                  | 10 ++++
 configs/mx23_olinuxino_defconfig             |  8 +++
 configs/omap3_beagle_defconfig               | 11 ++++
 configs/socfpga_vining_fpga_defconfig        | 11 ++++
 configs/tqma6s_wru4_mmc_defconfig            | 20 ++++++++
 configs/tricorder_defconfig                  | 11 ++++
 configs/tricorder_flash_defconfig            | 11 ++++
 configs/v38b_defconfig                       |  6 +++
 drivers/misc/Makefile                        |  4 +-
 drivers/misc/gpio_led.c                      | 26 +++++-----
 drivers/misc/pca9551_led.c                   |  2 +-
 drivers/misc/status_led.c                    | 76 ++++++++++++++--------------
 include/common.h                             |  2 +-
 include/configs/PATI.h                       |  2 -
 include/configs/TQM823L.h                    |  6 ---
 include/configs/TQM823M.h                    |  6 ---
 include/configs/TQM850L.h                    |  2 -
 include/configs/TQM850M.h                    |  2 -
 include/configs/TQM855L.h                    |  2 -
 include/configs/TQM855M.h                    |  2 -
 include/configs/TQM860L.h                    |  2 -
 include/configs/TQM860M.h                    |  2 -
 include/configs/TQM862L.h                    |  2 -
 include/configs/TQM862M.h                    |  2 -
 include/configs/TQM866M.h                    |  2 -
 include/configs/TQM885D.h                    |  2 -
 include/configs/bf526-ezbrd.h                | 16 ------
 include/configs/bf533-stamp.h                | 16 ------
 include/configs/cl-som-am57x.h               | 11 ----
 include/configs/cm_t335.h                    |  7 ---
 include/configs/cm_t35.h                     | 10 +---
 include/configs/cm_t3517.h                   | 10 +---
 include/configs/eb_cpu5282.h                 |  7 ---
 include/configs/edb93xx.h                    | 13 -----
 include/configs/motionpro.h                  | 14 -----
 include/configs/mx23_olinuxino.h             |  9 ----
 include/configs/omap3_beagle.h               | 11 ----
 include/configs/omap3_igep00x0.h             |  8 ---
 include/configs/socfpga_vining_fpga.h        | 16 ------
 include/configs/stm32f429-discovery.h        |  1 -
 include/configs/tqma6_wru4.h                 | 21 --------
 include/configs/tricorder.h                  | 12 -----
 include/configs/v38b.h                       |  2 -
 include/status_led.h                         | 59 ++++++++-------------
 net/bootp.c                                  |  6 +--
 net/net.c                                    | 20 ++++----
 scripts/config_whitelist.txt                 |  4 --
 89 files changed, 485 insertions(+), 454 deletions(-)

diff --git a/arch/arm/cpu/arm920t/ep93xx/led.c 
b/arch/arm/cpu/arm920t/ep93xx/led.c
index ecceb98..402fa3a 100644
--- a/arch/arm/cpu/arm920t/ep93xx/led.c
+++ b/arch/arm/cpu/arm920t/ep93xx/led.c
@@ -9,16 +9,16 @@
 #include <config.h>
 #include <status_led.h>
 
-static uint8_t saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
-static uint32_t gpio_pin[2] = {1 << STATUS_LED_GREEN,
-                              1 << STATUS_LED_RED};
+static uint8_t saved_state[2] = {CONFIG_LED_STATUS_OFF, CONFIG_LED_STATUS_OFF};
+static uint32_t gpio_pin[2] = {1 << CONFIG_LED_STATUS_GREEN,
+                              1 << CONFIG_LED_STATUS_RED};
 
 static inline void switch_LED_on(uint8_t led)
 {
        register struct gpio_regs *gpio = (struct gpio_regs *)GPIO_BASE;
 
        writel(readl(&gpio->pedr) | gpio_pin[led], &gpio->pedr);
-       saved_state[led] = STATUS_LED_ON;
+       saved_state[led] = CONFIG_LED_STATUS_ON;
 }
 
 static inline void switch_LED_off(uint8_t led)
@@ -26,27 +26,27 @@ static inline void switch_LED_off(uint8_t led)
        register struct gpio_regs *gpio = (struct gpio_regs *)GPIO_BASE;
 
        writel(readl(&gpio->pedr) & ~gpio_pin[led], &gpio->pedr);
-       saved_state[led] = STATUS_LED_OFF;
+       saved_state[led] = CONFIG_LED_STATUS_OFF;
 }
 
 void red_led_on(void)
 {
-       switch_LED_on(STATUS_LED_RED);
+       switch_LED_on(CONFIG_LED_STATUS_RED);
 }
 
 void red_led_off(void)
 {
-       switch_LED_off(STATUS_LED_RED);
+       switch_LED_off(CONFIG_LED_STATUS_RED);
 }
 
 void green_led_on(void)
 {
-       switch_LED_on(STATUS_LED_GREEN);
+       switch_LED_on(CONFIG_LED_STATUS_GREEN);
 }
 
 void green_led_off(void)
 {
-       switch_LED_off(STATUS_LED_GREEN);
+       switch_LED_off(CONFIG_LED_STATUS_GREEN);
 }
 
 void __led_init(led_id_t mask, int state)
@@ -56,13 +56,14 @@ void __led_init(led_id_t mask, int state)
 
 void __led_toggle(led_id_t mask)
 {
-       if (STATUS_LED_RED == mask) {
-               if (STATUS_LED_ON == saved_state[STATUS_LED_RED])
+       if (CONFIG_LED_STATUS_RED == mask) {
+               if (CONFIG_LED_STATUS_ON == saved_state[CONFIG_LED_STATUS_RED])
                        red_led_off();
                else
                        red_led_on();
-       } else if (STATUS_LED_GREEN == mask) {
-               if (STATUS_LED_ON == saved_state[STATUS_LED_GREEN])
+       } else if (CONFIG_LED_STATUS_GREEN == mask) {
+               if (CONFIG_LED_STATUS_ON ==
+                   saved_state[CONFIG_LED_STATUS_GREEN])
                        green_led_off();
                else
                        green_led_on();
@@ -71,13 +72,13 @@ void __led_toggle(led_id_t mask)
 
 void __led_set(led_id_t mask, int state)
 {
-       if (STATUS_LED_RED == mask) {
-               if (STATUS_LED_ON == state)
+       if (CONFIG_LED_STATUS_RED == mask) {
+               if (CONFIG_LED_STATUS_ON == state)
                        red_led_on();
                else
                        red_led_off();
-       } else if (STATUS_LED_GREEN == mask) {
-               if (STATUS_LED_ON == state)
+       } else if (CONFIG_LED_STATUS_GREEN == mask) {
+               if (CONFIG_LED_STATUS_ON == state)
                        green_led_on();
                else
                        green_led_off();
diff --git a/arch/powerpc/include/asm/status_led.h 
b/arch/powerpc/include/asm/status_led.h
index 260a831..1ae1b17 100644
--- a/arch/powerpc/include/asm/status_led.h
+++ b/arch/powerpc/include/asm/status_led.h
@@ -8,7 +8,7 @@
 #define __ASM_STATUS_LED_H__
 
 /* if not overridden */
-#ifndef CONFIG_BOARD_SPECIFIC_LED
+#ifndef CONFIG_LED_STATUS_BOARD_SPECIFIC
 # if defined(CONFIG_8xx)
 #  include <mpc8xx.h>
 # elif defined(CONFIG_MPC8260)
@@ -34,12 +34,12 @@ static inline void __led_init (led_id_t mask, int state)
 #endif
 
 #if (STATUS_LED_ACTIVE == 0)
-       if (state == STATUS_LED_ON)
+       if (state == CONFIG_LED_STATUS_ON)
                immr->STATUS_LED_DAT &= ~mask;
        else
                immr->STATUS_LED_DAT |= mask;
 #else
-       if (state == STATUS_LED_ON)
+       if (state == CONFIG_LED_STATUS_ON)
                immr->STATUS_LED_DAT |= mask;
        else
                immr->STATUS_LED_DAT &= ~mask;
@@ -59,12 +59,12 @@ static inline void __led_set (led_id_t mask, int state)
        volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
 
 #if (STATUS_LED_ACTIVE == 0)
-       if (state == STATUS_LED_ON)
+       if (state == CONFIG_LED_STATUS_ON)
                immr->STATUS_LED_DAT &= ~mask;
        else
                immr->STATUS_LED_DAT |= mask;
 #else
-       if (state == STATUS_LED_ON)
+       if (state == CONFIG_LED_STATUS_ON)
                immr->STATUS_LED_DAT |= mask;
        else
                immr->STATUS_LED_DAT &= ~mask;
diff --git a/arch/powerpc/lib/interrupts.c b/arch/powerpc/lib/interrupts.c
index f7cf915..5031357 100644
--- a/arch/powerpc/lib/interrupts.c
+++ b/arch/powerpc/lib/interrupts.c
@@ -11,7 +11,7 @@
 #include <common.h>
 #include <asm/processor.h>
 #include <watchdog.h>
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 #include <status_led.h>
 #endif
 
@@ -112,9 +112,9 @@ void timer_interrupt (struct pt_regs *regs)
                WATCHDOG_RESET ();
 #endif    /* CONFIG_WATCHDOG || CONFIG_HW_WATCHDOG */
 
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
        status_led_tick (timestamp);
-#endif /* CONFIG_STATUS_LED */
+#endif /* CONFIG_LED_STATUS */
 
 #ifdef CONFIG_SHOW_ACTIVITY
        board_show_activity (timestamp);
diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c 
b/board/BuS/eb_cpu5282/eb_cpu5282.c
index 2164b52..b1740ee 100644
--- a/board/BuS/eb_cpu5282/eb_cpu5282.c
+++ b/board/BuS/eb_cpu5282/eb_cpu5282.c
@@ -174,7 +174,7 @@ void __led_init(led_id_t mask, int state)
 
 void __led_set(led_id_t mask, int state)
 {
-       if (state == STATUS_LED_ON)
+       if (state == CONFIG_LED_STATUS_ON)
                MCFGPTA_GPTPORT |= (1 << 3);
        else
                MCFGPTA_GPTPORT &= ~(1 << 3);
diff --git a/board/bf533-stamp/bf533-stamp.c b/board/bf533-stamp/bf533-stamp.c
index eb000a6..185a651 100644
--- a/board/bf533-stamp/bf533-stamp.c
+++ b/board/bf533-stamp/bf533-stamp.c
@@ -50,8 +50,8 @@ int misc_init_r(void)
 
 #ifdef CONFIG_SHOW_BOOT_PROGRESS
 
-#define STATUS_LED_OFF 0
-#define STATUS_LED_ON  1
+#define CONFIG_LED_STATUS_OFF 0
+#define CONFIG_LED_STATUS_ON  1
 
 static int gpio_setup;
 
@@ -76,24 +76,30 @@ void show_boot_progress(int status)
 {
        switch (status) {
        case BOOTSTAGE_ID_CHECK_MAGIC:
-               stamp_led_set(STATUS_LED_OFF, STATUS_LED_OFF, STATUS_LED_ON);
+               stamp_led_set(CONFIG_LED_STATUS_OFF, CONFIG_LED_STATUS_OFF,
+                             CONFIG_LED_STATUS_ON);
                break;
        case BOOTSTAGE_ID_CHECK_HEADER:
-               stamp_led_set(STATUS_LED_OFF, STATUS_LED_ON, STATUS_LED_OFF);
+               stamp_led_set(CONFIG_LED_STATUS_OFF, CONFIG_LED_STATUS_ON,
+                             CONFIG_LED_STATUS_OFF);
                break;
        case BOOTSTAGE_ID_CHECK_CHECKSUM:
-               stamp_led_set(STATUS_LED_OFF, STATUS_LED_ON, STATUS_LED_ON);
+               stamp_led_set(CONFIG_LED_STATUS_OFF, CONFIG_LED_STATUS_ON,
+                             CONFIG_LED_STATUS_ON);
                break;
        case BOOTSTAGE_ID_CHECK_ARCH:
-               stamp_led_set(STATUS_LED_ON, STATUS_LED_OFF, STATUS_LED_OFF);
+               stamp_led_set(CONFIG_LED_STATUS_ON, CONFIG_LED_STATUS_OFF,
+                             CONFIG_LED_STATUS_OFF);
                break;
        case BOOTSTAGE_ID_CHECK_IMAGETYPE:
        case BOOTSTAGE_ID_DECOMP_IMAGE:
-               stamp_led_set(STATUS_LED_ON, STATUS_LED_OFF, STATUS_LED_ON);
+               stamp_led_set(CONFIG_LED_STATUS_ON, CONFIG_LED_STATUS_OFF,
+                             CONFIG_LED_STATUS_ON);
                break;
        case BOOTSTAGE_ID_KERNEL_LOADED:
        case BOOTSTAGE_ID_CHECK_BOOT_OS:
-               stamp_led_set(STATUS_LED_ON, STATUS_LED_ON, STATUS_LED_OFF);
+               stamp_led_set(CONFIG_LED_STATUS_ON, CONFIG_LED_STATUS_ON,
+                             CONFIG_LED_STATUS_OFF);
                break;
        case BOOTSTAGE_ID_BOOT_OS_RETURNED:
        case BOOTSTAGE_ID_RD_MAGIC:
@@ -102,10 +108,12 @@ void show_boot_progress(int status)
        case BOOTSTAGE_ID_RAMDISK:
        case BOOTSTAGE_ID_NO_RAMDISK:
        case BOOTSTAGE_ID_RUN_OS:
-               stamp_led_set(STATUS_LED_OFF, STATUS_LED_OFF, STATUS_LED_OFF);
+               stamp_led_set(CONFIG_LED_STATUS_OFF, CONFIG_LED_STATUS_OFF,
+                             CONFIG_LED_STATUS_OFF);
                break;
        default:
-               stamp_led_set(STATUS_LED_ON, STATUS_LED_ON, STATUS_LED_ON);
+               stamp_led_set(CONFIG_LED_STATUS_ON, CONFIG_LED_STATUS_ON,
+                             CONFIG_LED_STATUS_ON);
                break;
        }
 }
diff --git a/board/compulab/cm_t335/cm_t335.c b/board/compulab/cm_t335/cm_t335.c
index 428aee6..c4506b9 100644
--- a/board/compulab/cm_t335/cm_t335.c
+++ b/board/compulab/cm_t335/cm_t335.c
@@ -31,8 +31,8 @@ int board_init(void)
 
        gpmc_init();
 
-#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_OFF);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_OFF);
 #endif
        return 0;
 }
diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c
index 484651b..ec21955 100644
--- a/board/compulab/cm_t35/cm_t35.c
+++ b/board/compulab/cm_t35/cm_t35.c
@@ -92,8 +92,8 @@ int board_init(void)
        /* boot param addr */
        gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
-#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_ON);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_ON);
 #endif
 
        return 0;
diff --git a/board/compulab/cm_t3517/cm_t3517.c 
b/board/compulab/cm_t3517/cm_t3517.c
index 8aae248..50312b1 100644
--- a/board/compulab/cm_t3517/cm_t3517.c
+++ b/board/compulab/cm_t3517/cm_t3517.c
@@ -89,8 +89,8 @@ int board_init(void)
        /* boot param addr */
        gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
-#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_ON);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_ON);
 #endif
 
        cm_t3517_musb_init();
diff --git a/board/corscience/tricorder/led.c b/board/corscience/tricorder/led.c
index 30f2f50..00ffc00 100644
--- a/board/corscience/tricorder/led.c
+++ b/board/corscience/tricorder/led.c
@@ -23,16 +23,16 @@ void __led_init(led_id_t mask, int state)
 void __led_toggle(led_id_t mask)
 {
        int toggle_gpio = 0;
-#ifdef STATUS_LED_BIT
-       if (!toggle_gpio && STATUS_LED_BIT & mask)
+#ifdef CONFIG_LED_STATUS0
+       if (!toggle_gpio && CONFIG_LED_STATUS_BIT & mask)
                toggle_gpio = TRICORDER_STATUS_LED_GREEN;
 #endif
-#ifdef STATUS_LED_BIT1
-       if (!toggle_gpio && STATUS_LED_BIT1 & mask)
+#ifdef CONFIG_LED_STATUS1
+       if (!toggle_gpio && CONFIG_LED_STATUS_BIT1 & mask)
                toggle_gpio = TRICORDER_STATUS_LED_YELLOW;
 #endif
-#ifdef STATUS_LED_BIT2
-       if (!toggle_gpio && STATUS_LED_BIT2 & mask) {
+#ifdef CONFIG_LED_STATUS2
+       if (!toggle_gpio && CONFIG_LED_STATUS_BIT2 & mask) {
                uint8_t val;
                twl4030_i2c_read_u8(TWL4030_CHIP_LED, TWL4030_LED_LEDEN,
                                    &val);
@@ -51,23 +51,23 @@ void __led_toggle(led_id_t mask)
 
 void __led_set(led_id_t mask, int state)
 {
-#ifdef STATUS_LED_BIT
-       if (STATUS_LED_BIT & mask) {
+#ifdef CONFIG_LED_STATUS0
+       if (CONFIG_LED_STATUS_BIT & mask) {
                gpio_request(TRICORDER_STATUS_LED_GREEN, "");
                gpio_direction_output(TRICORDER_STATUS_LED_GREEN, 0);
                gpio_set_value(TRICORDER_STATUS_LED_GREEN, state);
        }
 #endif
-#ifdef STATUS_LED_BIT1
-       if (STATUS_LED_BIT1 & mask) {
+#ifdef CONFIG_LED_STATUS1
+       if (CONFIG_LED_STATUS_BIT1 & mask) {
                gpio_request(TRICORDER_STATUS_LED_YELLOW, "");
                gpio_direction_output(TRICORDER_STATUS_LED_YELLOW, 0);
                gpio_set_value(TRICORDER_STATUS_LED_YELLOW, state);
        }
 #endif
-#ifdef STATUS_LED_BIT2
-       if (STATUS_LED_BIT2 & mask) {
-               if (STATUS_LED_OFF == state)
+#ifdef CONFIG_LED_STATUS2
+       if (CONFIG_LED_STATUS_BIT2 & mask) {
+               if (CONFIG_LED_STATUS_OFF == state)
                        twl4030_i2c_write_u8(TWL4030_CHIP_LED,
                                             TWL4030_LED_LEDEN, 0);
                else
diff --git a/board/corscience/tricorder/tricorder.c 
b/board/corscience/tricorder/tricorder.c
index 0009452..e8260c6 100644
--- a/board/corscience/tricorder/tricorder.c
+++ b/board/corscience/tricorder/tricorder.c
@@ -120,9 +120,9 @@ int misc_init_r(void)
        print_hwversion(&eeprom);
 
        twl4030_power_init();
-       status_led_set(0, STATUS_LED_ON);
-       status_led_set(1, STATUS_LED_ON);
-       status_led_set(2, STATUS_LED_ON);
+       status_led_set(0, CONFIG_LED_STATUS_ON);
+       status_led_set(1, CONFIG_LED_STATUS_ON);
+       status_led_set(2, CONFIG_LED_STATUS_ON);
 
        omap_die_id_display();
 
diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index ae7959b..e5a8038 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -68,8 +68,8 @@ int board_init(void)
        /* boot param addr */
        gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
-#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_ON);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_ON);
 #endif
 
        return 0;
diff --git a/board/motionpro/motionpro.c b/board/motionpro/motionpro.c
index dc237c1..7fa81b8 100644
--- a/board/motionpro/motionpro.c
+++ b/board/motionpro/motionpro.c
@@ -15,9 +15,9 @@
 #include <miiphy.h>
 #include <libfdt.h>
 
-#if defined(CONFIG_STATUS_LED)
+#if defined(CONFIG_LED_STATUS)
 #include <status_led.h>
-#endif /* CONFIG_STATUS_LED */
+#endif /* CONFIG_LED_STATUS */
 
 /* Kollmorgen DPR initialization data */
 struct init_elem {
@@ -194,27 +194,46 @@ int ft_board_setup(void *blob, bd_t *bd)
 #endif /* CONFIG_OF_BOARD_SETUP */
 
 
-#if defined(CONFIG_STATUS_LED)
-void __led_init(led_id_t regaddr, int state)
+#if defined(CONFIG_LED_STATUS)
+vu_long *regcode_to_regaddr(led_id_t regcode)
 {
-       *((vu_long *) regaddr) |= ENABLE_GPIO_OUT;
+       /* GPT Enable and Mode Select Register address */
+       vu_long *reg_translate[] = {
+                                       (vu_long *)MPC5XXX_GPT6_ENABLE,
+                                       (vu_long *)MPC5XXX_GPT7_ENABLE,
+                                  };
+
+       if (ARRAY_SIZE(reg_translate) <= regcode)
+               return NULL;
+       return reg_translate[regcode];
+}
+
+void __led_init(led_id_t regcode, int state)
+{
+       vu_long *regaddr = regcode_to_regaddr(regcode);
+
+       *regaddr |= ENABLE_GPIO_OUT;
 
-       if (state == STATUS_LED_ON)
+       if (state == CONFIG_LED_STATUS_ON)
                *((vu_long *) regaddr) |= LED_ON;
        else
                *((vu_long *) regaddr) &= ~LED_ON;
 }
 
-void __led_set(led_id_t regaddr, int state)
+void __led_set(led_id_t regcode, int state)
 {
-       if (state == STATUS_LED_ON)
-               *((vu_long *) regaddr) |= LED_ON;
+       vu_long *regaddr = regcode_to_regaddr(regcode);
+
+       if (state == CONFIG_LED_STATUS_ON)
+               *regaddr |= LED_ON;
        else
-               *((vu_long *) regaddr) &= ~LED_ON;
+               *regaddr &= ~LED_ON;
 }
 
-void __led_toggle(led_id_t regaddr)
+void __led_toggle(led_id_t regcode)
 {
-       *((vu_long *) regaddr) ^= LED_ON;
+       vu_long *regaddr = regcode_to_regaddr(regcode);
+
+       *regaddr ^= LED_ON;
 }
-#endif /* CONFIG_STATUS_LED */
+#endif /* CONFIG_LED_STATUS */
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c 
b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
index 65cbbf1..f05fd0a 100644
--- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -13,7 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 #include <status_led.h>
 #endif
 
@@ -72,8 +72,8 @@ 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);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_STATE);
 #endif
 
        return 0;
diff --git a/board/samtec/vining_fpga/socfpga.c 
b/board/samtec/vining_fpga/socfpga.c
index f3a92b5..f888ecb 100644
--- a/board/samtec/vining_fpga/socfpga.c
+++ b/board/samtec/vining_fpga/socfpga.c
@@ -21,8 +21,8 @@ int board_late_init(void)
        const unsigned int usb_nrst_gpio = 35;
        int ret;
 
-       status_led_set(1, STATUS_LED_ON);
-       status_led_set(2, STATUS_LED_ON);
+       status_led_set(1, CONFIG_LED_STATUS_ON);
+       status_led_set(2, CONFIG_LED_STATUS_ON);
 
        /* Address of boot parameters for ATAG (if ATAG is used) */
        gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
index 7a858be..41b552a 100644
--- a/board/ti/beagle/Makefile
+++ b/board/ti/beagle/Makefile
@@ -6,4 +6,4 @@
 #
 
 obj-y  := beagle.o
-obj-$(CONFIG_STATUS_LED) += led.o
+obj-$(CONFIG_LED_STATUS) += led.o
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index cfdab3e..178bee5 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -16,7 +16,7 @@
 #include <common.h>
 #include <dm.h>
 #include <ns16550.h>
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 #include <status_led.h>
 #endif
 #include <twl4030.h>
@@ -95,8 +95,8 @@ int board_init(void)
        /* boot param addr */
        gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
-#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
-       status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_ON);
 #endif
 
        return 0;
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
index a913a4c..30b8b93 100644
--- a/board/ti/beagle/led.c
+++ b/board/ti/beagle/led.c
@@ -15,26 +15,26 @@
 #define BEAGLE_LED_USR0        150
 #define BEAGLE_LED_USR1        149
 
-#ifdef STATUS_LED_GREEN
+#ifdef CONFIG_LED_STATUS_GREEN
 void green_led_off(void)
 {
-       __led_set (STATUS_LED_GREEN, 0);
+       __led_set(CONFIG_LED_STATUS_GREEN, 0);
 }
 
 void green_led_on(void)
 {
-       __led_set (STATUS_LED_GREEN, 1);
+       __led_set(CONFIG_LED_STATUS_GREEN, 1);
 }
 #endif
 
 static int get_led_gpio(led_id_t mask)
 {
-#ifdef STATUS_LED_BIT
-       if (STATUS_LED_BIT & mask)
+#ifdef CONFIG_LED_STATUS0
+       if (CONFIG_LED_STATUS_BIT & mask)
                return BEAGLE_LED_USR0;
 #endif
-#ifdef STATUS_LED_BIT1
-       if (STATUS_LED_BIT1 & mask)
+#ifdef CONFIG_LED_STATUS1
+       if (CONFIG_LED_STATUS_BIT1 & mask)
                return BEAGLE_LED_USR1;
 #endif
 
diff --git a/cmd/Makefile b/cmd/Makefile
index 34bc544..566fed9 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -78,7 +78,7 @@ obj-$(CONFIG_CMD_ITEST) += itest.o
 obj-$(CONFIG_CMD_JFFS2) += jffs2.o
 obj-$(CONFIG_CMD_CRAMFS) += cramfs.o
 obj-$(CONFIG_CMD_LDRINFO) += ldrinfo.o
-obj-$(CONFIG_CMD_LED) += led.o
+obj-$(CONFIG_LED_STATUS_CMD) += led.o
 obj-$(CONFIG_CMD_LICENSE) += license.o
 obj-y += load.o
 obj-$(CONFIG_LOGBUFFER) += log.o
diff --git a/cmd/ide.c b/cmd/ide.c
index c942744..0fd401b 100644
--- a/cmd/ide.c
+++ b/cmd/ide.c
@@ -25,7 +25,7 @@
 #include <ide.h>
 #include <ata.h>
 
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 # include <status_led.h>
 #endif
 
diff --git a/cmd/led.c b/cmd/led.c
index b0f1a61..951a5e2 100644
--- a/cmd/led.c
+++ b/cmd/led.c
@@ -26,37 +26,38 @@ struct led_tbl_s {
 typedef struct led_tbl_s led_tbl_t;
 
 static const led_tbl_t led_commands[] = {
-#ifdef CONFIG_BOARD_SPECIFIC_LED
-#ifdef STATUS_LED_BIT
-       { "0", STATUS_LED_BIT, NULL, NULL, NULL },
+#ifdef CONFIG_LED_STATUS_BOARD_SPECIFIC
+#ifdef CONFIG_LED_STATUS0
+       { "0", CONFIG_LED_STATUS_BIT, NULL, NULL, NULL },
 #endif
-#ifdef STATUS_LED_BIT1
-       { "1", STATUS_LED_BIT1, NULL, NULL, NULL },
+#ifdef CONFIG_LED_STATUS1
+       { "1", CONFIG_LED_STATUS_BIT1, NULL, NULL, NULL },
 #endif
-#ifdef STATUS_LED_BIT2
-       { "2", STATUS_LED_BIT2, NULL, NULL, NULL },
+#ifdef CONFIG_LED_STATUS2
+       { "2", CONFIG_LED_STATUS_BIT2, NULL, NULL, NULL },
 #endif
-#ifdef STATUS_LED_BIT3
-       { "3", STATUS_LED_BIT3, NULL, NULL, NULL },
+#ifdef CONFIG_LED_STATUS3
+       { "3", CONFIG_LED_STATUS_BIT3, NULL, NULL, NULL },
 #endif
-#ifdef STATUS_LED_BIT4
-       { "4", STATUS_LED_BIT4, NULL, NULL, NULL },
+#ifdef CONFIG_LED_STATUS4
+       { "4", CONFIG_LED_STATUS_BIT4, NULL, NULL, NULL },
 #endif
-#ifdef STATUS_LED_BIT5
-       { "5", STATUS_LED_BIT5, NULL, NULL, NULL },
+#ifdef CONFIG_LED_STATUS5
+       { "5", CONFIG_LED_STATUS_BIT5, NULL, NULL, NULL },
 #endif
 #endif
-#ifdef STATUS_LED_GREEN
-       { "green", STATUS_LED_GREEN, green_led_off, green_led_on, NULL },
+#ifdef CONFIG_LED_STATUS_GREEN
+       { "green", CONFIG_LED_STATUS_GREEN, green_led_off, green_led_on, NULL },
 #endif
-#ifdef STATUS_LED_YELLOW
-       { "yellow", STATUS_LED_YELLOW, yellow_led_off, yellow_led_on, NULL },
+#ifdef CONFIG_LED_STATUS_YELLOW
+       { "yellow", CONFIG_LED_STATUS_YELLOW, yellow_led_off, yellow_led_on,
+         NULL },
 #endif
-#ifdef STATUS_LED_RED
-       { "red", STATUS_LED_RED, red_led_off, red_led_on, NULL },
+#ifdef CONFIG_LED_STATUS_RED
+       { "red", CONFIG_LED_STATUS_RED, red_led_off, red_led_on, NULL },
 #endif
-#ifdef STATUS_LED_BLUE
-       { "blue", STATUS_LED_BLUE, blue_led_off, blue_led_on, NULL },
+#ifdef CONFIG_LED_STATUS_BLUE
+       { "blue", CONFIG_LED_STATUS_BLUE, blue_led_off, blue_led_on, NULL },
 #endif
        { NULL, 0, NULL, NULL, NULL }
 };
@@ -110,14 +111,14 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * 
const argv[])
                                        led_commands[i].on();
                                else
                                        __led_set(led_commands[i].mask,
-                                                         STATUS_LED_ON);
+                                                         CONFIG_LED_STATUS_ON);
                                break;
                        case LED_OFF:
                                if (led_commands[i].off)
                                        led_commands[i].off();
                                else
                                        __led_set(led_commands[i].mask,
-                                                         STATUS_LED_OFF);
+                                                 CONFIG_LED_STATUS_OFF);
                                break;
                        case LED_TOGGLE:
                                if (led_commands[i].toggle)
@@ -149,36 +150,36 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * 
const argv[])
 U_BOOT_CMD(
        led, 4, 1, do_led,
        "["
-#ifdef CONFIG_BOARD_SPECIFIC_LED
-#ifdef STATUS_LED_BIT
+#ifdef CONFIG_LED_STATUS_BOARD_SPECIFIC
+#ifdef CONFIG_LED_STATUS0
        "0|"
 #endif
-#ifdef STATUS_LED_BIT1
+#ifdef CONFIG_LED_STATUS1
        "1|"
 #endif
-#ifdef STATUS_LED_BIT2
+#ifdef CONFIG_LED_STATUS2
        "2|"
 #endif
-#ifdef STATUS_LED_BIT3
+#ifdef CONFIG_LED_STATUS3
        "3|"
 #endif
-#ifdef STATUS_LED_BIT4
+#ifdef CONFIG_LED_STATUS4
        "4|"
 #endif
-#ifdef STATUS_LED_BIT5
+#ifdef CONFIG_LED_STATUS5
        "5|"
 #endif
 #endif
-#ifdef STATUS_LED_GREEN
+#ifdef CONFIG_LED_STATUS_GREEN
        "green|"
 #endif
-#ifdef STATUS_LED_YELLOW
+#ifdef CONFIG_LED_STATUS_YELLOW
        "yellow|"
 #endif
-#ifdef STATUS_LED_RED
+#ifdef CONFIG_LED_STATUS_RED
        "red|"
 #endif
-#ifdef STATUS_LED_BLUE
+#ifdef CONFIG_LED_STATUS_BLUE
        "blue|"
 #endif
        "all] [on|off|toggle|blink] [blink-freq in ms]",
diff --git a/common/board_r.c b/common/board_r.c
index a373352..46a43b9 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -596,11 +596,11 @@ static int initr_kgdb(void)
 }
 #endif
 
-#if defined(CONFIG_STATUS_LED)
+#if defined(CONFIG_LED_STATUS)
 static int initr_status_led(void)
 {
-#if defined(STATUS_LED_BOOT)
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_BLINKING);
+#if defined(CONFIG_LED_STATUS_BOOT)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_BLINKING);
 #else
        status_led_init();
 #endif
@@ -907,7 +907,7 @@ init_fnc_t init_sequence_r[] = {
 #if defined(CONFIG_MICROBLAZE) || defined(CONFIG_AVR32) || defined(CONFIG_M68K)
        timer_init,             /* initialize timer */
 #endif
-#if defined(CONFIG_STATUS_LED)
+#if defined(CONFIG_LED_STATUS)
        initr_status_led,
 #endif
        /* PPC has a udelay(20) here dating from 2002. Why? */
diff --git a/configs/TQM823L_defconfig b/configs/TQM823L_defconfig
index 7081ed6..8645193 100644
--- a/configs/TQM823L_defconfig
+++ b/configs/TQM823L_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM823M_defconfig b/configs/TQM823M_defconfig
index 496dc06..08bf149 100644
--- a/configs/TQM823M_defconfig
+++ b/configs/TQM823M_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM850L_defconfig b/configs/TQM850L_defconfig
index 0f711d1..1b87bcb 100644
--- a/configs/TQM850L_defconfig
+++ b/configs/TQM850L_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM850M_defconfig b/configs/TQM850M_defconfig
index 7a72ce9..15aa30b 100644
--- a/configs/TQM850M_defconfig
+++ b/configs/TQM850M_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM855L_defconfig b/configs/TQM855L_defconfig
index b034a04..aa8b4a0 100644
--- a/configs/TQM855L_defconfig
+++ b/configs/TQM855L_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM855M_defconfig b/configs/TQM855M_defconfig
index 05b4518..3a80d5a 100644
--- a/configs/TQM855M_defconfig
+++ b/configs/TQM855M_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM860L_defconfig b/configs/TQM860L_defconfig
index 5d8a088..8885164 100644
--- a/configs/TQM860L_defconfig
+++ b/configs/TQM860L_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM860M_defconfig b/configs/TQM860M_defconfig
index 023751d..00196f7 100644
--- a/configs/TQM860M_defconfig
+++ b/configs/TQM860M_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM862L_defconfig b/configs/TQM862L_defconfig
index 628d687..1fff2b4 100644
--- a/configs/TQM862L_defconfig
+++ b/configs/TQM862L_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM862M_defconfig b/configs/TQM862M_defconfig
index d1cf91c..afd6d6e 100644
--- a/configs/TQM862M_defconfig
+++ b/configs/TQM862M_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM866M_defconfig b/configs/TQM866M_defconfig
index e0cf770..cb2c869 100644
--- a/configs/TQM866M_defconfig
+++ b/configs/TQM866M_defconfig
@@ -10,5 +10,12 @@ CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/TQM885D_defconfig b/configs/TQM885D_defconfig
index 889de7b..89bc242 100644
--- a/configs/TQM885D_defconfig
+++ b/configs/TQM885D_defconfig
@@ -13,5 +13,12 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
+CONFIG_LED_STATUS=y
+# CONFIG_LED_STATUS_BOARD_SPECIFIC is not set
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/cl-som-am57x_defconfig b/configs/cl-som-am57x_defconfig
index 5d3bc11..6711075 100644
--- a/configs/cl-som-am57x_defconfig
+++ b/configs/cl-som-am57x_defconfig
@@ -23,6 +23,11 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=37
+CONFIG_LED_STATUS_STATE=2
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
diff --git a/configs/cm_t335_defconfig b/configs/cm_t335_defconfig
index e2c8162..b21631c 100644
--- a/configs/cm_t335_defconfig
+++ b/configs/cm_t335_defconfig
@@ -35,6 +35,12 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=64
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/cm_t3517_defconfig b/configs/cm_t3517_defconfig
index 115e451..1997e56 100644
--- a/configs/cm_t3517_defconfig
+++ b/configs/cm_t3517_defconfig
@@ -20,6 +20,13 @@ CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=186
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
index 4d9b203..9d23243 100644
--- a/configs/cm_t35_defconfig
+++ b/configs/cm_t35_defconfig
@@ -22,6 +22,13 @@ CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=186
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
diff --git a/configs/eb_cpu5282_defconfig b/configs/eb_cpu5282_defconfig
index 03d8e43..d53c6e8 100644
--- a/configs/eb_cpu5282_defconfig
+++ b/configs/eb_cpu5282_defconfig
@@ -12,4 +12,10 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=8
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
+CONFIG_LED_STATUS_CMD=y
 # CONFIG_CFB_CONSOLE is not set
diff --git a/configs/eb_cpu5282_internal_defconfig 
b/configs/eb_cpu5282_internal_defconfig
index 04d094a..1aed49a 100644
--- a/configs/eb_cpu5282_internal_defconfig
+++ b/configs/eb_cpu5282_internal_defconfig
@@ -11,4 +11,10 @@ CONFIG_CMD_I2C=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=8
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
+CONFIG_LED_STATUS_CMD=y
 # CONFIG_CFB_CONSOLE is not set
diff --git a/configs/edb9315a_defconfig b/configs/edb9315a_defconfig
index 9e8c6bb..86ae479 100644
--- a/configs/edb9315a_defconfig
+++ b/configs/edb9315a_defconfig
@@ -15,5 +15,17 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=0
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
+CONFIG_LED_STATUS_RED_ENABLE=y
+CONFIG_LED_STATUS_RED=1
+CONFIG_LED_STATUS_GREEN_ENABLE=y
+CONFIG_LED_STATUS_GREEN=0
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/igep0020_defconfig b/configs/igep0020_defconfig
index 50bb4ac..5fc0340 100644
--- a/configs/igep0020_defconfig
+++ b/configs/igep0020_defconfig
@@ -34,6 +34,13 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_CMD_UBI=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=27
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/igep0030_defconfig b/configs/igep0030_defconfig
index 42bd6fc..8acdccc 100644
--- a/configs/igep0030_defconfig
+++ b/configs/igep0030_defconfig
@@ -26,6 +26,13 @@ CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_UBI=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=16
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/motionpro_defconfig b/configs/motionpro_defconfig
index d5c9317..371ee2e 100644
--- a/configs/motionpro_defconfig
+++ b/configs/motionpro_defconfig
@@ -15,5 +15,15 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=0
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_FREQ=10
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=1
+CONFIG_LED_STATUS_FREQ1=10
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx23_olinuxino_defconfig b/configs/mx23_olinuxino_defconfig
index f67bb78..00cff96 100644
--- a/configs/mx23_olinuxino_defconfig
+++ b/configs/mx23_olinuxino_defconfig
@@ -19,6 +19,14 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=59
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
+CONFIG_LED_STATUS_CMD=y
 CONFIG_MMC_MXS=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index 32626a2..5050a39 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -18,6 +18,17 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT4_WRITE=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=2
+CONFIG_LED_STATUS_STATE1=2
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=1
+CONFIG_LED_STATUS_GREEN_ENABLE=y
+CONFIG_LED_STATUS_GREEN=2
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
diff --git a/configs/socfpga_vining_fpga_defconfig 
b/configs/socfpga_vining_fpga_defconfig
index f01b569..fb9bae4 100644
--- a/configs/socfpga_vining_fpga_defconfig
+++ b/configs/socfpga_vining_fpga_defconfig
@@ -46,6 +46,17 @@ CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
 CONFIG_DM_GPIO=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS_GPIO=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=48
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=53
+CONFIG_LED_STATUS2=y
+CONFIG_LED_STATUS_BIT2=54
+CONFIG_LED_STATUS3=y
+CONFIG_LED_STATUS_BIT3=65
+CONFIG_LED_STATUS_CMD=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_DW=y
 CONFIG_SPI_FLASH=y
diff --git a/configs/tqma6s_wru4_mmc_defconfig 
b/configs/tqma6s_wru4_mmc_defconfig
index e5cfcc6..2902c93 100644
--- a/configs/tqma6s_wru4_mmc_defconfig
+++ b/configs/tqma6s_wru4_mmc_defconfig
@@ -28,6 +28,26 @@ CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=0
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=1
+CONFIG_LED_STATUS_STATE1=2
+CONFIG_LED_STATUS2=y
+CONFIG_LED_STATUS_BIT2=2
+CONFIG_LED_STATUS_STATE2=2
+CONFIG_LED_STATUS3=y
+CONFIG_LED_STATUS_BIT3=3
+CONFIG_LED_STATUS_STATE3=2
+CONFIG_LED_STATUS4=y
+CONFIG_LED_STATUS_BIT4=4
+CONFIG_LED_STATUS_STATE4=2
+CONFIG_LED_STATUS5=y
+CONFIG_LED_STATUS_BIT5=5
+CONFIG_LED_STATUS_STATE5=2
+CONFIG_LED_STATUS_CMD=y
 CONFIG_PCA9551_LED=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
index 12a6843..9a2e5c6 100644
--- a/configs/tricorder_defconfig
+++ b/configs/tricorder_defconfig
@@ -18,6 +18,17 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_UBI=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=2
+CONFIG_LED_STATUS_STATE1=2
+CONFIG_LED_STATUS2=y
+CONFIG_LED_STATUS_BIT2=4
+CONFIG_LED_STATUS_STATE2=2
+CONFIG_LED_STATUS_CMD=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/tricorder_flash_defconfig 
b/configs/tricorder_flash_defconfig
index 32c2059..a477091 100644
--- a/configs/tricorder_flash_defconfig
+++ b/configs/tricorder_flash_defconfig
@@ -18,6 +18,17 @@ CONFIG_CMD_I2C=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_UBI=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=1
+CONFIG_LED_STATUS_STATE=2
+CONFIG_LED_STATUS1=y
+CONFIG_LED_STATUS_BIT1=2
+CONFIG_LED_STATUS_STATE1=2
+CONFIG_LED_STATUS2=y
+CONFIG_LED_STATUS_BIT2=4
+CONFIG_LED_STATUS_STATE2=2
+CONFIG_LED_STATUS_CMD=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_SYS_NS16550=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/v38b_defconfig b/configs/v38b_defconfig
index fb198b6..e5dd07a 100644
--- a/configs/v38b_defconfig
+++ b/configs/v38b_defconfig
@@ -10,6 +10,12 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
+CONFIG_LED_STATUS=y
+CONFIG_LED_STATUS0=y
+CONFIG_LED_STATUS_BIT=16
+CONFIG_LED_STATUS_STATE=1
+CONFIG_LED_STATUS_BOOT_ENABLE=y
+CONFIG_LED_STATUS_BOOT=0
 # CONFIG_PCI is not set
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 9fbb5a7..e3151ea 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -18,7 +18,7 @@ obj-$(CONFIG_CROS_EC_SANDBOX) += cros_ec_sandbox.o
 obj-$(CONFIG_CROS_EC_SPI) += cros_ec_spi.o
 endif
 obj-$(CONFIG_FSL_IIM) += fsl_iim.o
-obj-$(CONFIG_GPIO_LED) += gpio_led.o
+obj-$(CONFIG_LED_STATUS_GPIO) += gpio_led.o
 obj-$(CONFIG_I2C_EEPROM) += i2c_eeprom.o
 obj-$(CONFIG_FSL_MC9SDZ60) += mc9sdz60.o
 obj-$(CONFIG_MXC_OCOTP) += mxc_ocotp.o
@@ -34,7 +34,7 @@ endif
 endif
 obj-$(CONFIG_SMSC_LPC47M) += smsc_lpc47m.o
 obj-$(CONFIG_SMSC_SIO1007) += smsc_sio1007.o
-obj-$(CONFIG_STATUS_LED) += status_led.o
+obj-$(CONFIG_LED_STATUS) += status_led.o
 obj-$(CONFIG_SANDBOX) += swap_case.o
 ifdef CONFIG_SPL_OF_PLATDATA
 ifdef CONFIG_SPL_BUILD
diff --git a/drivers/misc/gpio_led.c b/drivers/misc/gpio_led.c
index 164c30d..b913069 100644
--- a/drivers/misc/gpio_led.c
+++ b/drivers/misc/gpio_led.c
@@ -17,7 +17,7 @@ static led_id_t gpio_led_inv[] = 
CONFIG_GPIO_LED_INVERTED_TABLE;
 
 static int gpio_led_gpio_value(led_id_t mask, int state)
 {
-       int i, gpio_value = (state == STATUS_LED_ON);
+       int i, gpio_value = (state == CONFIG_LED_STATUS_ON);
 
        for (i = 0; i < ARRAY_SIZE(gpio_led_inv); i++) {
                if (gpio_led_inv[i] == mask)
@@ -56,51 +56,51 @@ void __led_toggle(led_id_t mask)
 
 /* 'generic' override of colored LED stubs, to use GPIO functions instead */
 
-#ifdef STATUS_LED_RED
+#ifdef CONFIG_LED_STATUS_RED
 void red_led_on(void)
 {
-       __led_set(STATUS_LED_RED, STATUS_LED_ON);
+       __led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_ON);
 }
 
 void red_led_off(void)
 {
-       __led_set(STATUS_LED_RED, STATUS_LED_OFF);
+       __led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_OFF);
 }
 #endif
 
-#ifdef STATUS_LED_GREEN
+#ifdef CONFIG_LED_STATUS_GREEN
 void green_led_on(void)
 {
-       __led_set(STATUS_LED_GREEN, STATUS_LED_ON);
+       __led_set(CONFIG_LED_STATUS_GREEN, CONFIG_LED_STATUS_ON);
 }
 
 void green_led_off(void)
 {
-       __led_set(STATUS_LED_GREEN, STATUS_LED_OFF);
+       __led_set(CONFIG_LED_STATUS_GREEN, CONFIG_LED_STATUS_OFF);
 }
 #endif
 
-#ifdef STATUS_LED_YELLOW
+#ifdef CONFIG_LED_STATUS_YELLOW
 void yellow_led_on(void)
 {
-       __led_set(STATUS_LED_YELLOW, STATUS_LED_ON);
+       __led_set(CONFIG_LED_STATUS_YELLOW, CONFIG_LED_STATUS_ON);
 }
 
 void yellow_led_off(void)
 {
-       __led_set(STATUS_LED_YELLOW, STATUS_LED_OFF);
+       __led_set(CONFIG_LED_STATUS_YELLOW, CONFIG_LED_STATUS_OFF);
 }
 #endif
 
-#ifdef STATUS_LED_BLUE
+#ifdef CONFIG_LED_STATUS_BLUE
 void blue_led_on(void)
 {
-       __led_set(STATUS_LED_BLUE, STATUS_LED_ON);
+       __led_set(CONFIG_LED_STATUS_BLUE, CONFIG_LED_STATUS_ON);
 }
 
 void blue_led_off(void)
 {
-       __led_set(STATUS_LED_BLUE, STATUS_LED_OFF);
+       __led_set(CONFIG_LED_STATUS_BLUE, CONFIG_LED_STATUS_OFF);
 }
 #endif
 
diff --git a/drivers/misc/pca9551_led.c b/drivers/misc/pca9551_led.c
index 4da0319..226a31a 100644
--- a/drivers/misc/pca9551_led.c
+++ b/drivers/misc/pca9551_led.c
@@ -124,7 +124,7 @@ void __led_init(led_id_t id, int state)
 
 void __led_set(led_id_t mask, int state)
 {
-       if (state == STATUS_LED_OFF)
+       if (state == CONFIG_LED_STATUS_OFF)
                pca9551_led_set_state(mask, PCA9551_LED_STATE_OFF);
        else
                pca9551_led_set_state(mask, PCA9551_LED_STATE_ON);
diff --git a/drivers/misc/status_led.c b/drivers/misc/status_led.c
index 31e8831..3773c85 100644
--- a/drivers/misc/status_led.c
+++ b/drivers/misc/status_led.c
@@ -27,45 +27,45 @@ typedef struct {
 } led_dev_t;
 
 led_dev_t led_dev[] = {
-    {  STATUS_LED_BIT,
-       STATUS_LED_STATE,
-       STATUS_LED_PERIOD,
-       0,
-    },
-#if defined(STATUS_LED_BIT1)
-    {  STATUS_LED_BIT1,
-       STATUS_LED_STATE1,
-       STATUS_LED_PERIOD1,
-       0,
-    },
+       {       CONFIG_LED_STATUS_BIT,
+               CONFIG_LED_STATUS_STATE,
+               LED_STATUS_PERIOD,
+               0,
+       },
+#if defined(CONFIG_LED_STATUS1)
+       {       CONFIG_LED_STATUS_BIT1,
+               CONFIG_LED_STATUS_STATE1,
+               LED_STATUS_PERIOD1,
+               0,
+       },
 #endif
-#if defined(STATUS_LED_BIT2)
-    {  STATUS_LED_BIT2,
-       STATUS_LED_STATE2,
-       STATUS_LED_PERIOD2,
-       0,
-    },
+#if defined(CONFIG_LED_STATUS2)
+       {       CONFIG_LED_STATUS_BIT2,
+               CONFIG_LED_STATUS_STATE2,
+               LED_STATUS_PERIOD2,
+               0,
+       },
 #endif
-#if defined(STATUS_LED_BIT3)
-    {  STATUS_LED_BIT3,
-       STATUS_LED_STATE3,
-       STATUS_LED_PERIOD3,
-       0,
-    },
+#if defined(CONFIG_LED_STATUS3)
+       {       CONFIG_LED_STATUS_BIT3,
+               CONFIG_LED_STATUS_STATE3,
+               LED_STATUS_PERIOD3,
+               0,
+       },
 #endif
-#if defined(STATUS_LED_BIT4)
-    {  STATUS_LED_BIT4,
-       STATUS_LED_STATE4,
-       STATUS_LED_PERIOD4,
-       0,
-    },
+#if defined(CONFIG_LED_STATUS4)
+       {       CONFIG_LED_STATUS_BIT4,
+               CONFIG_LED_STATUS_STATE4,
+               LED_STATUS_PERIOD4,
+               0,
+       },
 #endif
-#if defined(STATUS_LED_BIT5)
-    {  STATUS_LED_BIT5,
-       STATUS_LED_STATE5,
-       STATUS_LED_PERIOD5,
-       0,
-    },
+#if defined(CONFIG_LED_STATUS5)
+       {       CONFIG_LED_STATUS_BIT5,
+               CONFIG_LED_STATUS_STATE5,
+               LED_STATUS_PERIOD5,
+               0,
+       },
 #endif
 };
 
@@ -93,7 +93,7 @@ void status_led_tick (ulong timestamp)
 
        for (i = 0, ld = led_dev; i < MAX_LED_DEV; i++, ld++) {
 
-               if (ld->state != STATUS_LED_BLINKING)
+               if (ld->state != CONFIG_LED_STATUS_BLINKING)
                        continue;
 
                if (++ld->cnt >= ld->period) {
@@ -117,9 +117,9 @@ void status_led_set (int led, int state)
        ld = &led_dev[led];
 
        ld->state = state;
-       if (state == STATUS_LED_BLINKING) {
+       if (state == CONFIG_LED_STATUS_BLINKING) {
                ld->cnt = 0;            /* always start with full period    */
-               state = STATUS_LED_ON;  /* always start with LED _ON_       */
+               state = CONFIG_LED_STATUS_ON;   /* always start with LED _ON_ */
        }
        __led_set (ld->mask, state);
 }
diff --git a/include/common.h b/include/common.h
index 695478c..2af555e 100644
--- a/include/common.h
+++ b/include/common.h
@@ -911,7 +911,7 @@ static inline struct in_addr getenv_ip(char *var)
 
 int    pcmcia_init (void);
 
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 # include <status_led.h>
 #endif
 
diff --git a/include/configs/PATI.h b/include/configs/PATI.h
index c8d0a58..9589c35 100644
--- a/include/configs/PATI.h
+++ b/include/configs/PATI.h
@@ -50,8 +50,6 @@
 
 #define CONFIG_WATCHDOG                                /* turn on platform 
specific watchdog   */
 
-/*#define CONFIG_STATUS_LED    1               */ /* Enable status led */
-
 #define CONFIG_LOADS_ECHO      1               /* Echo on for serial download 
*/
 
 /*
diff --git a/include/configs/TQM823L.h b/include/configs/TQM823L.h
index 2fd5fa3..41879f8 100644
--- a/include/configs/TQM823L.h
+++ b/include/configs/TQM823L.h
@@ -76,12 +76,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#if defined(CONFIG_LCD)
-# undef         CONFIG_STATUS_LED              /* disturbs display             
*/
-#else
-# define CONFIG_STATUS_LED     1       /* Status LED enabled           */
-#endif /* CONFIG_LCD */
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM823M.h b/include/configs/TQM823M.h
index 11bba09..ad5c922 100644
--- a/include/configs/TQM823M.h
+++ b/include/configs/TQM823M.h
@@ -74,12 +74,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#ifdef CONFIG_LCD
-# undef         CONFIG_STATUS_LED              /* disturbs display             
*/
-#else
-# define CONFIG_STATUS_LED     1       /* Status LED enabled           */
-#endif /* CONFIG_LCD */
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM850L.h b/include/configs/TQM850L.h
index 548f1bc..03c7cb9 100644
--- a/include/configs/TQM850L.h
+++ b/include/configs/TQM850L.h
@@ -69,8 +69,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM850M.h b/include/configs/TQM850M.h
index 582b934..3c716ce 100644
--- a/include/configs/TQM850M.h
+++ b/include/configs/TQM850M.h
@@ -69,8 +69,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM855L.h b/include/configs/TQM855L.h
index 814290f..c4c90aa 100644
--- a/include/configs/TQM855L.h
+++ b/include/configs/TQM855L.h
@@ -71,8 +71,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM855M.h b/include/configs/TQM855M.h
index 4a657ff..56e2a45 100644
--- a/include/configs/TQM855M.h
+++ b/include/configs/TQM855M.h
@@ -71,8 +71,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /* enable I2C and select the hardware/software driver */
diff --git a/include/configs/TQM860L.h b/include/configs/TQM860L.h
index bdfe509..1875609 100644
--- a/include/configs/TQM860L.h
+++ b/include/configs/TQM860L.h
@@ -71,8 +71,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM860M.h b/include/configs/TQM860M.h
index ce6b404..15df1da 100644
--- a/include/configs/TQM860M.h
+++ b/include/configs/TQM860M.h
@@ -71,8 +71,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM862L.h b/include/configs/TQM862L.h
index 66dbcb6..b3b0722 100644
--- a/include/configs/TQM862L.h
+++ b/include/configs/TQM862L.h
@@ -74,8 +74,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM862M.h b/include/configs/TQM862M.h
index 478f16b..45f10e5 100644
--- a/include/configs/TQM862M.h
+++ b/include/configs/TQM862M.h
@@ -74,8 +74,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define        CONFIG_STATUS_LED       1       /* Status LED enabled           
*/
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /*
diff --git a/include/configs/TQM866M.h b/include/configs/TQM866M.h
index 5501622..8f3efec 100644
--- a/include/configs/TQM866M.h
+++ b/include/configs/TQM866M.h
@@ -85,8 +85,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define CONFIG_STATUS_LED      1       /* Status LED enabled           */
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /* enable I2C and select the hardware/software driver */
diff --git a/include/configs/TQM885D.h b/include/configs/TQM885D.h
index b246926..d75b25d 100644
--- a/include/configs/TQM885D.h
+++ b/include/configs/TQM885D.h
@@ -79,8 +79,6 @@
 
 #undef CONFIG_WATCHDOG                 /* watchdog disabled            */
 
-#define CONFIG_STATUS_LED      1       /* Status LED enabled           */
-
 #undef CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
 
 /* enable I2C and select the hardware/software driver */
diff --git a/include/configs/bf526-ezbrd.h b/include/configs/bf526-ezbrd.h
index d0a364c..7d75e73 100644
--- a/include/configs/bf526-ezbrd.h
+++ b/include/configs/bf526-ezbrd.h
@@ -138,22 +138,6 @@
 #define CONFIG_UART_CONSOLE    1
 
 /* define to enable run status via led */
-/* #define CONFIG_STATUS_LED */
-#ifdef CONFIG_STATUS_LED
-#define CONFIG_GPIO_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-/* use LED0 to indicate booting/alive */
-#define STATUS_LED_BOOT 0
-#define STATUS_LED_BIT GPIO_PF8
-#define STATUS_LED_STATE STATUS_LED_ON
-#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 4)
-/* use LED1 to indicate crash */
-#define STATUS_LED_CRASH 1
-#define STATUS_LED_BIT1 GPIO_PG11
-#define STATUS_LED_STATE1 STATUS_LED_ON
-#define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 2)
-/* #define STATUS_LED_BIT2 GPIO_PG12 */
-#endif
 
 /*
  * Pull in common ADI header for remaining command/environment setup
diff --git a/include/configs/bf533-stamp.h b/include/configs/bf533-stamp.h
index ec4d93c..afb3ef6 100644
--- a/include/configs/bf533-stamp.h
+++ b/include/configs/bf533-stamp.h
@@ -186,22 +186,6 @@
 /* #define CONFIG_SHOW_BOOT_PROGRESS */
 
 /* define to enable run status via led */
-/* #define CONFIG_STATUS_LED */
-#ifdef CONFIG_STATUS_LED
-#define CONFIG_GPIO_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-/* use LED0 to indicate booting/alive */
-#define STATUS_LED_BOOT 0
-#define STATUS_LED_BIT GPIO_PF2
-#define STATUS_LED_STATE STATUS_LED_ON
-#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 4)
-/* use LED1 to indicate crash */
-#define STATUS_LED_CRASH 1
-#define STATUS_LED_BIT1 GPIO_PF3
-#define STATUS_LED_STATE1 STATUS_LED_ON
-#define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 2)
-/* #define STATUS_LED_BIT2 GPIO_PF4 */
-#endif
 
 /* define to enable splash screen support */
 
diff --git a/include/configs/cl-som-am57x.h b/include/configs/cl-som-am57x.h
index 8297182..6692acc 100644
--- a/include/configs/cl-som-am57x.h
+++ b/include/configs/cl-som-am57x.h
@@ -28,17 +28,6 @@
 #define CONFIG_MISC_INIT_R
 #define CONFIG_REVISION_TAG
 
-/* Status LED */
-#define CONFIG_STATUS_LED              /* Status LED enabled */
-#define CONFIG_GPIO_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define GREEN_LED_DEV                  0
-                                       /* cl_som_am57x Green LED is GPIO2_5 */
-#define GREEN_LED_GPIO                 37
-#define STATUS_LED_BIT                 GREEN_LED_GPIO
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-
 /* PMIC I2C bus number */
 #define CONFIG_SYS_SPD_BUS_NUM 3
 
diff --git a/include/configs/cm_t335.h b/include/configs/cm_t335.h
index 8f24174..0076e65 100644
--- a/include/configs/cm_t335.h
+++ b/include/configs/cm_t335.h
@@ -153,14 +153,7 @@
 #define GPIO_PIN(_bank, _pin)          ((_bank << 5) + _pin)
 
 /* Status LED */
-#define CONFIG_STATUS_LED
-#define CONFIG_GPIO_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define STATUS_LED_BIT                 GPIO_PIN(2, 0)
 /* Status LED polarity is inversed, so init it in the "off" state */
-#define STATUS_LED_STATE               STATUS_LED_OFF
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BOOT                        0
 
 /* EEPROM */
 #define CONFIG_CMD_EEPROM
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index 0c72443..ab695cb 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -254,20 +254,12 @@
                                         GENERATED_GBL_DATA_SIZE)
 
 /* Status LED */
-#define CONFIG_STATUS_LED              /* Status LED enabled */
-#define CONFIG_BOARD_SPECIFIC_LED
-#define CONFIG_GPIO_LED
 #define GREEN_LED_GPIO                 186 /* CM-T35 Green LED is GPIO186 */
-#define GREEN_LED_DEV                  0
-#define STATUS_LED_BIT                 GREEN_LED_GPIO
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BOOT                        GREEN_LED_DEV
 
 #define CONFIG_SPLASHIMAGE_GUARD
 
 /* GPIO banks */
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 #define CONFIG_OMAP3_GPIO_6    /* GPIO186 is in GPIO bank 6  */
 #endif
 
diff --git a/include/configs/cm_t3517.h b/include/configs/cm_t3517.h
index 874a889..6ee61d5 100644
--- a/include/configs/cm_t3517.h
+++ b/include/configs/cm_t3517.h
@@ -257,18 +257,10 @@
                                         GENERATED_GBL_DATA_SIZE)
 
 /* Status LED */
-#define CONFIG_STATUS_LED              /* Status LED enabled */
-#define CONFIG_BOARD_SPECIFIC_LED
-#define CONFIG_GPIO_LED
 #define GREEN_LED_GPIO                 186 /* CM-T3517 Green LED is GPIO186 */
-#define GREEN_LED_DEV                  0
-#define STATUS_LED_BIT                 GREEN_LED_GPIO
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BOOT                        GREEN_LED_DEV
 
 /* GPIO banks */
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 #define CONFIG_OMAP3_GPIO_6    /* GPIO186 is in GPIO bank 6  */
 #endif
 
diff --git a/include/configs/eb_cpu5282.h b/include/configs/eb_cpu5282.h
index 4a868c5..dc08db6 100644
--- a/include/configs/eb_cpu5282.h
+++ b/include/configs/eb_cpu5282.h
@@ -35,13 +35,7 @@
 
 #define CONFIG_HW_WATCHDOG
 
-#define CONFIG_STATUS_LED
-#define CONFIG_BOARD_SPECIFIC_LED
 #define STATUS_LED_ACTIVE              0
-#define STATUS_LED_BIT                 0x0008  /* Timer7 GPIO */
-#define STATUS_LED_BOOT                        0
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_STATE               STATUS_LED_OFF
 
 /*----------------------------------------------------------------------*
  * Configuration for environment                                       *
@@ -65,7 +59,6 @@
  */
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_CMD_DATE
-#define CONFIG_CMD_LED
 
 #define CONFIG_MCFTMR
 
diff --git a/include/configs/edb93xx.h b/include/configs/edb93xx.h
index 9080b9a..9cc62ed 100644
--- a/include/configs/edb93xx.h
+++ b/include/configs/edb93xx.h
@@ -102,20 +102,7 @@
 #define CONFIG_PL01x_PORTS     {(void *)CONFIG_SYS_SERIAL0}
 
 /* Status LED */
-#define CONFIG_STATUS_LED              1 /* Status LED enabled */
-#define CONFIG_BOARD_SPECIFIC_LED      1
-#define STATUS_LED_GREEN               0
-#define STATUS_LED_RED                 1
-/* Green */
-#define STATUS_LED_BIT                 STATUS_LED_GREEN
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-/* Red */
-#define STATUS_LED_BIT1                        STATUS_LED_RED
-#define STATUS_LED_STATE1              STATUS_LED_OFF
-#define STATUS_LED_PERIOD1             (CONFIG_SYS_HZ / 2)
 /* Optional value */
-#define STATUS_LED_BOOT                        STATUS_LED_BIT
 
 /* Network hardware configuration */
 #define CONFIG_DRIVER_EP93XX_MAC
diff --git a/include/configs/motionpro.h b/include/configs/motionpro.h
index 917350f..9b8a7ea 100644
--- a/include/configs/motionpro.h
+++ b/include/configs/motionpro.h
@@ -283,24 +283,10 @@
 /*
  * Status LED configuration
  */
-#define CONFIG_STATUS_LED              /* Status LED enabled */
-#define CONFIG_BOARD_SPECIFIC_LED
 
 #define ENABLE_GPIO_OUT                0x00000024
 #define LED_ON                 0x00000010
 
-#ifndef __ASSEMBLY__
-/*
- * In case of Motion-PRO, a LED is identified by its corresponding
- * GPT Enable and Mode Select Register.
- */
-typedef volatile unsigned long * led_id_t;
-
-extern void __led_init(led_id_t id, int state);
-extern void __led_toggle(led_id_t id);
-extern void __led_set(led_id_t id, int state);
-#endif /* __ASSEMBLY__ */
-
 /*
  * Temperature sensor
  */
diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h
index 36ff7ce..d05b922 100644
--- a/include/configs/mx23_olinuxino.h
+++ b/include/configs/mx23_olinuxino.h
@@ -14,8 +14,6 @@
 #define CONFIG_SYS_NO_FLASH
 #define CONFIG_DOS_PARTITION
 
-#define CONFIG_CMD_LED
-
 /* Memory configuration */
 #define CONFIG_NR_DRAM_BANKS           1               /* 1 bank of DRAM */
 #define PHYS_SDRAM_1                   0x40000000      /* Base address */
@@ -34,13 +32,6 @@
 #endif
 
 /* Status LED */
-#define CONFIG_STATUS_LED
-#define CONFIG_GPIO_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define STATUS_LED_BOOT                0
-#define STATUS_LED_BIT         MX23_PAD_SSP1_DETECT__GPIO_2_1
-#define STATUS_LED_STATE       STATUS_LED_ON
-#define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
 /* USB */
 #ifdef CONFIG_CMD_USB
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 9850aa6..c69b325 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -35,16 +35,6 @@
 #define CONFIG_ENV_OVERWRITE
 
 /* Status LED */
-#define CONFIG_STATUS_LED              1
-#define CONFIG_BOARD_SPECIFIC_LED      1
-#define STATUS_LED_BIT                 0x01
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT1                        0x02
-#define STATUS_LED_STATE1              STATUS_LED_ON
-#define STATUS_LED_PERIOD1             (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BOOT                        STATUS_LED_BIT
-#define STATUS_LED_GREEN               STATUS_LED_BIT1
 
 /* Enable Multi Bus support for I2C */
 #define CONFIG_I2C_MULTI_BUS           1
@@ -88,7 +78,6 @@
                                        "4m(kernel),-(fs)"
 
 #define CONFIG_CMD_NAND                /* NAND support                 */
-#define CONFIG_CMD_LED         /* LED support                  */
 
 #define CONFIG_VIDEO_OMAP3     /* DSS Support                  */
 
diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h
index e6d7db0..ac0df3e 100644
--- a/include/configs/omap3_igep00x0.h
+++ b/include/configs/omap3_igep00x0.h
@@ -30,19 +30,11 @@
 /* Status LED available for IGEP0020 and IGEP0030 but not IGEP0032 */
 #if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020) || \
                       (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
-#define CONFIG_STATUS_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define CONFIG_GPIO_LED
 #if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020)
 #define RED_LED_GPIO 27
 #elif (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
 #define RED_LED_GPIO 16
 #endif
-#define RED_LED_DEV                    0
-#define STATUS_LED_BIT                 RED_LED_GPIO
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BOOT                        RED_LED_DEV
 #endif
 
 /* GPIO banks */
diff --git a/include/configs/socfpga_vining_fpga.h 
b/include/configs/socfpga_vining_fpga.h
index c5555e6..eef664e 100644
--- a/include/configs/socfpga_vining_fpga.h
+++ b/include/configs/socfpga_vining_fpga.h
@@ -15,7 +15,6 @@
 #define CONFIG_HW_WATCHDOG
 
 #define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_LED
 
 /* Memory configurations */
 #define PHYS_SDRAM_1_SIZE              0x40000000      /* 1GiB on VINING_FPGA 
*/
@@ -43,21 +42,6 @@
  *   2 ... Bottom Green
  *   3 ... Bottom Red
  */
-#define CONFIG_STATUS_LED
-#define CONFIG_GPIO_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define STATUS_LED_BIT         48
-#define STATUS_LED_STATE       STATUS_LED_OFF
-#define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT1                53
-#define STATUS_LED_STATE1      STATUS_LED_OFF
-#define STATUS_LED_PERIOD1     (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT2                54
-#define STATUS_LED_STATE2      STATUS_LED_OFF
-#define STATUS_LED_PERIOD2     (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT3                65
-#define STATUS_LED_STATE3      STATUS_LED_OFF
-#define STATUS_LED_PERIOD3     (CONFIG_SYS_HZ / 2)
 
 /* Ethernet on SoC (EMAC) */
 #if defined(CONFIG_CMD_NET)
diff --git a/include/configs/stm32f429-discovery.h 
b/include/configs/stm32f429-discovery.h
index f05c1aa..6b35641 100644
--- a/include/configs/stm32f429-discovery.h
+++ b/include/configs/stm32f429-discovery.h
@@ -42,7 +42,6 @@
 #define CONFIG_ENV_SECT_SIZE           (128 << 10)
 #define CONFIG_ENV_SIZE                        (8 << 10)
 
-#define CONFIG_BOARD_SPECIFIC_LED
 #define CONFIG_RED_LED                 110
 #define CONFIG_GREEN_LED               109
 
diff --git a/include/configs/tqma6_wru4.h b/include/configs/tqma6_wru4.h
index 96f15cd..a378406 100644
--- a/include/configs/tqma6_wru4.h
+++ b/include/configs/tqma6_wru4.h
@@ -37,27 +37,6 @@
 #define CONFIG_CMD_DATE
 
 /* LED */
-#define CONFIG_CMD_LED
-#define CONFIG_STATUS_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define STATUS_LED_BIT                 0
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT1                        1
-#define STATUS_LED_STATE1              STATUS_LED_ON
-#define STATUS_LED_PERIOD1             (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT2                        2
-#define STATUS_LED_STATE2              STATUS_LED_ON
-#define STATUS_LED_PERIOD2             (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT3                        3
-#define STATUS_LED_STATE3              STATUS_LED_ON
-#define STATUS_LED_PERIOD3             (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT4                        4
-#define STATUS_LED_STATE4              STATUS_LED_ON
-#define STATUS_LED_PERIOD4             (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT5                        5
-#define STATUS_LED_STATE5              STATUS_LED_ON
-#define STATUS_LED_PERIOD5             (CONFIG_SYS_HZ / 2)
 
 /* Bootcounter */
 #define CONFIG_BOOTCOUNT_LIMIT
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index a300f38..a961e5c 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -60,18 +60,6 @@
 #define CONFIG_OMAP3_GPIO_2            /* GPIO32..63 are in GPIO bank 2 */
 
 /* LED support */
-#define CONFIG_STATUS_LED
-#define CONFIG_BOARD_SPECIFIC_LED
-#define CONFIG_CMD_LED                 /* LED command */
-#define STATUS_LED_BIT                 (1 << 0)
-#define STATUS_LED_STATE               STATUS_LED_ON
-#define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT1                        (1 << 1)
-#define STATUS_LED_STATE1              STATUS_LED_ON
-#define STATUS_LED_PERIOD1             (CONFIG_SYS_HZ / 2)
-#define STATUS_LED_BIT2                        (1 << 2)
-#define STATUS_LED_STATE2              STATUS_LED_ON
-#define STATUS_LED_PERIOD2             (CONFIG_SYS_HZ / 2)
 
 /* NS16550 Configuration */
 #define CONFIG_SYS_NS16550_SERIAL
diff --git a/include/configs/v38b.h b/include/configs/v38b.h
index 229c242..7d01323 100644
--- a/include/configs/v38b.h
+++ b/include/configs/v38b.h
@@ -291,8 +291,6 @@
 /*
  * Status LED
  */
-#define  CONFIG_STATUS_LED             /* Status LED enabled */
-#define  CONFIG_BOARD_SPECIFIC_LED     /* version has board specific leds */
 
 #define CONFIG_SYS_LED_BASE    MPC5XXX_GPT7_ENABLE     /* Timer 7 GPIO */
 #ifndef __ASSEMBLY__
diff --git a/include/status_led.h b/include/status_led.h
index 396ea88..f838f36 100644
--- a/include/status_led.h
+++ b/include/status_led.h
@@ -17,11 +17,24 @@
 #ifndef _STATUS_LED_H_
 #define        _STATUS_LED_H_
 
-#ifdef CONFIG_STATUS_LED
-
-#define STATUS_LED_OFF         0
-#define STATUS_LED_BLINKING    1
-#define STATUS_LED_ON          2
+#ifdef CONFIG_LED_STATUS
+
+#define LED_STATUS_PERIOD      (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ)
+#ifdef CONFIG_LED_STATUS1
+#define LED_STATUS_PERIOD1     (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ1)
+#endif /* CONFIG_LED_STATUS1 */
+#ifdef CONFIG_LED_STATUS2
+#define LED_STATUS_PERIOD2     (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ2)
+#endif /* CONFIG_LED_STATUS2 */
+#ifdef CONFIG_LED_STATUS3
+#define LED_STATUS_PERIOD3     (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ3)
+#endif /* CONFIG_LED_STATUS3 */
+#ifdef CONFIG_LED_STATUS4
+#define LED_STATUS_PERIOD4     (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ4)
+#endif /* CONFIG_LED_STATUS4 */
+#ifdef CONFIG_LED_STATUS5
+#define LED_STATUS_PERIOD5     (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ5)
+#endif /* CONFIG_LED_STATUS5 */
 
 void status_led_init(void);
 void status_led_tick (unsigned long timestamp);
@@ -34,14 +47,8 @@ void status_led_set  (int led, int state);
 # define STATUS_LED_ODR                im_cpm.cp_pbodr
 # define STATUS_LED_DAT                im_cpm.cp_pbdat
 
-# define STATUS_LED_BIT                0x00000001
-# define STATUS_LED_PERIOD     (CONFIG_SYS_HZ / 2)
-# define STATUS_LED_STATE      STATUS_LED_BLINKING
-
 # define STATUS_LED_ACTIVE     1               /* LED on for bit == 1  */
 
-# define STATUS_LED_BOOT       0               /* LED 0 used for boot status */
-
 /*****  MVS v1  **********************************************************/
 #elif (defined(CONFIG_MVS) && CONFIG_MVS < 2)
 # define STATUS_LED_PAR                im_ioport.iop_pdpar
@@ -49,17 +56,10 @@ void status_led_set  (int led, int state);
 # undef  STATUS_LED_ODR
 # define STATUS_LED_DAT                im_ioport.iop_pddat
 
-# define STATUS_LED_BIT                0x00000001
-# define STATUS_LED_PERIOD     (CONFIG_SYS_HZ / 2)
-# define STATUS_LED_STATE      STATUS_LED_BLINKING
-
 # define STATUS_LED_ACTIVE     1               /* LED on for bit == 1  */
 
-# define STATUS_LED_BOOT       0               /* LED 0 used for boot status */
-
 /*****  Someone else defines these  *************************************/
 #elif defined(STATUS_LED_PAR)
-
   /*
    * ADVICE: Define in your board configuration file rather than
    * filling this file up with lots of custom board stuff.
@@ -67,26 +67,9 @@ void status_led_set  (int led, int state);
 
 #elif defined(CONFIG_V38B)
 
-# define STATUS_LED_BIT                0x0010                  /* Timer7 GPIO 
*/
-# define STATUS_LED_PERIOD     (CONFIG_SYS_HZ / 2)
-# define STATUS_LED_STATE      STATUS_LED_BLINKING
-
 # define STATUS_LED_ACTIVE     0               /* LED on for bit == 0 */
-# define STATUS_LED_BOOT       0               /* LED 0 used for boot status */
-
-#elif defined(CONFIG_MOTIONPRO)
-
-#define STATUS_LED_BIT         ((vu_long *) MPC5XXX_GPT6_ENABLE)
-#define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 10)
-#define STATUS_LED_STATE       STATUS_LED_BLINKING
-
-#define STATUS_LED_BIT1                ((vu_long *) MPC5XXX_GPT7_ENABLE)
-#define STATUS_LED_PERIOD1     (CONFIG_SYS_HZ / 10)
-#define STATUS_LED_STATE1      STATUS_LED_OFF
-
-#define STATUS_LED_BOOT                0       /* LED 0 used for boot status */
 
-#elif defined(CONFIG_BOARD_SPECIFIC_LED)
+#elif defined(CONFIG_LED_STATUS_BOARD_SPECIFIC)
 /* led_id_t is unsigned long mask */
 typedef unsigned long led_id_t;
 
@@ -99,11 +82,11 @@ void __led_blink(led_id_t mask, int freq);
 #endif
 /************************************************************************/
 
-#ifndef CONFIG_BOARD_SPECIFIC_LED
+#ifndef CONFIG_LED_STATUS_BOARD_SPECIFIC
 # include <asm/status_led.h>
 #endif
 
-#endif /* CONFIG_STATUS_LED    */
+#endif /* CONFIG_LED_STATUS    */
 
 /*
  * Coloured LEDs API
diff --git a/net/bootp.c b/net/bootp.c
index 42e14ed..be8f710 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -15,7 +15,7 @@
 #include <net/tftp.h>
 #include "bootp.h"
 #include "nfs.h"
-#ifdef CONFIG_STATUS_LED
+#ifdef CONFIG_LED_STATUS
 #include <status_led.h>
 #endif
 #ifdef CONFIG_BOOTP_RANDOM_DELAY
@@ -359,8 +359,8 @@ static void bootp_handler(uchar *pkt, unsigned dest, struct 
in_addr sip,
        /*
         *      Got a good BOOTP reply.  Copy the data into our variables.
         */
-#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_OFF);
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
+       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_OFF);
 #endif
 
        store_net_params(bp);           /* Store net parameters from reply */
diff --git a/net/net.c b/net/net.c
index 671d45d..6e67877 100644
--- a/net/net.c
+++ b/net/net.c
@@ -88,7 +88,7 @@
 #include <errno.h>
 #include <net.h>
 #include <net/tftp.h>
-#if defined(CONFIG_STATUS_LED)
+#if defined(CONFIG_LED_STATUS)
 #include <miiphy.h>
 #include <status_led.h>
 #endif
@@ -518,15 +518,15 @@ restart:
 
 #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
 #if    defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN)        && \
-       defined(CONFIG_STATUS_LED)                      && \
-       defined(STATUS_LED_RED)
+       defined(CONFIG_LED_STATUS)                      && \
+       defined(CONFIG_LED_STATUS_RED)
        /*
         * Echo the inverted link state to the fault LED.
         */
        if (miiphy_link(eth_get_dev()->name, CONFIG_SYS_FAULT_MII_ADDR))
-               status_led_set(STATUS_LED_RED, STATUS_LED_OFF);
+               status_led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_OFF);
        else
-               status_led_set(STATUS_LED_RED, STATUS_LED_ON);
+               status_led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_ON);
 #endif /* CONFIG_SYS_FAULT_ECHO_LINK_DOWN, ... */
 #endif /* CONFIG_MII, ... */
 #ifdef CONFIG_USB_KEYBOARD
@@ -583,16 +583,18 @@ restart:
 
 #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
 #if    defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN)        && \
-       defined(CONFIG_STATUS_LED)                      && \
-       defined(STATUS_LED_RED)
+       defined(CONFIG_LED_STATUS)                      && \
+       defined(CONFIG_LED_STATUS_RED)
                        /*
                         * Echo the inverted link state to the fault LED.
                         */
                        if (miiphy_link(eth_get_dev()->name,
                                        CONFIG_SYS_FAULT_MII_ADDR))
-                               status_led_set(STATUS_LED_RED, STATUS_LED_OFF);
+                               status_led_set(CONFIG_LED_STATUS_RED,
+                                              CONFIG_LED_STATUS_OFF);
                        else
-                               status_led_set(STATUS_LED_RED, STATUS_LED_ON);
+                               status_led_set(CONFIG_LED_STATUS_RED,
+                                              CONFIG_LED_STATUS_ON);
 #endif /* CONFIG_SYS_FAULT_ECHO_LINK_DOWN, ... */
 #endif /* CONFIG_MII, ... */
                        debug_cond(DEBUG_INT_STATE, "--- net_loop timeout\n");
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 12c7878..3ea1c85 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -333,7 +333,6 @@ CONFIG_BOARD_POSTCLK_INIT
 CONFIG_BOARD_RESET
 CONFIG_BOARD_REVISION_TAG
 CONFIG_BOARD_SIZE_LIMIT
-CONFIG_BOARD_SPECIFIC_LED
 CONFIG_BOARD_TAURUS
 CONFIG_BOARD_TYPES
 CONFIG_BOOGER
@@ -537,7 +536,6 @@ CONFIG_CMD_IRQ
 CONFIG_CMD_JFFS2
 CONFIG_CMD_KGDB
 CONFIG_CMD_LDRINFO
-CONFIG_CMD_LED
 CONFIG_CMD_LOADY
 CONFIG_CMD_LZMADEC
 CONFIG_CMD_MAX6957
@@ -1319,7 +1317,6 @@ CONFIG_GPCS_PHY3_ADDR
 CONFIG_GPCS_PHY_ADDR
 CONFIG_GPIO
 CONFIG_GPIO_ENABLE_SPI_FLASH
-CONFIG_GPIO_LED
 CONFIG_GPIO_LED_INVERTED_TABLE
 CONFIG_GPIO_LED_STUBS
 CONFIG_GREEN_LED
@@ -3097,7 +3094,6 @@ CONFIG_STAMP_CF
 CONFIG_STANDALONE_LOAD_ADDR
 CONFIG_STATIC_BOARD_REV
 CONFIG_STATIC_RELA
-CONFIG_STATUS_LED
 CONFIG_STD_DEVICES_SETTINGS
 CONFIG_STK52XX
 CONFIG_STK52XX_REV100
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to