lcd: update bist index on t6d [2/2]

PD#SWPL-186989

Problem:
want to support x icon,but it doesn't work

Solution:
1.reserve bist index 9 to be consistent with the other chips
2.set description to Not support and the function is same as None

Verify:
T6D-BR301

Change-Id: I2992eb0a543b2840b8c1b69fbfa97d873d2ce1f9
Signed-off-by: chenyang.liu <chenyang.liu@amlogic.com>
This commit is contained in:
chenyang.liu
2024-09-24 05:42:13 +00:00
committed by gerrit autosubmit
parent 05fac0ce72
commit 10661f0a43
4 changed files with 43 additions and 9 deletions
+1
View File
@@ -10,6 +10,7 @@
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/amlogic/media/vout/lcd/lcd_vout.h>
#include <linux/amlogic/cpu_version.h>
#include "lcd_reg.h"
/* 20220430: initial version*/
@@ -113,10 +113,11 @@ static struct lcd_enc_test_t lcd_enc_tst_t6d[] = {
{"6-Green", 0, 0x0, 0x3ff, 0x0, 1, 0, 3}, /* 6 */
{"7-Blue", 0, 0x0, 0x0, 0x3ff, 1, 0, 3}, /* 7 */
{"8-Black", 0, 0x0, 0x0, 0x0, 1, 0, 3}, /* 8 */
{"9-Gray Scale", 5, 0xffffffff, 0x7, 0x7, 1, 0, 3}, /* 9 */
{"10-Red Scale", 5, 0x1, 0x0, 0x1, 1, 0, 3}, /* 10 */
{"11-Green Scale", 5, 0x1, 0x0, 0x2, 1, 0, 3}, /* 11 */
{"12-Blue Scale", 5, 0x1, 0x0, 0x4, 1, 0, 3}, /* 12 */
{"9-Not support", 0, 0x200, 0x200, 0x200, 0, 1, 3}, /* 9 */
{"10-Gray Scale", 5, 0xffffffff, 0x7, 0x7, 1, 0, 3}, /* 10 */
{"11-Red Scale", 5, 0x1, 0x0, 0x1, 1, 0, 3}, /* 11 */
{"12-Green Scale", 5, 0x1, 0x0, 0x2, 1, 0, 3}, /* 12 */
{"13-Blue Scale", 5, 0x1, 0x0, 0x4, 1, 0, 3}, /* 13 */
};
static int lcd_venc_bist_set(struct aml_lcd_drv_s *pdrv, unsigned int num)
+36 -5
View File
@@ -2273,6 +2273,7 @@ static int lcd_config_probe(struct aml_lcd_drv_s *pdrv, struct platform_device *
static struct lcd_data_s lcd_data_axg = {
.chip_type = LCD_CHIP_AXG,
.chip_name = "axg",
.rev_type = 0,
.reg_map_table = &lcd_reg_g12a[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2283,6 +2284,7 @@ static struct lcd_data_s lcd_data_axg = {
static struct lcd_data_s lcd_data_g12a = {
.chip_type = LCD_CHIP_G12A,
.chip_name = "g12a",
.rev_type = 0,
.reg_map_table = &lcd_reg_g12a[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2293,6 +2295,7 @@ static struct lcd_data_s lcd_data_g12a = {
static struct lcd_data_s lcd_data_g12b = {
.chip_type = LCD_CHIP_G12B,
.chip_name = "g12b",
.rev_type = 0,
.reg_map_table = &lcd_reg_g12a[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2303,6 +2306,7 @@ static struct lcd_data_s lcd_data_g12b = {
static struct lcd_data_s lcd_data_tl1 = {
.chip_type = LCD_CHIP_TL1,
.chip_name = "tl1",
.rev_type = 0,
.reg_map_table = &lcd_reg_tl1[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2313,6 +2317,7 @@ static struct lcd_data_s lcd_data_tl1 = {
static struct lcd_data_s lcd_data_sm1 = {
.chip_type = LCD_CHIP_SM1,
.chip_name = "sm1",
.rev_type = 0,
.reg_map_table = &lcd_reg_g12a[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2323,6 +2328,7 @@ static struct lcd_data_s lcd_data_sm1 = {
static struct lcd_data_s lcd_data_tm2 = {
.chip_type = LCD_CHIP_TM2,
.chip_name = "tm2",
.rev_type = 0,
.reg_map_table = &lcd_reg_tl1[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2333,6 +2339,7 @@ static struct lcd_data_s lcd_data_tm2 = {
static struct lcd_data_s lcd_data_t5 = {
.chip_type = LCD_CHIP_T5,
.chip_name = "t5",
.rev_type = 0,
.reg_map_table = &lcd_reg_t5[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2343,6 +2350,7 @@ static struct lcd_data_s lcd_data_t5 = {
static struct lcd_data_s lcd_data_t5d = {
.chip_type = LCD_CHIP_T5D,
.chip_name = "t5d",
.rev_type = 0,
.reg_map_table = &lcd_reg_t5[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2353,6 +2361,7 @@ static struct lcd_data_s lcd_data_t5d = {
static struct lcd_data_s lcd_data_t7 = {
.chip_type = LCD_CHIP_T7,
.chip_name = "t7",
.rev_type = 0,
.reg_map_table = &lcd_reg_t7[0],
.drv_max = 3,
.offset_venc = {0x0, 0x600, 0x800},
@@ -2363,6 +2372,7 @@ static struct lcd_data_s lcd_data_t7 = {
static struct lcd_data_s lcd_data_t3 = {
.chip_type = LCD_CHIP_T3,
.chip_name = "t3",
.rev_type = 0,
.reg_map_table = &lcd_reg_t5[0],
.drv_max = 2,
.offset_venc = {0x0, 0x600, 0x0},
@@ -2373,6 +2383,7 @@ static struct lcd_data_s lcd_data_t3 = {
static struct lcd_data_s lcd_data_t5w = {
.chip_type = LCD_CHIP_T5W,
.chip_name = "t5w",
.rev_type = 0,
.reg_map_table = &lcd_reg_t5[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2383,6 +2394,7 @@ static struct lcd_data_s lcd_data_t5w = {
static struct lcd_data_s lcd_data_c3 = {
.chip_type = LCD_CHIP_C3,
.chip_name = "c3",
.rev_type = 0,
.reg_map_table = &lcd_reg_c3[0],
.drv_max = 1,
.offset_venc = {0},
@@ -2393,6 +2405,7 @@ static struct lcd_data_s lcd_data_c3 = {
static struct lcd_data_s lcd_data_t5m = {
.chip_type = LCD_CHIP_T5M,
.chip_name = "t5m",
.rev_type = 0,
.reg_map_table = &lcd_reg_t5[0],
.drv_max = 1,
.offset_venc = {0x0},
@@ -2403,6 +2416,7 @@ static struct lcd_data_s lcd_data_t5m = {
static struct lcd_data_s lcd_data_t3x = {
.chip_type = LCD_CHIP_T3X,
.chip_name = "t3x",
.rev_type = 0,
.reg_map_table = &lcd_reg_t3x[0],
.drv_max = 2,
.offset_venc = {0x0, 0x100},
@@ -2413,6 +2427,7 @@ static struct lcd_data_s lcd_data_t3x = {
static struct lcd_data_s lcd_data_txhd2 = {
.chip_type = LCD_CHIP_TXHD2,
.chip_name = "txhd2",
.rev_type = 0,
.reg_map_table = &lcd_reg_txhd2[0],
.drv_max = 1,
.offset_venc = {0x0},
@@ -2423,6 +2438,7 @@ static struct lcd_data_s lcd_data_txhd2 = {
static struct lcd_data_s lcd_data_s6 = {
.chip_type = LCD_CHIP_S6,
.chip_name = "s6",
.rev_type = 0,
.reg_map_table = &lcd_reg_g12a[0],
.drv_max = 1,
.offset_venc = {0x0},
@@ -2433,6 +2449,7 @@ static struct lcd_data_s lcd_data_s6 = {
static struct lcd_data_s lcd_data_t6d = {
.chip_type = LCD_CHIP_T6D,
.chip_name = "t6d",
.rev_type = 0,
.reg_map_table = &lcd_reg_t6d[0],
.drv_max = 1,
.offset_venc = {0x0},
@@ -2513,10 +2530,25 @@ static const struct of_device_id lcd_dt_match_table[] = {
};
#endif
static struct lcd_data_s *lcd_chip_detect(struct platform_device *pdev)
{
const struct of_device_id *match;
struct lcd_data_s *lcd_data = NULL;
#ifdef CONFIG_OF
match = of_match_device(lcd_dt_match_table, &pdev->dev);
if (!match) {
LCDERR("%s: no match table\n", __func__);
} else {
lcd_data = (struct lcd_data_s *)match->data;
lcd_data->rev_type = get_meson_cpu_version(MESON_CPU_VERSION_LVL_MINOR);
}
#endif
return lcd_data;
}
static int lcd_probe(struct platform_device *pdev)
{
struct aml_lcd_drv_s *pdrv;
const struct of_device_id *match;
struct lcd_data_s *pdata;
unsigned int index = 0;
int ret = 0;
@@ -2541,12 +2573,11 @@ static int lcd_probe(struct platform_device *pdev)
}
lcd_drv_init_state |= (1 << index);
match = of_match_device(lcd_dt_match_table, &pdev->dev);
if (!match) {
LCDERR("%s: no match table\n", __func__);
pdata = lcd_chip_detect(pdev);
if (!pdata) {
LCDERR("%s: no match data\n", __func__);
return -1;
}
pdata = (struct lcd_data_s *)match->data;
LCDPR("[%d]: driver version: %s(%d-%s)\n",
index, LCD_DRV_VERSION, pdata->chip_type, pdata->chip_name);
if (index >= pdata->drv_max) {
@@ -707,6 +707,7 @@ struct lcd_vmode_mgr_s {
struct lcd_data_s {
enum lcd_chip_e chip_type;
const char *chip_name;
unsigned char rev_type;
int *reg_map_table;
unsigned char drv_max;
unsigned int offset_venc[LCD_MAX_DRV];