red_led_on is either called from the legacy LED shell command (which is
disabled for corvus) or from arm-specific assembly code right before
jumping into board_init_r() in U-Boot proper.
Let's migrate to use the more modern LED subsystem by migrating to DM.
The default-state is set to on to mimic red_led_on() from the
arm-specific assembly code as a missing default-state FDT property
currently means the LED is not probed except if explicitly done via the
led shell command. Note though that this is running much later in the
boot process, once DM is started.
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
* 2011 Nicolas Ferre <nicolas.ferre@atmel.com>
*/
/dts-v1/;
+#include <dt-bindings/leds/common.h>
#include "at91sam9g45.dtsi"
/ {
status = "okay";
};
};
+
+ leds {
+ compatible = "gpio-leds";
+
+ red_led: led-0 {
+ gpios = <&pioD 31 GPIO_ACTIVE_HIGH>;
+ color = <LED_COLOR_ID_RED>;
+ default-state = "on";
+ };
+ };
};
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 */
-}
-
-void red_led_on(void)
-{
- gpio_set_value(AT91_PIN_PD31, 1);
-}
-
-void red_led_off(void)
-{
- gpio_set_value(AT91_PIN_PD31, 0);
}
static void corvus_nand_hw_init(void)
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