mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 09:41:03 -04:00
arm64: allwinner: axp81x: Add support for regnode_status
This method is used to know if a regulator is enabled or not.
Sponsored by: Diablotin Systems
Differential Revision: https://reviews.freebsd.org/D30290
(cherry picked from commit 182717da88)
This commit is contained in:
parent
ac90d80771
commit
ee2a263974
1 changed files with 17 additions and 0 deletions
|
|
@ -850,6 +850,22 @@ axp8xx_regnode_voltage_to_reg(struct axp8xx_reg_sc *sc, int min_uvolt,
|
|||
return (0);
|
||||
}
|
||||
|
||||
static int
|
||||
axp8xx_regnode_status(struct regnode *regnode, int *status)
|
||||
{
|
||||
struct axp8xx_reg_sc *sc;
|
||||
uint8_t val;
|
||||
|
||||
sc = regnode_get_softc(regnode);
|
||||
|
||||
*status = 0;
|
||||
axp8xx_read(sc->base_dev, sc->def->enable_reg, &val, 1);
|
||||
if (val & sc->def->enable_mask)
|
||||
*status = REGULATOR_STATUS_ENABLED;
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
static int
|
||||
axp8xx_regnode_set_voltage(struct regnode *regnode, int min_uvolt,
|
||||
int max_uvolt, int *udelay)
|
||||
|
|
@ -899,6 +915,7 @@ static regnode_method_t axp8xx_regnode_methods[] = {
|
|||
/* Regulator interface */
|
||||
REGNODEMETHOD(regnode_init, axp8xx_regnode_init),
|
||||
REGNODEMETHOD(regnode_enable, axp8xx_regnode_enable),
|
||||
REGNODEMETHOD(regnode_status, axp8xx_regnode_status),
|
||||
REGNODEMETHOD(regnode_set_voltage, axp8xx_regnode_set_voltage),
|
||||
REGNODEMETHOD(regnode_get_voltage, axp8xx_regnode_get_voltage),
|
||||
REGNODEMETHOD(regnode_check_voltage, regnode_method_check_voltage),
|
||||
|
|
|
|||
Loading…
Reference in a new issue