#define MAGNO_EN       BIT(2)
 #define HPD_EN         BIT(16)
 #define ALS_EN         BIT(19)
+#define ACS_EN         BIT(22)
 
 static int sensor_mask_override = -1;
 module_param_named(sensor_mask, sensor_mask_override, int, 0444);
        if (HPD_EN & activestatus)
                sensor_id[num_of_sensors++] = HPD_IDX;
 
+       if (ACS_EN & activestatus)
+               sensor_id[num_of_sensors++] = ACS_IDX;
+
        return num_of_sensors;
 }
 
 
                       sizeof(comp3_report_descriptor));
                break;
        case als_idx: /* ambient light sensor */
+       case ACS_IDX: /* ambient color sensor */
                memset(rep_desc, 0, sizeof(als_report_descriptor));
                memcpy(rep_desc, als_report_descriptor,
                       sizeof(als_report_descriptor));
                }
                break;
        case als_idx:
+       case ACS_IDX: /* ambient color sensor */
                switch (descriptor_name) {
                case descr_size:
                        return sizeof(als_report_descriptor);
                report_size = sizeof(magno_feature);
                break;
        case als_idx:  /* ambient light sensor */
+       case ACS_IDX: /* ambient color sensor */
                get_common_features(&als_feature.common_property, report_id);
                als_feature.als_change_sesnitivity = HID_DEFAULT_SENSITIVITY;
                als_feature.als_sensitivity_min = HID_DEFAULT_MIN_VALUE;
                report_size = sizeof(magno_input);
                break;
        case als_idx: /* Als */
+       case ACS_IDX: /* ambient color sensor */
                get_common_inputs(&als_input.common_property, report_id);
                /* For ALS ,V2 Platforms uses C2P_MSG5 register instead of DRAM access method */
                if (supported_input == V2_STATUS)