On 04/04/2018 10:50, Sebastian Reichel wrote: > From: Ian Ray <ian....@ge.com> > > Enable display backlight only if a message needs to be displayed. > The kernel re-initializes the backlight, which results in some > unwanted artifacts. > > Signed-off-by: Ian Ray <ian....@ge.com> > Signed-off-by: Sebastian Reichel <sebastian.reic...@collabora.co.uk> > --- > Changes since PATCHv1: > > - rebase to v2018.05-rc1 > - add missing return to do_backlight_enable > - add missing parameters to do_backlight_enable > --- > board/ge/bx50v3/bx50v3.c | 45 > ++++++++++++++++++++++++++++----------------- > include/configs/ge_bx50v3.h | 1 + > 2 files changed, 29 insertions(+), 17 deletions(-) > > diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c > index c7a29185bf49..46321ae666f1 100644 > --- a/board/ge/bx50v3/bx50v3.c > +++ b/board/ge/bx50v3/bx50v3.c > @@ -786,23 +786,6 @@ int board_late_init(void) > add_board_boot_modes(board_boot_modes); > #endif > > -#ifdef CONFIG_VIDEO_IPUV3 > - /* We need at least 200ms between power on and backlight on > - * as per specifications from CHI MEI */ > - mdelay(250); > - > - /* enable backlight PWM 1 */ > - pwm_init(0, 0, 0); > - > - /* duty cycle 5000000ns, period: 5000000ns */ > - pwm_config(0, 5000000, 5000000); > - > - /* Backlight Power */ > - gpio_direction_output(LVDS_BACKLIGHT_GP, 1); > - > - pwm_enable(0); > -#endif > - > /* board specific pmic init */ > pmic_init(); > > @@ -843,3 +826,31 @@ int checkboard(void) > printf("BOARD: %s\n", CONFIG_BOARD_NAME); > return 0; > } > + > +static int do_backlight_enable(cmd_tbl_t *cmdtp, int flag, int argc, char * > const argv[]) > +{ > +#ifdef CONFIG_VIDEO_IPUV3 > + /* We need at least 200ms between power on and backlight on > + * as per specifications from CHI MEI */ > + mdelay(250); > + > + /* enable backlight PWM 1 */ > + pwm_init(0, 0, 0); > + > + /* duty cycle 5000000ns, period: 5000000ns */ > + pwm_config(0, 5000000, 5000000); > + > + /* Backlight Power */ > + gpio_direction_output(LVDS_BACKLIGHT_GP, 1); > + > + pwm_enable(0); > +#endif > + > + return 0; > +} > + > +U_BOOT_CMD( > + bx50_backlight_enable, 1, 1, do_backlight_enable, > + "enable Bx50 backlight", > + "" > +); > diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h > index 8a0ac618e82a..cf35d580abd4 100644 > --- a/include/configs/ge_bx50v3.h > +++ b/include/configs/ge_bx50v3.h > @@ -127,6 +127,7 @@ > "swappartitions=" \ > "setexpr partnum 3 - ${partnum}\0" \ > "failbootcmd=" \ > + "bx50_backlight_enable; " \ > "msg=\"Monitor failed to start. Try again, or contact GE > Service for support.\"; " \ > "echo $msg; " \ > "setenv stdout vga; " \ >
Applied to u-boot-imx, thanks ! Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot