@@ -132,6 +132,18 @@ static const struct ts_dmi_data chuwi_vi8_data = {
132
132
.properties = chuwi_vi8_props ,
133
133
};
134
134
135
+ static const struct ts_dmi_data chuwi_vi8_plus_data = {
136
+ .embedded_fw = {
137
+ .name = "chipone/icn8505-HAMP0002.fw" ,
138
+ .prefix = { 0xb0 , 0x07 , 0x00 , 0x00 , 0xe4 , 0x07 , 0x00 , 0x00 },
139
+ .length = 35012 ,
140
+ .sha256 = { 0x93 , 0xe5 , 0x49 , 0xe0 , 0xb6 , 0xa2 , 0xb4 , 0xb3 ,
141
+ 0x88 , 0x96 , 0x34 , 0x97 , 0x5e , 0xa8 , 0x13 , 0x78 ,
142
+ 0x72 , 0x98 , 0xb8 , 0x29 , 0xeb , 0x5c , 0xa7 , 0xf1 ,
143
+ 0x25 , 0x13 , 0x43 , 0xf4 , 0x30 , 0x7c , 0xfc , 0x7c },
144
+ },
145
+ };
146
+
135
147
static const struct property_entry chuwi_vi10_props [] = {
136
148
PROPERTY_ENTRY_U32 ("touchscreen-min-x" , 0 ),
137
149
PROPERTY_ENTRY_U32 ("touchscreen-min-y" , 4 ),
@@ -742,6 +754,15 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
742
754
DMI_MATCH (DMI_BIOS_VERSION , "CHUWI.D86JLBNR" ),
743
755
},
744
756
},
757
+ {
758
+ /* Chuwi Vi8 Plus (CWI519) */
759
+ .driver_data = (void * )& chuwi_vi8_plus_data ,
760
+ .matches = {
761
+ DMI_MATCH (DMI_SYS_VENDOR , "Hampoo" ),
762
+ DMI_MATCH (DMI_PRODUCT_NAME , "D2D3_Vi8A1" ),
763
+ DMI_MATCH (DMI_BOARD_NAME , "Cherry Trail CR" ),
764
+ },
765
+ },
745
766
{
746
767
/* Chuwi Vi10 (CWI505) */
747
768
.driver_data = (void * )& chuwi_vi10_data ,
@@ -1145,6 +1166,9 @@ static int __init ts_dmi_init(void)
1145
1166
return 0 ; /* Not an error */
1146
1167
1147
1168
ts_data = dmi_id -> driver_data ;
1169
+ /* Some dmi table entries only provide an efi_embedded_fw_desc */
1170
+ if (!ts_data -> properties )
1171
+ return 0 ;
1148
1172
1149
1173
error = bus_register_notifier (& i2c_bus_type , & ts_dmi_notifier );
1150
1174
if (error )
0 commit comments