[U-Boot] [PATCH] mx6sabresd: Allow LVDS backlight to be functional after a kernel reboot

Stefano Babic
2016-06-08T20:31:15Z

Hi Marco,

On 08/06/2016 20:05, Marco Franchi wrote:
> Currently the LVDS backlight does not work in U-Boot after a ?reboot? comand
> in the kernel.
>
> This problem occurs because the kernel uses this pin in PWM mode and U-Boot
> does not configure the backlight pin as GPIO functionality.
>
> So fix the problem by explicitly configuring the backlight pin as GPIO in
> U-Boot.
>
> Signed-off-by: Marco Franchi <marco.franchi@nxp.com>
> ---
> board/freescale/mx6sabresd/mx6sabresd.c | 18 ++++++++++++++++--
> 1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
> index 54ba36b..28c969d 100644
> --- a/board/freescale/mx6sabresd/mx6sabresd.c
> +++ b/board/freescale/mx6sabresd/mx6sabresd.c
> @@ -177,13 +177,27 @@ static iomux_v3_cfg_t const rgb_pads[] = {
> MX6_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 | MUX_PAD_CTRL(NO_PAD_CTRL),
> MX6_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 | MUX_PAD_CTRL(NO_PAD_CTRL),
> MX6_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 | MUX_PAD_CTRL(NO_PAD_CTRL),
> +};
> +
> +static iomux_v3_cfg_t const bl_pads[] = {
> MX6_PAD_SD1_DAT3__GPIO1_IO21 | MUX_PAD_CTRL(NO_PAD_CTRL),
> };
>
> +static void enable_backlight(void)
> +{
> + imx_iomux_v3_setup_multiple_pads(bl_pads, ARRAY_SIZE(bl_pads));
> + gpio_direction_output(DISP0_PWR_EN, 1);
> +}
> +
> static void enable_rgb(struct display_info_t const *dev)
> {
> imx_iomux_v3_setup_multiple_pads(rgb_pads, ARRAY_SIZE(rgb_pads));
> - gpio_direction_output(DISP0_PWR_EN, 1);
> + enable_backlight();
> +}
> +
> +static void enable_lvds(struct display_info_t const *dev)
> +{
> + enable_backlight();
> }
>
> static struct i2c_pads_info i2c_pad_info1 = {
> @@ -370,7 +384,7 @@ struct display_info_t const displays[] = {{
> .addr = 0,
> .pixfmt = IPU_PIX_FMT_RGB666,
> .detect = NULL,
> - .enable = NULL,
> + .enable = enable_lvds,
> .mode = {
> .name = "Hannstar-XGA",
> .refresh = 60,
>

Acked-by: Stefano Babic <sbabic@denx.de>

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: sbabic at denx.de
=====================================================================