arm: dts: x301 & t309: enable panel unifykey support for tvconfig [1/1]

PD#SWPL-2761

Problem:
not support tvconfig yet

Solution:
1.enable key_valid in panel dtsi
2.enable fr_auto_policy in panel dtsi
3.enable clk ss for lvds and vbyone in panel dtsi
4.also fix some coverity errors

Verify:
x301

Change-Id: I00dd5ff621cfbc3f100bbe6045a35c8f917ade29
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

Conflicts:
	arch/arm/boot/dts/amlogic/mesontl1_t309-panel.dtsi
This commit is contained in:
Evoke Zhang
2018-12-11 18:23:31 +08:00
committed by Dongjin Kim
parent d0533b8c2b
commit b264fa4d5c
5 changed files with 25 additions and 45 deletions

View File

@@ -78,7 +78,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
15 /*clk_ss_level*/
6 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
@@ -163,7 +163,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
15 /*clk_ss_level*/
6 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
@@ -205,7 +205,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
@@ -247,7 +247,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
@@ -335,7 +335,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
@@ -788,29 +788,6 @@
bl_pwm_combo_power = <1 0 /*pwm0 gpio_index, gpio_off*/
2 0 /*pwm1 gpio_index, gpio_off*/
10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
};
backlight_3{
index = <3>;
bl_name = "pwm_combo_ldim_test";
bl_level_default_uboot_kernel = <31 100>;
bl_level_attr = <255 10 /*max, min*/
128 128>; /*mid, mid_mapping*/
bl_ctrl_method = <2>; /*1=pwm,2=pwm_combo,3=ldim*/
bl_power_attr = <0 /*en_gpio_index*/
1 0 /*on_value, off_value*/
410 110>; /*on_delay(ms), off_delay(ms)*/
bl_pwm_combo_level_mapping = <255 10 /*pwm_0 range*/
0 0>; /*pwm_1 range*/
bl_pwm_combo_port = "PWM_C","PWM_D";
bl_pwm_combo_attr = <1 /*pwm0 method*/
180 /*pwm0 freq(pwm:Hz, pwm_vs:multiple of vs)*/
100 25 /*pwm0 duty_max(%), duty_min(%)*/
1 /*pwm1 method*/
18000 /*pwm1 freq(pwm:Hz, pwm_vs:multi of vs)*/
80 80>; /*pwm1 duty_max(%), duty_min(%)*/
bl_pwm_combo_power = <1 0 /*pwm0 gpio_index, gpio_off*/
2 0 /*pwm1 gpio_index, gpio_off*/
10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
bl_ldim_region_row_col = <2 10>;
};
backlight_4{

View File

@@ -20,8 +20,8 @@
compatible = "amlogic, lcd-tl1";
status = "okay";
mode = "tv";
fr_auto_policy = <0>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */
key_valid = <0>;
fr_auto_policy = <1>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */
key_valid = <1>;
clocks = <&clkc CLKID_VCLK2_ENCL
&clkc CLKID_VCLK2_VENCL
&clkc CLKID_TCON
@@ -82,7 +82,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
6 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
@@ -171,7 +171,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
6 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
@@ -215,7 +215,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
@@ -257,7 +257,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
@@ -345,7 +345,7 @@
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
@@ -612,7 +612,7 @@
lcd_extern{
compatible = "amlogic, lcd_extern";
status = "okay";
key_valid = <0>;
key_valid = <1>;
i2c_bus = "i2c_bus_1";
extern_0{
@@ -712,7 +712,7 @@
backlight{
compatible = "amlogic, backlight-tl1";
status = "okay";
key_valid = <0>;
key_valid = <1>;
pinctrl-names = "pwm_on","pwm_vs_on",
"pwm_combo_0_1_on",
"pwm_combo_0_vs_1_on",

View File

@@ -2337,21 +2337,24 @@ int lcd_set_ss(unsigned int level, unsigned int freq, unsigned int mode)
if (level < 0xff) {
if (level >= clk_conf.data->ss_level_max) {
LCDERR("%s: ss_level %d is out of support (max %d)\n",
__func__, level, clk_conf.data->ss_level_max);
__func__, level,
(clk_conf.data->ss_level_max - 1));
goto lcd_set_ss_end;
}
}
if (freq < 0xff) {
if (freq >= clk_conf.data->ss_freq_max) {
LCDERR("%s: ss_freq %d is out of support (max %d)\n",
__func__, freq, clk_conf.data->ss_freq_max);
__func__, freq,
(clk_conf.data->ss_freq_max - 1));
goto lcd_set_ss_end;
}
}
if (mode < 0xff) {
if (mode >= clk_conf.data->ss_freq_max) {
if (mode >= clk_conf.data->ss_mode_max) {
LCDERR("%s: ss_mode %d is out of support (max %d)\n",
__func__, mode, clk_conf.data->ss_mode_max);
__func__, mode,
(clk_conf.data->ss_mode_max - 1));
goto lcd_set_ss_end;
}
}

View File

@@ -2399,7 +2399,7 @@ static ssize_t lcd_debug_ss_store(struct class *class,
temp = lcd_drv->lcd_config->lcd_timing.ss_level;
switch (buf[0]) {
case 'l':
ret = sscanf(buf, "level %x", &value);
ret = sscanf(buf, "level %d", &value);
if (ret == 1) {
value &= 0xff;
ret = lcd_set_ss(value, 0xff, 0xff);
@@ -2414,7 +2414,7 @@ static ssize_t lcd_debug_ss_store(struct class *class,
}
break;
case 'f':
ret = sscanf(buf, "freq %x", &value);
ret = sscanf(buf, "freq %d", &value);
if (ret == 1) {
value &= 0xf;
ret = lcd_set_ss(0xff, value, 0xff);
@@ -2429,7 +2429,7 @@ static ssize_t lcd_debug_ss_store(struct class *class,
}
break;
case 'm':
ret = sscanf(buf, "mode %x", &value);
ret = sscanf(buf, "mode %d", &value);
if (ret == 1) {
value &= 0xf;
ret = lcd_set_ss(0xff, 0xff, value);

View File

@@ -289,7 +289,7 @@ static void lcd_power_ctrl(int status)
break;
case LCD_POWER_TYPE_SIGNAL:
if (status)
ret = lcd_driver->driver_init();
lcd_driver->driver_init();
else
lcd_driver->driver_disable();
break;