status_led: Kconfig migration

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.mashiach@compulab.co.il>
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 @@
 
 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 e693a5f..8d5f26a 100644
--- a/include/configs/cm_t335.h
+++ b/include/configs/cm_t335.h
@@ -152,14 +152,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 94d10a3..427d559 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
+#ifdef CONFIG_LED_STATUS
 
-#define STATUS_LED_OFF		0
-#define STATUS_LED_BLINKING	1
-#define STATUS_LED_ON		2
+#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 @@
 # 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 @@
 # 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 @@
 
 #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 @@
 #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