From 0abca5cf8f1daa77690514ea3cdbcb2d70a72f15 Mon Sep 17 00:00:00 2001 From: Evoke Zhang Date: Thu, 3 Jan 2019 06:40:26 -0500 Subject: [PATCH] backlight: ldim: add analog pwm support [1/1] PD#SWPL-3702 Problem: local dimming need analog pwm function Solution: add analog pwm support Verify: x301 Change-Id: I502bb7505947c1f3670f44d0d307f9546f1d57fd Signed-off-by: Evoke Zhang Conflicts: drivers/amlogic/media/vout/backlight/aml_ldim/ldim_dev_drv.c include/linux/amlogic/media/vout/lcd/aml_ldim.h --- .../boot/dts/amlogic/mesontl1_x301-panel.dtsi | 19 ++++++++++++++++++- .../vout/backlight/aml_ldim/ldim_dev_drv.c | 8 ++++++++ .../media/vout/backlight/aml_ldim/ldim_drv.h | 3 ++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/mesontl1_x301-panel.dtsi b/arch/arm/boot/dts/amlogic/mesontl1_x301-panel.dtsi index 491ffb5cabb6..c2b4d6e69336 100644 --- a/arch/arm/boot/dts/amlogic/mesontl1_x301-panel.dtsi +++ b/arch/arm/boot/dts/amlogic/mesontl1_x301-panel.dtsi @@ -979,7 +979,7 @@ bl_level_attr = <255 10 /*max, min*/ 128 128>; /*mid, mid_mapping*/ bl_ctrl_method = <3>; /*1=pwm,2=pwm_combo,3=ldim*/ - bl_power_attr = <0 /*en_gpio_index*/ + bl_power_attr = <0xff /*en_gpio_index*/ 1 0 /*on_value, off_value*/ 200 200>; /*on_delay(ms), off_delay(ms)*/ bl_ldim_region_row_col = <1 1>; @@ -989,6 +989,23 @@ */ ldim_dev_index = <1>; }; + backlight_5{ + index = <5>; + bl_name = "ldim_iw7027"; + bl_level_default_uboot_kernel = <100 100>; + bl_level_attr = <255 10 /*max, min*/ + 128 128>; /*mid, mid_mapping*/ + bl_ctrl_method = <3>; /*1=pwm,2=pwm_combo,3=ldim*/ + bl_power_attr = <0 /*en_gpio_index*/ + 1 0 /*on_value, off_value*/ + 200 200>; /*on_delay(ms), off_delay(ms)*/ + bl_ldim_region_row_col = <1 10>; + bl_ldim_mode = <1>; /*0=left/right side + *1=top/bottom side + *2=direct + */ + ldim_dev_index = <2>; + }; }; bl_pwm_conf:bl_pwm_conf{ diff --git a/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_dev_drv.c b/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_dev_drv.c index 9dab744e1622..2876a9141e90 100644 --- a/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_dev_drv.c +++ b/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_dev_drv.c @@ -91,6 +91,14 @@ struct ldim_dev_config_s ldim_dev_config = { .pwm_duty_max = 100, .pwm_duty_min = 10, }, + .analog_pwm_config = { + .pwm_method = BL_PWM_POSITIVE, + .pwm_port = BL_PWM_MAX, + .pwm_freq = 1000, + .pwm_duty_max = 100, + .pwm_duty_min = 10, + }, + .dim_range_update = NULL, .bl_regnum = 0, diff --git a/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_drv.h b/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_drv.h index d186f59ab69e..76c23ce4b7f6 100644 --- a/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_drv.h +++ b/drivers/amlogic/media/vout/backlight/aml_ldim/ldim_drv.h @@ -26,7 +26,8 @@ /*20181101: fix ldim_op_func null mistake, add new spi api support */ /*20181203: add 50/60hz change & iw7027 error handle support */ /*20181220: add tl1 support*/ -#define LDIM_DRV_VER "20181220" +/*20190103: add analog pwm support*/ +#define LDIM_DRV_VER "20190103" extern unsigned char ldim_debug_print;