diff --git a/drivers/input/touchscreen/gt9xx/HLS-0102-1398V1-1060-GT911_Config_20201204_V66.cfg b/drivers/input/touchscreen/gt9xx/HLS-0102-1398V1-1060-GT911_Config_20201204_V66.cfg new file mode 100644 index 000000000000..77b72c416bea --- /dev/null +++ b/drivers/input/touchscreen/gt9xx/HLS-0102-1398V1-1060-GT911_Config_20201204_V66.cfg @@ -0,0 +1 @@ +0x42,0x00,0x03,0x00,0x04,0x0A,0x45,0x03,0x22,0x1F,0x28,0x0F,0x64,0x3C,0x03,0x0F,0x00,0x00,0x00,0x00,0x11,0x00,0x08,0x00,0x00,0x00,0x00,0x8B,0x29,0x0E,0x71,0x6F,0xB2,0x04,0x00,0x00,0x00,0x39,0x02,0x10,0x00,0x21,0x00,0x00,0x00,0x03,0x64,0x32,0x00,0x00,0x00,0x3C,0x78,0x94,0xD5,0x02,0x07,0x00,0x00,0x04,0xC8,0x40,0x00,0xB1,0x4A,0x00,0x9E,0x55,0x00,0x8E,0x61,0x00,0x7F,0x70,0x00,0x7F,0x70,0x00,0x00,0x00,0xF0,0x90,0x3C,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1A,0x18,0x16,0x14,0x12,0x10,0x0E,0x0C,0x0A,0x08,0x06,0x04,0x02,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0F,0x10,0x12,0x13,0x16,0x18,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0x01 \ No newline at end of file diff --git a/drivers/input/touchscreen/gt9xx/gt9xx.c b/drivers/input/touchscreen/gt9xx/gt9xx.c index 8dcb6965ddc4..da511563bac3 100644 --- a/drivers/input/touchscreen/gt9xx/gt9xx.c +++ b/drivers/input/touchscreen/gt9xx/gt9xx.c @@ -59,6 +59,7 @@ static u8 m89or101 = TRUE; static u8 bgt911 = FALSE; static u8 bgt9110 = FALSE; +static u8 bgt9111 = FALSE; static u8 bgt970 = FALSE; static u8 bgt910 = FALSE; static u8 gtp_change_x2y = TRUE; @@ -1448,6 +1449,12 @@ static s32 gtp_init_panel(struct goodix_ts_data *ts) send_cfg_buf[0] = gtp_dat_gt9110; cfg_info_len[0] = CFG_GROUP_LEN(gtp_dat_gt9110); } + + if (bgt9111) { + send_cfg_buf[0] = gtp_dat_gt9111; + cfg_info_len[0] = CFG_GROUP_LEN(gtp_dat_gt9111); + } + if (bgt970) { send_cfg_buf[0] = gtp_dat_9_7; cfg_info_len[0] = CFG_GROUP_LEN(gtp_dat_9_7); @@ -2659,6 +2666,12 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id gtp_change_x2y = TRUE; gtp_x_reverse = TRUE; gtp_y_reverse = FALSE; + } else if (val == 9111) { + m89or101 = FALSE; + bgt9111 = TRUE; + gtp_change_x2y = FALSE; + gtp_x_reverse = TRUE; + gtp_y_reverse = FALSE; } else if (val == 970) { m89or101 = FALSE; bgt911 = FALSE; diff --git a/drivers/input/touchscreen/gt9xx/gt9xx_cfg.h b/drivers/input/touchscreen/gt9xx/gt9xx_cfg.h index 7d1924332c39..2b083c5655f8 100644 --- a/drivers/input/touchscreen/gt9xx/gt9xx_cfg.h +++ b/drivers/input/touchscreen/gt9xx/gt9xx_cfg.h @@ -29,6 +29,10 @@ u8 gtp_dat_gt9110[] = { #include "GT9110P(2020)V71_Config_20201028_170326.cfg" }; +u8 gtp_dat_gt9111[] = { + #include "HLS-0102-1398V1-1060-GT911_Config_20201204_V66.cfg" +}; + u8 gtp_dat_8_9[] = { /* TODO:Puts your update firmware data here! */ /* <1920, 1200> 8.9 */