input: touchscreen: synaptics_s3908p: Load the correct fw file
* A merge of synaptics_l9, synaptics_s3908p and synaptics_touch drivers Change-Id: I91c19ddcecd84106e27818637eb676200807871b
This commit is contained in:
parent
92c660cb72
commit
12b8d82c48
@ -36,6 +36,7 @@
|
||||
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/hwid.h>
|
||||
#include "synaptics_tcm_core.h"
|
||||
|
||||
#define STARTUP_REFLASH
|
||||
@ -43,8 +44,12 @@
|
||||
#define ENABLE_SYS_REFLASH true
|
||||
#define SYSFS_DIR_NAME "reflash"
|
||||
#define CUSTOM_DIR_NAME "custom"
|
||||
#define FW_IMAGE_NAME "s3908p_xiaomi_l9_spi.img"
|
||||
#define FW_IMAGE_NAME_MANUAL "s3908p_xiaomi_l9_spi.img"
|
||||
#define FW_IMAGE_NAME_L9 "s3908p_xiaomi_l9_spi.img"
|
||||
#define FW_IMAGE_NAME_MANUAL_L9 "s3908p_xiaomi_l9_spi.img"
|
||||
#define FW_IMAGE_NAME_K9B "s3908p_xiaomi_k9b_spi.img"
|
||||
#define FW_IMAGE_NAME_MANUAL_K9B "s3908p_xiaomi_k9b_spi.img"
|
||||
#define FW_IMAGE_NAME_K9E "s3908p_xiaomi_k9e_spi.img"
|
||||
#define FW_IMAGE_NAME_MANUAL_K9E "s3908p_xiaomi_k9e_spi.img"
|
||||
#define BOOT_CONFIG_ID "BOOT_CONFIG"
|
||||
#define APP_CODE_ID "APP_CODE"
|
||||
#define PROD_TEST_ID "APP_PROD_TEST"
|
||||
@ -931,30 +936,51 @@ static int reflash_get_fw_image(void)
|
||||
{
|
||||
int retval;
|
||||
struct syna_tcm_hcd *tcm_hcd = reflash_hcd->tcm_hcd;
|
||||
const char *fw_image_name = NULL;
|
||||
const char *fw_image_name_manual= NULL;
|
||||
|
||||
LOGE(tcm_hcd->pdev->dev.parent, "-----enter-----%s\n", __func__);
|
||||
/* reflash_hcd->reflash_by_manual=false; */
|
||||
|
||||
switch (get_hw_version_platform()) {
|
||||
case HARDWARE_PROJECT_L9:
|
||||
fw_image_name = FW_IMAGE_NAME_L9;
|
||||
fw_image_name_manual = FW_IMAGE_NAME_MANUAL_L9;
|
||||
break;
|
||||
case HARDWARE_PROJECT_K9B:
|
||||
fw_image_name = FW_IMAGE_NAME_K9B;
|
||||
fw_image_name_manual = FW_IMAGE_NAME_MANUAL_K9B;
|
||||
break;
|
||||
case HARDWARE_PROJECT_K9E:
|
||||
fw_image_name = FW_IMAGE_NAME_K9E;
|
||||
fw_image_name_manual = FW_IMAGE_NAME_MANUAL_K9E;
|
||||
break;
|
||||
default:
|
||||
// Nothing
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (reflash_hcd->image == NULL) {
|
||||
if (reflash_hcd->reflash_by_manual == false) {
|
||||
|
||||
retval = request_firmware(&reflash_hcd->fw_entry,
|
||||
FW_IMAGE_NAME, tcm_hcd->pdev->dev.parent);
|
||||
fw_image_name, tcm_hcd->pdev->dev.parent);
|
||||
if (retval < 0) {
|
||||
LOGE(tcm_hcd->pdev->dev.parent,
|
||||
"Failed to request %s\n",
|
||||
FW_IMAGE_NAME);
|
||||
fw_image_name);
|
||||
return retval;
|
||||
}
|
||||
|
||||
} else {
|
||||
retval = request_firmware(&reflash_hcd->fw_entry,
|
||||
FW_IMAGE_NAME_MANUAL,
|
||||
fw_image_name_manual,
|
||||
tcm_hcd->pdev->dev.parent);
|
||||
if (retval < 0) {
|
||||
LOGE(tcm_hcd->pdev->dev.parent,
|
||||
"Failed to request %s\n",
|
||||
FW_IMAGE_NAME_MANUAL);
|
||||
fw_image_name_manual);
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <linux/fs.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/hwid.h>
|
||||
#include "synaptics_tcm_core.h"
|
||||
#include "synaptics_tcm_testing.h"
|
||||
|
||||
@ -567,6 +568,7 @@ static int testing_load_testlimits(enum test_code testcode, unsigned int gapdiff
|
||||
unsigned int cols;
|
||||
unsigned int buf_size_bytes = 0;
|
||||
const struct firmware *firmware = NULL;
|
||||
const char *syna_tcm_test_file = NULL;
|
||||
struct syna_tcm_buffer *dest_buffer0 = NULL;
|
||||
struct syna_tcm_buffer *dest_buffer1 = NULL;
|
||||
struct syna_tcm_hcd *tcm_hcd = testing_hcd->tcm_hcd;
|
||||
@ -634,7 +636,18 @@ static int testing_load_testlimits(enum test_code testcode, unsigned int gapdiff
|
||||
}
|
||||
|
||||
/* read limit csv file */
|
||||
sprintf(limit_file_name, "%s", SYNA_TCM_TESTING_LIMITS_FILE_NAME);
|
||||
switch (get_hw_version_platform()) {
|
||||
case HARDWARE_PROJECT_K9B:
|
||||
syna_tcm_test_file = SYNA_TCM_TESTING_LIMITS_FILE_NAME_K9B;
|
||||
break;
|
||||
case HARDWARE_PROJECT_K9E:
|
||||
syna_tcm_test_file = SYNA_TCM_TESTING_LIMITS_FILE_NAME_K9E;
|
||||
break;
|
||||
default:
|
||||
// Nothing
|
||||
break;
|
||||
}
|
||||
sprintf(limit_file_name, "%s", syna_tcm_test_file);
|
||||
LOGN(tcm_hcd->pdev->dev.parent,
|
||||
"limit_file_name:%s.\n", limit_file_name);
|
||||
|
||||
|
@ -44,7 +44,8 @@
|
||||
|
||||
#define PT1_PT3_LIMITS_BYTES_SIZE (8)
|
||||
#define PT10_LIMITS_BYTES_SIZE (1)
|
||||
#define SYNA_TCM_TESTING_LIMITS_FILE_NAME "k9b_test_limits_S3908P.csv"
|
||||
#define SYNA_TCM_TESTING_LIMITS_FILE_NAME_K9B "k9b_test_limits_S3908P.csv"
|
||||
#define SYNA_TCM_TESTING_LIMITS_FILE_NAME_K9E "k9e_test_limits_S3908P.csv"
|
||||
#define CSV_PT1_TESTING_LIMITS "PT1_TRx_TRx_short_test"
|
||||
#define CSV_PT3_TESTING_LIMITS "PT3_TRX_GND_short_test"
|
||||
#define CSV_PT5_TESTING_LIMITS_MIN "PT5_Full_raw_cap_test_min"
|
||||
|
Loading…
Reference in New Issue
Block a user