val = cgs_read_register(hwmgr->device, reg);
 
-       val &= (~THM_THERMAL_INT_CTRL__MAX_IH_CREDIT_MASK);
-       val |=  (5 << THM_THERMAL_INT_CTRL__MAX_IH_CREDIT__SHIFT);
-
-       val &= (~THM_THERMAL_INT_CTRL__THERM_IH_HW_ENA_MASK);
-       val |= (1 << THM_THERMAL_INT_CTRL__THERM_IH_HW_ENA__SHIFT);
-
-       val &= (~THM_THERMAL_INT_CTRL__DIG_THERM_INTH_MASK);
-       val |= ((high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)
-                       << THM_THERMAL_INT_CTRL__DIG_THERM_INTH__SHIFT);
-
-       val &= (~THM_THERMAL_INT_CTRL__DIG_THERM_INTL_MASK);
-       val |= ((low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)
-                       << THM_THERMAL_INT_CTRL__DIG_THERM_INTL__SHIFT);
-
+       val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, MAX_IH_CREDIT, 5);
+       val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, THERM_IH_HW_ENA, 1);
+       val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, (high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES));
+       val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, (low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES));
        val = val & (~THM_THERMAL_INT_CTRL__THERM_TRIGGER_MASK_MASK);
 
        cgs_write_register(hwmgr->device, reg, val);