ili9882_mmi: capri txd/tm ili9882 touch bringup

Capri: input touch ili9882 bringup
txd ili9882h & ili9882n
NO_PROP_NEEDED: needn't for shm2018

Change-Id: I622299f653b3b79fc9b8f53f07374b08680b01df
Signed-off-by: hujing3 <hujing3@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1764048
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
hujing3 2020-09-30 12:45:39 +08:00 • committed by Jing Hu
commit 0afb0fbeb6
6 changed files with 140 additions and 0 deletions

View file

@ -13,6 +13,10 @@ ifneq ($(DL_FW_BY_DISPLAY),)
KERNEL_CFLAGS += CONFIG_ILITEK_RESUME_BY_DDI=y
endif
ifeq ($(ILITEK_FW_PANEL),true)
KERNEL_CFLAGS += CONFIG_ILITEK_FW_PANEL=y
endif
ifeq ($(ILITEK_ESD),true)
KERNEL_CFLAGS += CONFIG_ILITEK_ESD=y
endif

View file

@ -17,6 +17,9 @@ endif
ifneq ($(filter m y,$(CONFIG_ILITEK_RESUME_BY_DDI)),)
EXTRA_CFLAGS += -DILI_CONFIG_RESUME_BY_DDI
endif
ifneq ($(filter m y,$(CONFIG_ILITEK_FW_PANEL)),)
EXTRA_CFLAGS += -DILI_FW_PANEL
endif
ifneq ($(filter m y,$(CONFIG_ILITEK_ESD)),)
EXTRA_CFLAGS += -DILI_CONFIG_ESD
endif

View file

@ -79,6 +79,46 @@ static unsigned char CTPM_FW_TXD[] = {
0xFF,
};
#define TXD_9882H_INI_NAME_PATH "/sdcard/mp_txd_9882h.ini"
#define TXD_9882H_FW_FILP_PATH "/sdcard/ILITEK_FW_TXD_9882H"
#define TXD_9882H_INI_REQUEST_PATH "mp_txd_9882h.ini"
#define TXD_9882H_FW_REQUEST_PATH "ILITEK_FW_TXD_9882H"
static unsigned char CTPM_FW_TXD_9882N[] = {
0xFF,
};
#define TXD_9882N_INI_NAME_PATH "/sdcard/mp_txd_9882n.ini"
#define TXD_9882N_FW_FILP_PATH "/sdcard/ILITEK_FW_TXD_9882N"
#define TXD_9882N_INI_REQUEST_PATH "mp_txd_9882n.ini"
#define TXD_9882N_FW_REQUEST_PATH "ILITEK_FW_TXD_9882N"
static unsigned char CTPM_FW_TXD_9882H[] = {
0xFF,
};
#define TM_9882H_INI_NAME_PATH "/sdcard/mp_tm_9882h.ini"
#define TM_9882H_FW_FILP_PATH "/sdcard/ILITEK_FW_TM_9882H"
#define TM_9882H_INI_REQUEST_PATH "mp_tm_9882h.ini"
#define TM_9882H_FW_REQUEST_PATH "ILITEK_FW_TM_9882H"
static unsigned char CTPM_FW_TM_9882N[] = {
0xFF,
};
#define TM_9882N_INI_NAME_PATH "/sdcard/mp_tm_9882n.ini"
#define TM_9882N_FW_FILP_PATH "/sdcard/ILITEK_FW_TM_9882N"
#define TM_9882N_INI_REQUEST_PATH "mp_tm_9882n.ini"
#define TM_9882N_FW_REQUEST_PATH "ILITEK_FW_TM_9882N"
static unsigned char CTPM_FW_TM_9882H[] = {
0xFF,
};
#define TIANMA_9882N_INI_NAME_PATH "/sdcard/mp_tianma_9882n.ini"
#define TIANMA_9882N_FW_FILP_PATH "/sdcard/ILITEK_FW_TIANMA_9882N"
#define TIANMA_9882N_INI_REQUEST_PATH "mp_tianma_9882n.ini"
#define TIANMA_9882N_FW_REQUEST_PATH "ILITEK_FW_TIANMA_9882N"
static unsigned char CTPM_FW_TIANMA_9882N[] = {
0xFF,
};
#define TM_INI_NAME_PATH "/sdcard/mp_tm.ini"
#define TM_FW_FILP_PATH "/sdcard/ILITEK_FW_TM"
#define TM_INI_REQUEST_PATH "mp_tm.ini"

View file

