git: ee2a2639749f - stable/13 - arm64: allwinner: axp81x: Add support for regnode_status

Emmanuel Vadot manu at FreeBSD.org
Thu Jul 22 17:17:02 UTC 2021


The branch stable/13 has been updated by manu:

URL: https://cgit.FreeBSD.org/src/commit/?id=ee2a2639749fd42de2b4bf19d4784948a6d1fca5

commit ee2a2639749fd42de2b4bf19d4784948a6d1fca5
Author:     Emmanuel Vadot <manu at FreeBSD.org>
AuthorDate: 2021-05-16 14:14:47 +0000
Commit:     Emmanuel Vadot <manu at FreeBSD.org>
CommitDate: 2021-07-22 17:09:40 +0000

    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 182717da888023a8d0d1a66d579b5a5429b8681d)
---
 sys/arm/allwinner/axp81x.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/sys/arm/allwinner/axp81x.c b/sys/arm/allwinner/axp81x.c
index 85971a7773c4..df083ec49e32 100644
--- a/sys/arm/allwinner/axp81x.c
+++ b/sys/arm/allwinner/axp81x.c
@@ -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),


More information about the dev-commits-src-all mailing list