mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 11:04:20 +00:00
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:
commit
b2c535da56
1 changed files with 16 additions and 4 deletions
|
@ -215,14 +215,18 @@ int regulator_set_voltage(struct rdev *rdev, uint16_t mvolt)
|
||||||
|
|
||||||
VERBOSE("%s: set mvolt\n", rdev->desc->node_name);
|
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)) {
|
if ((mvolt < rdev->min_mv) || (mvolt > rdev->max_mv)) {
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (regulator_get_voltage(rdev) == mvolt) {
|
||||||
|
return 0U;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rdev->desc->ops->set_voltage == NULL) {
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
lock_driver(rdev);
|
lock_driver(rdev);
|
||||||
|
|
||||||
ret = rdev->desc->ops->set_voltage(rdev->desc, mvolt);
|
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)
|
static int parse_properties(const void *fdt, struct rdev *rdev, int node)
|
||||||
{
|
{
|
||||||
|
const fdt32_t *cuint;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (fdt_getprop(fdt, node, "regulator-always-on", NULL) != NULL) {
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue