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

Reply via email to