u8 bc_version;
        u8 iap_version;
        u16 hw_version;
+       u8 major_res;
        unsigned int x_res;     /* resolution in units/mm */
        unsigned int y_res;
        unsigned int x_max;
        rows = resp[2] + resp[6] + resp[10];
        cols = resp[3] + resp[7] + resp[11];
 
+       /* Get report resolution value of ABS_MT_TOUCH_MAJOR */
+       ts->major_res = resp[16];
+
        /* Process mm_to_pixel information */
        error = elants_i2c_execute_command(client,
                                           get_osr_cmd, sizeof(get_osr_cmd),
                             0, MT_TOOL_PALM, 0, 0);
        input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
        input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
+       if (ts->major_res > 0)
+               input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, ts->major_res);
 
        touchscreen_parse_properties(ts->input, true, &ts->prop);