mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
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:
parent
4e7f43b4e8
commit
0afb0fbeb6
6 changed files with 140 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue