diff --git a/bootloader/imx233.c b/bootloader/imx233.c index 6dc503bb16..1169b392aa 100644 --- a/bootloader/imx233.c +++ b/bootloader/imx233.c @@ -43,6 +43,7 @@ #include "version.h" #include "powermgmt-imx233.h" #include "partitions-imx233.h" +#include "backlight-target.h" #include "adc.h" #include "usb.h" @@ -211,6 +212,12 @@ void main(uint32_t arg, uint32_t addr) printf("Executing"); /* stop what was initialized to start from clean state */ system_prepare_fw_start(); + /* if target defines lcd_enable() in bootloader, take this as a hint that + * we should use it to properly stop the lcd before moving one, the + * _backlight_off() routine is supposed to disable the lcd at the same time */ +#ifdef HAVE_LCD_ENABLE + _backlight_off(); +#endif disable_interrupt(IRQ_FIQ_STATUS); commit_discard_idcache(); kernel_entry(); diff --git a/firmware/export/config/creativezen.h b/firmware/export/config/creativezen.h index 0caf499379..004e1403b7 100644 --- a/firmware/export/config/creativezen.h +++ b/firmware/export/config/creativezen.h @@ -49,9 +49,6 @@ /* define this if you would like tagcache to build on this target */ #define HAVE_TAGCACHE -/* define this if you have LCD enable function */ -#define HAVE_LCD_ENABLE - /* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE should be defined as well. #define HAVE_LCD_SLEEP @@ -74,6 +71,9 @@ #endif /* !BOOTLOADER */ +/* define this if you have LCD enable function */ +#define HAVE_LCD_ENABLE + /* define this if you have an i.MX23 codec */ #define HAVE_IMX233_CODEC