@ -944,6 +944,24 @@ static void ili_update_tp_module_info(void)
ilits->md_fw_ili = CTPM_FW_TXD;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TXD);
break;
case MODEL_TXD_9882H:
ilits->md_name = "TXD_9882H";
ilits->md_fw_filp_path = TXD_9882H_FW_FILP_PATH;
ilits->md_fw_rq_path = TXD_9882H_FW_REQUEST_PATH;
ilits->md_ini_path = TXD_9882H_INI_NAME_PATH;
ilits->md_ini_rq_path = TXD_9882H_FW_REQUEST_PATH;
ilits->md_fw_ili = CTPM_FW_TXD_9882H;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TXD_9882H);
break;
case MODEL_TXD_9882N:
ilits->md_name = "TXD_9882N";
ilits->md_fw_filp_path = TXD_9882N_FW_FILP_PATH;
ilits->md_fw_rq_path = TXD_9882N_FW_REQUEST_PATH;
ilits->md_ini_path = TXD_9882N_INI_NAME_PATH;
ilits->md_ini_rq_path = TXD_9882N_FW_REQUEST_PATH;
ilits->md_fw_ili = CTPM_FW_TXD_9882N;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TXD_9882N);
break;
case MODEL_TM:
ilits->md_name = "ILITEK_TDDI_TM";
ilits->md_fw_filp_path = TM_FW_REQUEST_PATH;
@ -953,6 +971,33 @@ static void ili_update_tp_module_info(void)
ilits->md_fw_ili = CTPM_FW_TM;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TM);
break;
case MODEL_TM_9882N:
ilits->md_name = "TM_9882N";
ilits->md_fw_filp_path = TM_9882N_FW_FILP_PATH;
ilits->md_fw_rq_path = TM_9882N_FW_REQUEST_PATH;
ilits->md_ini_path = TM_9882N_INI_NAME_PATH;
ilits->md_ini_rq_path = TM_9882N_FW_REQUEST_PATH;
ilits->md_fw_ili = CTPM_FW_TM_9882N;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TM_9882N);
break;
case MODEL_TM_9882H:
ilits->md_name = "TM_9882H";
ilits->md_fw_filp_path = TM_9882H_FW_FILP_PATH;
ilits->md_fw_rq_path = TM_9882H_FW_REQUEST_PATH;
ilits->md_ini_path = TM_9882H_INI_NAME_PATH;
ilits->md_ini_rq_path = TM_9882H_FW_REQUEST_PATH;
ilits->md_fw_ili = CTPM_FW_TM_9882H;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TM_9882H);
break;
case MODEL_TIANMA_9882N:
ilits->md_name = "TIANMA_9882N";
ilits->md_fw_filp_path = TIANMA_9882N_FW_FILP_PATH;
ilits->md_fw_rq_path = TIANMA_9882N_FW_REQUEST_PATH;
ilits->md_ini_path = TIANMA_9882N_INI_NAME_PATH;
ilits->md_ini_rq_path = TIANMA_9882N_FW_REQUEST_PATH;
ilits->md_fw_ili = CTPM_FW_TIANMA_9882N;
ilits->md_fw_ili_size = sizeof(CTPM_FW_TIANMA_9882N);
break;
case MODEL_HLT:
ilits->md_name = "ILITEK_TDDI_HLT";
ilits->md_fw_filp_path = HLT_FW_REQUEST_PATH;

View file

@ -338,7 +338,12 @@ enum TP_MODEL {
MODEL_INX,
MODEL_DJ,
MODEL_TXD,
MODEL_TXD_9882H,
MODEL_TXD_9882N,
MODEL_TM,
MODEL_TM_9882N,
MODEL_TM_9882H,
MODEL_TIANMA_9882N,
MODEL_HLT
};

View file

@ -23,6 +23,7 @@
#include "ili9882.h"
#ifdef CONFIG_DRM
struct drm_panel *ili_active_panel;
static const char *active_panel_name = NULL;
static int check_dt(struct device_node *np);
#endif
@ -438,6 +439,34 @@ int ili_core_spi_setup(int num)
return 0;
}
#ifdef ILI_FW_PANEL
static int ili_parse_tp_module()
{
int tp_module = 0;
if(active_panel_name) {
if (strstr(active_panel_name, "txd")) {
if (strstr(active_panel_name, "ili9882h")) {
tp_module = MODEL_TXD_9882H;
} else if (strstr(active_panel_name, "ili9882n")) {
tp_module = MODEL_TXD_9882N;
}
} else if (strstr(active_panel_name, "tm")) { // || strstr(active_panel_name, "tianma")) {
if (strstr(active_panel_name, "ili9882n")) {
tp_module = MODEL_TM_9882N;
} else if (strstr(active_panel_name, "ili9882h")) {
tp_module = MODEL_TM_9882H;
}
} else if (strstr(active_panel_name, "tianma")) {
if (strstr(active_panel_name, "ili9882n")) {
tp_module = MODEL_TIANMA_9882N;
}
}
}
ILI_INFO("ili_parse_tp_module=%d\n", tp_module);
return tp_module;
}
#endif //ILI_FW_PANEL
#ifdef CONFIG_DRM
static int check_dt(struct device_node *np)
{
@ -454,6 +483,14 @@ static int check_dt(struct device_node *np)
node = of_parse_phandle(np, "panel", i);
panel = of_drm_find_panel(node);
of_node_put(node);
#ifdef ILI_FW_PANEL
if (!IS_ERR(panel)) {
ili_active_panel = panel;
active_panel_name = node->name;
ILI_INFO("%s: actived\n", active_panel_name);
return 0;
}
#else
if (!IS_ERR(panel)) {
ili_active_panel = panel;
pr_err("%s: ili9882h HLT actived\n", __func__);
@ -468,6 +505,7 @@ static int check_dt(struct device_node *np)
return MODEL_TM;
}
}
#endif //ILI_FW_PANEL
}
if (node)
pr_err("%s: %s not actived\n", __func__, node->name);
@ -540,6 +578,11 @@ static int ilitek_spi_probe(struct spi_device *spi)
return -ENOMEM;
}
//---parse tp module---
#ifdef ILI_FW_PANEL
tp_module = ili_parse_tp_module();
#endif
ilits->i2c = NULL;
ilits->spi = spi;
ilits->dev = &spi->dev;