diff options
| -rw-r--r-- | arch/arm/dts/at91sam9g45-corvus.dts | 11 | ||||
| -rw-r--r-- | arch/arm/lib/crt0.S | 3 | ||||
| -rw-r--r-- | board/siemens/corvus/board.c | 22 | ||||
| -rw-r--r-- | cmd/legacy_led.c | 12 | ||||
| -rw-r--r-- | common/board_f.c | 16 | ||||
| -rw-r--r-- | configs/corvus_defconfig | 2 | ||||
| -rw-r--r-- | doc/api/led.rst | 19 | ||||
| -rw-r--r-- | drivers/led/Kconfig | 28 | ||||
| -rw-r--r-- | drivers/misc/gpio_led.c | 30 | ||||
| -rw-r--r-- | include/status_led.h | 16 |
10 files changed, 13 insertions, 146 deletions
diff --git a/arch/arm/dts/at91sam9g45-corvus.dts b/arch/arm/dts/at91sam9g45-corvus.dts index 67be80bb2b3..acc05994650 100644 --- a/arch/arm/dts/at91sam9g45-corvus.dts +++ b/arch/arm/dts/at91sam9g45-corvus.dts @@ -10,6 +10,7 @@ * 2011 Nicolas Ferre <[email protected]> */ /dts-v1/; +#include <dt-bindings/leds/common.h> #include "at91sam9g45.dtsi" / { @@ -106,4 +107,14 @@ status = "okay"; }; }; + + leds { + compatible = "gpio-leds"; + + red_led: led-0 { + gpios = <&pioD 31 GPIO_ACTIVE_HIGH>; + color = <LED_COLOR_ID_RED>; + default-state = "on"; + }; + }; }; diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 9acaf2cddef..d10c129705d 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -183,9 +183,6 @@ here: movne r9, r0 # endif -#if ! defined(CONFIG_XPL_BUILD) - bl red_led_on -#endif /* call board_init_r(gd_t *id, ulong dest_addr) */ mov r0, r9 /* gd_t */ ldr r1, [r9, #GD_RELOCADDR] /* dest_addr */ diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c index a8714e055d7..4c83774fceb 100644 --- a/board/siemens/corvus/board.c +++ b/board/siemens/corvus/board.c @@ -52,28 +52,6 @@ static void corvus_request_gpio(void) gpio_request(AT91_PIN_PD3, "USB1"); gpio_request(AT91_PIN_PB18, "SPICS1"); gpio_request(AT91_PIN_PB3, "SPICS0"); - gpio_request(AT91_PIN_PD31, "red led"); /* this is the user1 led */ - gpio_request(AT91_PIN_PD0, "green led"); /* this is the user2 led */ -} - -void red_led_on(void) -{ - gpio_set_value(AT91_PIN_PD31, 1); -} - -void red_led_off(void) -{ - gpio_set_value(AT91_PIN_PD31, 0); -} - -void green_led_on(void) -{ - gpio_set_value(AT91_PIN_PD0, 0); -} - -void green_led_off(void) -{ - gpio_set_value(AT91_PIN_PD0, 1); } static void corvus_nand_hw_init(void) diff --git a/cmd/legacy_led.c b/cmd/legacy_led.c index 609a4b08e0a..4e0d09522ad 100644 --- a/cmd/legacy_led.c +++ b/cmd/legacy_led.c @@ -45,12 +45,6 @@ static const led_tbl_t led_commands[] = { { "5", CONFIG_LED_STATUS_BIT5, NULL, NULL, NULL }, #endif #endif -#ifdef CONFIG_LED_STATUS_GREEN - { "green", CONFIG_LED_STATUS_GREEN, green_led_off, green_led_on, NULL }, -#endif -#ifdef CONFIG_LED_STATUS_RED - { "red", CONFIG_LED_STATUS_RED, red_led_off, red_led_on, NULL }, -#endif { NULL, 0, NULL, NULL, NULL } }; @@ -162,12 +156,6 @@ U_BOOT_CMD( "5|" #endif #endif -#ifdef CONFIG_LED_STATUS_GREEN - "green|" -#endif -#ifdef CONFIG_LED_STATUS_RED - "red|" -#endif "all] [on|off|toggle|blink] [blink-freq in ms]", "[led_name] [on|off|toggle|blink] sets or clears led(s)" ); diff --git a/common/board_f.c b/common/board_f.c index 224cc0ac561..df2b0dc899b 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -55,22 +55,6 @@ DECLARE_GLOBAL_DATA_PTR; /* - * TODO([email protected]): IMO this code should be - * refactored to a single function, something like: - * - * void led_set_state(enum led_colour_t colour, int on); - */ -/************************************************************************ - * Coloured LED functionality - ************************************************************************ - * May be supplied by boards if desired - */ -__weak void red_led_on(void) {} -__weak void red_led_off(void) {} -__weak void green_led_on(void) {} -__weak void green_led_off(void) {} - -/* * Why is gd allocated a register? Prior to reloc it might be better to * just pass it around to each function in this file? * diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig index fe7d53bcdd8..3d16b9e3abe 100644 --- a/configs/corvus_defconfig +++ b/configs/corvus_defconfig @@ -75,6 +75,8 @@ CONFIG_CLK_AT91=y CONFIG_DFU_NAND=y CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000 CONFIG_AT91_GPIO=y +CONFIG_LED=y +CONFIG_LED_GPIO=y # CONFIG_MMC is not set CONFIG_MTD=y CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT=y diff --git a/doc/api/led.rst b/doc/api/led.rst index 6488416c8b9..9ae3f5fe252 100644 --- a/doc/api/led.rst +++ b/doc/api/led.rst @@ -57,10 +57,6 @@ Some other LED macros CONFIG_STATUS_LED_BOOT is the LED to light when the board is booting. This must be a valid LED number (0-5). -CONFIG_STATUS_LED_RED is the red LED. It is used to signal errors. This must be -a valid LED number (0-5). Other similar color LED's macros are -CONFIG_STATUS_LED_GREEN. - General LED functions ~~~~~~~~~~~~~~~~~~~~~ The following functions should be defined: @@ -72,21 +68,6 @@ __led_set is called to change the state of the LED. __led_toggle is called to toggle the current state of the LED. -Colour LED ----------- - -Colour LED's are at present only used by ARM. - -The functions names explain their purpose. - -- red_LED_on -- red_LED_off -- green_LED_on -- green_LED_off - -These are weakly defined in arch/arm/lib/board.c to noops. Where applicable, define -these functions in the board specific source. - TBD : Describe older board dependent macros similar to what is done for TBD : Describe general support via asm/status_led.h diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index 1077792efb0..cc715ceb286 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -400,34 +400,6 @@ config LED_STATUS_BOOT endif # LED_STATUS_BOOT_ENABLE -config LED_STATUS_RED_ENABLE - bool "Enable red LED" - help - Enable red status LED. - -if LED_STATUS_RED_ENABLE - -config LED_STATUS_RED - int "Red LED identification" - help - Valid enabled LED device number. - -endif # LED_STATUS_RED_ENABLE - -config LED_STATUS_GREEN_ENABLE - bool "Enable green LED" - help - Enable green status LED. - -if LED_STATUS_GREEN_ENABLE - -config LED_STATUS_GREEN - int "Green LED identification" - help - Valid enabled LED device number (0-5). - -endif # LED_STATUS_GREEN_ENABLE - config LED_STATUS_CMD bool "Enable status LED commands" diff --git a/drivers/misc/gpio_led.c b/drivers/misc/gpio_led.c index e806b1f241f..1e2f83cca93 100644 --- a/drivers/misc/gpio_led.c +++ b/drivers/misc/gpio_led.c @@ -50,33 +50,3 @@ void __led_toggle(led_id_t mask) { gpio_set_value(mask, !gpio_get_value(mask)); } - -#ifdef CONFIG_GPIO_LED_STUBS - -/* 'generic' override of colored LED stubs, to use GPIO functions instead */ - -#ifdef CONFIG_LED_STATUS_RED -void red_led_on(void) -{ - __led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_ON); -} - -void red_led_off(void) -{ - __led_set(CONFIG_LED_STATUS_RED, CONFIG_LED_STATUS_OFF); -} -#endif - -#ifdef CONFIG_LED_STATUS_GREEN -void green_led_on(void) -{ - __led_set(CONFIG_LED_STATUS_GREEN, CONFIG_LED_STATUS_ON); -} - -void green_led_off(void) -{ - __led_set(CONFIG_LED_STATUS_GREEN, CONFIG_LED_STATUS_OFF); -} -#endif - -#endif /* CONFIG_GPIO_LED_STUBS */ diff --git a/include/status_led.h b/include/status_led.h index 85e583f18c8..c3ff399b1ae 100644 --- a/include/status_led.h +++ b/include/status_led.h @@ -65,20 +65,4 @@ static inline void status_led_set(int led, int state) { } static inline void status_led_boot_blink(void) { } #endif /* CONFIG_LED_STATUS */ - -/* - * Coloured LEDs API - */ -#ifndef __ASSEMBLY__ -void red_led_on(void); -void red_led_off(void); -void green_led_on(void); -void green_led_off(void); -#else - .extern red_led_on - .extern red_led_off - .extern green_led_on - .extern green_led_off -#endif - #endif /* _STATUS_LED_H_ */ |
