struct utp_upiu_query upiu_res;
};
-#define UFS_VREG_VCC_MIN_UV 2700000 /* uV */
-#define UFS_VREG_VCC_MAX_UV 3600000 /* uV */
-#define UFS_VREG_VCC_1P8_MIN_UV 1700000 /* uV */
-#define UFS_VREG_VCC_1P8_MAX_UV 1950000 /* uV */
-#define UFS_VREG_VCCQ_MIN_UV 1140000 /* uV */
-#define UFS_VREG_VCCQ_MAX_UV 1260000 /* uV */
-#define UFS_VREG_VCCQ2_MIN_UV 1700000 /* uV */
-#define UFS_VREG_VCCQ2_MAX_UV 1950000 /* uV */
-
/*
* VCCQ & VCCQ2 current requirement when UFS device is in sleep state
* and link is in Hibern8 state.
const char *name;
bool always_on;
bool enabled;
- int min_uV;
- int max_uV;
int max_uA;
};
static int ufshcd_config_vreg(struct device *dev,
struct ufs_vreg *vreg, bool on)
{
- int ret = 0;
- struct regulator *reg;
- const char *name;
- int min_uV, uA_load;
-
- BUG_ON(!vreg);
-
- reg = vreg->reg;
- name = vreg->name;
-
- if (regulator_count_voltages(reg) > 0) {
- uA_load = on ? vreg->max_uA : 0;
- ret = ufshcd_config_vreg_load(dev, vreg, uA_load);
- if (ret)
- goto out;
+ if (regulator_count_voltages(vreg->reg) <= 0)
+ return 0;
- if (vreg->min_uV && vreg->max_uV) {
- min_uV = on ? vreg->min_uV : 0;
- ret = regulator_set_voltage(reg, min_uV, vreg->max_uV);
- if (ret)
- dev_err(dev,
- "%s: %s set voltage failed, err=%d\n",
- __func__, name, ret);
- }
- }
-out:
- return ret;
+ return ufshcd_config_vreg_load(dev, vreg, on ? vreg->max_uA : 0);
}
static int ufshcd_enable_vreg(struct device *dev, struct ufs_vreg *vreg)