mx6sabresd: Allow LVDS backlight to be functional after a kernel reboot
PATCH 1/1 mx6sabresd: Allow LVDS backlight to be functional after a kernel reboot
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.
--- board/freescale/mx6sabresd/mx6sabresd.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
board/freescale/mx6sabresd/mx6sabresd.c +16 -2
@@ -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,
Signature · 1 line
2.7.4
PATCH 1/1 mx6sabresd: Allow LVDS backlight to be functional after a kernel reboot
Hi Marco,
Quoted 49 lines · Marco Franchi
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 <[email protected]>--- board/freescale/mx6sabresd/mx6sabresd.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)board/freescale/mx6sabresd/mx6sabresd.c +15
-1@@ -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 = {
board/freescale/mx6sabresd/mx6sabresd.c struct display_info_t const displays[] = {{ · line 390
Quoted 8 lines
board/freescale/mx6sabresd/mx6sabresd.c +1
-1@@ -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,
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== 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 =====================================================================
PATCH 1/1 mx6sabresd: Allow LVDS backlight to be functional after a kernel reboot
In reply to Marco FranchiHi Marco,
Quoted 10 lines · Marco Franchi
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 <[email protected]>
Thanks for fixing this bug:
Stefano Babic
AppliedPATCH 1/1 mx6sabresd: Allow LVDS backlight to be functional after a kernel reboot
In reply to Marco FranchiQuoted 11 lines · Marco Franchi
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 <[email protected]>---
Applied to master (bug fix), thanks !
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== 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 =====================================================================