Merge changes Idf032b03,Id8e803b3 into integration

* changes:
  feat(st-regulator): support regulator_set_voltage for fixed regulator
  feat(st-regulator): add enable ramp-delay
This commit is contained in:
Olivier Deprez 2024-09-20 11:14:55 +02:00 committed by TrustedFirmware Code Review
commit b2c535da56

View file

@ -215,14 +215,18 @@ int regulator_set_voltage(struct rdev *rdev, uint16_t mvolt)
VERBOSE("%s: set mvolt\n", rdev->desc->node_name);
if (rdev->desc->ops->set_voltage == NULL) {
return -ENODEV;
}
if ((mvolt < rdev->min_mv) || (mvolt > rdev->max_mv)) {
return -EPERM;
}
if (regulator_get_voltage(rdev) == mvolt) {
return 0U;
}
if (rdev->desc->ops->set_voltage == NULL) {
return -ENODEV;
}
lock_driver(rdev);
ret = rdev->desc->ops->set_voltage(rdev->desc, mvolt);
@ -420,6 +424,7 @@ int regulator_set_flag(struct rdev *rdev, uint16_t flag)
static int parse_properties(const void *fdt, struct rdev *rdev, int node)
{
const fdt32_t *cuint;
int ret;
if (fdt_getprop(fdt, node, "regulator-always-on", NULL) != NULL) {
@ -430,6 +435,13 @@ static int parse_properties(const void *fdt, struct rdev *rdev, int node)
}
}
cuint = fdt_getprop(fdt, node, "regulator-enable-ramp-delay", NULL);
if (cuint != NULL) {
rdev->enable_ramp_delay = fdt32_to_cpu(*cuint);
VERBOSE("%s: enable_ramp_delay=%u\n", rdev->desc->node_name,
rdev->enable_ramp_delay);
}
return 0;
}