summaryrefslogtreecommitdiff
path: root/goodix_brl_fwupdate.c
diff options
context:
space:
mode:
authorWendly Li <wendlyli@google.com>2022-11-30 14:35:41 +0000
committerWendly Li <wendlyli@google.com>2022-11-30 16:21:36 +0000
commitf513b970e0473db577afe9bba02e2cd8327eb270 (patch)
tree8d4af756bddc7f575efd4193ebbce08dad1cc8d8 /goodix_brl_fwupdate.c
parentc9caff69d8254154342af935eca1501af123f53c (diff)
downloadgoodix_touch-f513b970e0473db577afe9bba02e2cd8327eb270.tar.gz
touch/goodix: Import v1.2.2 driver
Bug: 260835421 Test: Check one bin and two bin work properly Change-Id: I628ca6da4e33315da5489888d7c0d6617541bdb5 Signed-off-by: Wendly Li <wendlyli@google.com>
Diffstat (limited to 'goodix_brl_fwupdate.c')
-rw-r--r--goodix_brl_fwupdate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/goodix_brl_fwupdate.c b/goodix_brl_fwupdate.c
index 7f304ba..0fb81e6 100644
--- a/goodix_brl_fwupdate.c
+++ b/goodix_brl_fwupdate.c
@@ -265,6 +265,7 @@ struct fw_update_ctrl {
struct kobject *kobj;
};
static struct fw_update_ctrl goodix_fw_update_ctrl;
+static struct goodix_ic_config one_binary_cfg;
static int goodix_fw_update_reset(int delay)
{
@@ -404,6 +405,13 @@ static int goodix_parse_firmware(struct firmware_data *fw_data)
ts_debug("Subsystem flash_addr:%08X",
fw_summary->subsys[i].flash_addr);
ts_debug("Subsystem Ptr:%p", fw_summary->subsys[i].data);
+
+ if (fw_summary->subsys[i].type == CONFIG_DATA_TYPE) {
+ one_binary_cfg.len = fw_summary->subsys[i].size;
+ memcpy(one_binary_cfg.data, fw_summary->subsys[i].data,
+ one_binary_cfg.len);
+ goodix_fw_update_ctrl.ic_config = &one_binary_cfg;
+ }
}
if (fw_summary->chip_type == CHIP_TYPE_BRA &&