Add flash mode sysfs node in touchscreen mmi

TP:
Add flash mode sysfs node in touchscreen mmi
if flash_mode == 1, read firmware from /data/vendor/param/touch
else follow the previous process.

Change-Id: I17add2b289534533f6c87e4c321847f682cc02b1
Reviewed-on: https://gerrit.mot.com/1853339
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
litong20 2021-06-02 17:05:41 +08:00 • committed by litong
commit 51573bcad9
4 changed files with 24 additions and 0 deletions

View file

@ -13,6 +13,10 @@ ifeq ($(TOUCHCLASS_MMI_GESTURE_POISON_EVENT),true)
KERNEL_CFLAGS += CONFIG_TOUCHCLASS_MMI_GESTURE_POISON_EVENT=y
endif
ifeq ($(TOUCHCLASS_MMI_MULTIWAY_UPDATE_FW),true)
KERNEL_CFLAGS += CONFIG_TOUCHCLASS_MMI_MULTIWAY_UPDATE_FW=y
endif
ifeq ($(DRM_PANEL_NOTIFICATIONS),true)
KERNEL_CFLAGS += CONFIG_DRM_PANEL_NOTIFICATIONS=y
endif

View file

@ -14,6 +14,9 @@ endif
ifneq ($(filter m y, $(CONFIG_TOUCHCLASS_MMI_GESTURE_POISON_EVENT)),)
EXTRA_CFLAGS += -DTS_MMI_TOUCH_GESTURE_POISON_EVENT
endif
ifneq ($(filter m y, $(CONFIG_TOUCHCLASS_MMI_MULTIWAY_UPDATE_FW)),)
EXTRA_CFLAGS += -DTS_MMI_TOUCH_MULTIWAY_UPDATE_FW
endif
ifneq ($(filter m y, $(CONFIG_DRM_PANEL_NOTIFICATIONS)),)
EXTRA_CFLAGS += -DCONFIG_DRM_PANEL_NOTIFICATIONS
endif

View file

@ -123,6 +123,9 @@ TOUCH_MMI_GET_ATTR_RW(suppression, FMT_HEX_INTEGER);
TOUCH_MMI_GET_ATTR_RW(hold_grip, FMT_HEX_INTEGER);
TOUCH_MMI_GET_ATTR_RW(hold_distance, FMT_HEX_INTEGER);
TOUCH_MMI_GET_ATTR_RW(gs_distance, FMT_HEX_INTEGER);
#ifdef TS_MMI_TOUCH_MULTIWAY_UPDATE_FW
TOUCH_MMI_GET_ATTR_RW(flash_mode, FMT_INTEGER);
#endif
#ifdef TS_MMI_TOUCH_GESTURE_POISON_EVENT
TOUCH_MMI_GET_ATTR_RW(poison_timeout, FMT_HEX_INTEGER);
TOUCH_MMI_GET_ATTR_RW(poison_distance, FMT_HEX_INTEGER);
@ -303,6 +306,9 @@ static struct attribute *sysfs_class_attrs[] = {
&dev_attr_reset.attr,
&dev_attr_forcereflash.attr,
&dev_attr_doreflash.attr,
#ifdef TS_MMI_TOUCH_MULTIWAY_UPDATE_FW
&dev_attr_flash_mode.attr,
#endif
&dev_attr_pwr.attr,
&dev_attr_pinctrl.attr,
&dev_attr_refresh_rate.attr,

View file

@ -179,12 +179,14 @@ static inline unsigned long long timediff_ms(
#define TS_MMI_MAX_POINT_NUM 10
#define TS_MMI_MAX_FW_PATH 64
#define TS_MMI_MAX_FULL_FW_PATH 128
#define TS_MMI_MAX_ID_LEN 16
#define TS_MMI_MAX_VENDOR_LEN 16
#define TS_MMI_MAX_INFO_LEN 16
#define TS_MMI_MAX_CLASS_NAME_LEN 16
#define TS_MMI_MAX_PANEL_LEN 16
#define TS_MMI_PILL_REGION_REQ_ARGS_NUM 3
#define TS_MMI_FW_PARAM_PATH "/data/vendor/param/touch/"
enum touch_event_mode {
TS_COORDINATE_ACTION_NONE = 0,
@ -193,6 +195,12 @@ enum touch_event_mode {
TS_COORDINATE_ACTION_MOVE
};
enum TS_FW_UPGRADE_MODE {
FW_DEFAULT_MODE = 0,
FW_PARAM_MODE,
FW_SDCARD_MODE,
};
struct touch_event_data {
bool skip_report;
enum touch_event_mode type; /* TS_TOUCH, TS_RELEASE */
@ -276,6 +284,7 @@ enum ts_mmi_pm_mode {
int (*get_flashprog)(struct device *dev, void *idata);
int (*get_suppression)(struct device *dev, void *idata);
int (*get_hold_grip)(struct device *dev, void *idata);
int (*get_flash_mode)(struct device *dev, void *idata);
int (*get_pill_region)(struct device *dev, void *uiadata);
int (*get_hold_distance)(struct device *dev, void *idata);
int (*get_gs_distance)(struct device *dev, void *idata);
@ -292,6 +301,7 @@ enum ts_mmi_pm_mode {
int (*palm_set_enable)(struct device *dev, unsigned int enable);
int (*suppression)(struct device *dev, int state);
int (*hold_grip)(struct device *dev, int state);
int (*flash_mode)(struct device *dev, int state);
int (*pill_region)(struct device *dev, int *region_array);
int (*hold_distance)(struct device *dev, int dis);
int (*gs_distance)(struct device *dev, int dis);
@ -413,6 +423,7 @@ struct ts_mmi_dev {
int hold_distance;
int gs_distance;
int hold_grip;
int flash_mode;
int poison_timeout;
int poison_distance;
int poison_trigger_distance;