board: ge: bx50v3: Use pwm for display backlight
authorAkshay Bhat <akshay.bhat@timesys.com>
Tue, 12 Apr 2016 22:13:59 +0000 (18:13 -0400)
committerStefano Babic <sbabic@denx.de>
Tue, 19 Apr 2016 14:05:51 +0000 (16:05 +0200)
Setup the LCD backlight brightness control pin to use PWM

Signed-off-by: Akshay Bhat <akshay.bhat@timesys.com>
Cc: Stefano Babic <sbabic@denx.de>
board/ge/bx50v3/bx50v3.c
include/configs/ge_bx50v3.h

index 3acd4fa2d81846d33ac6dd8ba178d17b940e4519..dcf51dd7d09599648119140908c656aad9f608b3 100644 (file)
@@ -25,6 +25,7 @@
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <i2c.h>
+#include <pwm.h>
 DECLARE_GLOBAL_DATA_PTR;
 
 #define NC_PAD_CTRL (PAD_CTL_PUS_100K_UP |     \
@@ -328,6 +329,8 @@ static iomux_v3_cfg_t const backlight_pads[] = {
        /* Backlight enable for LVDS display */
        MX6_PAD_GPIO_0__GPIO1_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL),
 #define LVDS_BACKLIGHT_GP IMX_GPIO_NR(1, 0)
+       /* backlight PWM brightness control */
+       MX6_PAD_SD1_DAT3__PWM1_OUT | MUX_PAD_CTRL(NO_PAD_CTRL),
 };
 
 static void do_enable_hdmi(struct display_info_t const *dev)
@@ -595,9 +598,17 @@ int board_late_init(void)
         * 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);
+
        return 0;
 }
 
index 6fa4a9a0e4da035f4c37185dd70994b984de9cdd..e37cd3379af5878c681afa1b7fd948484682f8d2 100644 (file)
 #define CONFIG_IMX_HDMI
 #define CONFIG_IMX_VIDEO_SKIP
 
+#define CONFIG_PWM_IMX
+#define CONFIG_IMX6_PWM_PER_CLK        66000000
+
 #undef CONFIG_CMD_PCI
 #ifdef CONFIG_CMD_PCI
 #define CONFIG_PCI