diff --git a/boards/arm/kinetis/freedom-k64f/src/freedom-k64f.h b/boards/arm/kinetis/freedom-k64f/src/freedom-k64f.h index e5b3974908..ae0450dad5 100644 --- a/boards/arm/kinetis/freedom-k64f/src/freedom-k64f.h +++ b/boards/arm/kinetis/freedom-k64f/src/freedom-k64f.h @@ -45,6 +45,11 @@ #define HAVE_AUTOMOUNTER 1 #define HAVE_USBDEV 1 +#undef HAVE_LEDS +#if !defined(CONFIG_ARCH_LEDS) && defined(CONFIG_USERLED_LOWER) +# define HAVE_LEDS 1 +#endif + #if defined(CONFIG_KINETIS_RTC) #define HAVE_RTC_DRIVER 1 #endif diff --git a/boards/arm/kinetis/freedom-k64f/src/k64_bringup.c b/boards/arm/kinetis/freedom-k64f/src/k64_bringup.c index e392f00fd6..d9d8b2992b 100644 --- a/boards/arm/kinetis/freedom-k64f/src/k64_bringup.c +++ b/boards/arm/kinetis/freedom-k64f/src/k64_bringup.c @@ -38,6 +38,16 @@ # include "kinetis_alarm.h" #endif +#ifdef CONFIG_USERLED +# include +#endif + +#ifdef CONFIG_EXAMPLES_LEDS_DEVPATH +# define LED_DRIVER_PATH CONFIG_EXAMPLES_LEDS_DEVPATH +#else +# define LED_DRIVER_PATH "/dev/userleds" +#endif + #include "freedom-k64f.h" #if defined(CONFIG_BOARDCTL) || defined(CONFIG_BOARD_LATE_INITIALIZE) @@ -61,6 +71,17 @@ int k64_bringup(void) struct rtc_lowerhalf_s *lower; #endif +#ifdef HAVE_LEDS + /* Register the LED driver */ + + ret = userled_lower_initialize(LED_DRIVER_PATH); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret); + return ret; + } +#endif + #ifdef HAVE_PROC /* Mount the proc filesystem */