diff options
| author | William Wu <[email protected]> | 2024-03-14 10:36:16 +0100 |
|---|---|---|
| committer | Kever Yang <[email protected]> | 2024-03-14 18:19:44 +0800 |
| commit | d771597fbbade5c45ca6e0956ec3120b2d9bdce0 (patch) | |
| tree | 4b27e8244590d0b470b1921671e3f3a9c0091d7f /drivers | |
| parent | 811323ffd460ce6e54846c872df1ea157adf5ea8 (diff) | |
regulator: rk8xx: fix SWITCH enable on RK809
On RK809 in PMIC_POWER_ENX registers, in order to set or clear a bit N,
the bit at offset N + 4 needs to be set otherwise nothing is done.
This fixes the inability to modify the SWITCH state on RK809.
Cc: Quentin Schulz <[email protected]>
Signed-off-by: William Wu <[email protected]>
[reworded commit log]
Reviewed-by: Kever Yang <[email protected]>
Signed-off-by: Quentin Schulz <[email protected]>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/power/regulator/rk8xx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/power/regulator/rk8xx.c b/drivers/power/regulator/rk8xx.c index 97d73ac95e0..e905df3a800 100644 --- a/drivers/power/regulator/rk8xx.c +++ b/drivers/power/regulator/rk8xx.c @@ -901,7 +901,7 @@ static int switch_set_enable(struct udevice *dev, bool enable) case RK809_ID: mask = (1 << (sw + 2)) | (1 << (sw + 6)); ret = pmic_clrsetbits(dev->parent, RK817_POWER_EN(3), mask, - enable ? mask : 0); + enable ? mask : (1 << (sw + 6))); break; case RK818_ID: mask = 1 << 6; |
