[PATCH] mfd: mc13892: more descriptive charger register defines

Alexander Kurz akurz at blala.de
Fri Nov 4 02:19:06 PDT 2016


Make access to the mc13892 charger parameter voltage, current and max power
dissipation readable in terms of millivolts, milliamps and milliwatts.

Signed-off-by: Alexander Kurz <akurz at blala.de>
---
 arch/arm/boards/efika-mx-smartbook/board.c |  4 +--
 include/mfd/mc13892.h                      | 40 +++++++++++++++++++++++-------
 2 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boards/efika-mx-smartbook/board.c b/arch/arm/boards/efika-mx-smartbook/board.c
index d7c11dc..d7c5681 100644
--- a/arch/arm/boards/efika-mx-smartbook/board.c
+++ b/arch/arm/boards/efika-mx-smartbook/board.c
@@ -74,9 +74,7 @@ static void efikamx_power_init(struct mc13xxx *mc)
 
 	/* Externally powered */
 	mc13xxx_reg_read(mc, MC13892_REG_CHARGE, &val);
-	val |= MC13782_CHARGE_ICHRG0 | MC13782_CHARGE_ICHRG1 |
-		MC13782_CHARGE_ICHRG2 | MC13782_CHARGE_ICHRG3 |
-		MC13782_CHARGE_CHGAUTOB;
+	val |= MC13782_CHARGE_ICHRG_FULL | MC13782_CHARGE_CHGAUTOB;
 	mc13xxx_reg_write(mc, MC13892_REG_CHARGE, val);
 
 	/* power up the system first */
diff --git a/include/mfd/mc13892.h b/include/mfd/mc13892.h
index c92a462..8b52239 100644
--- a/include/mfd/mc13892.h
+++ b/include/mfd/mc13892.h
@@ -29,21 +29,43 @@
 
 /* REG_CHARGE */
 
-#define MC13782_CHARGE_VCHRG0		(1 << 0)
-#define MC13782_CHARGE_VCHRG1		(1 << 1)
-#define MC13782_CHARGE_VCHRG2		(1 << 2)
-#define MC13782_CHARGE_ICHRG0		(1 << 3)
-#define MC13782_CHARGE_ICHRG1		(1 << 4)
-#define MC13782_CHARGE_ICHRG2		(1 << 5)
-#define MC13782_CHARGE_ICHRG3		(1 << 6)
+#define MC13782_CHARGE_VCHRG_3800	(0 << 0)
+#define MC13782_CHARGE_VCHRG_4100	(1 << 0)
+#define MC13782_CHARGE_VCHRG_4150	(2 << 0)
+#define MC13782_CHARGE_VCHRG_4200	(3 << 0)
+#define MC13782_CHARGE_VCHRG_4250	(4 << 0)
+#define MC13782_CHARGE_VCHRG_4300	(5 << 0)
+#define MC13782_CHARGE_VCHRG_4375	(6 << 0)
+#define MC13782_CHARGE_VCHRG_4450	(7 << 0)
+#define MC13782_CHARGE_VCHRG_MASK	(7 << 0)
+#define MC13782_CHARGE_ICHRG_0		(0 << 3)
+#define MC13782_CHARGE_ICHRG_80		(1 << 3)
+#define MC13782_CHARGE_ICHRG_240	(2 << 3)
+#define MC13782_CHARGE_ICHRG_320	(3 << 3)
+#define MC13782_CHARGE_ICHRG_400	(4 << 3)
+#define MC13782_CHARGE_ICHRG_480	(5 << 3)
+#define MC13782_CHARGE_ICHRG_560	(6 << 3)
+#define MC13782_CHARGE_ICHRG_640	(7 << 3)
+#define MC13782_CHARGE_ICHRG_720	(8 << 3)
+#define MC13782_CHARGE_ICHRG_800	(9 << 3)
+#define MC13782_CHARGE_ICHRG_880	(10 << 3)
+#define MC13782_CHARGE_ICHRG_960	(11 << 3)
+#define MC13782_CHARGE_ICHRG_1040	(12 << 3)
+#define MC13782_CHARGE_ICHRG_1200	(13 << 3)
+#define MC13782_CHARGE_ICHRG_1600	(14 << 3)
+#define MC13782_CHARGE_ICHRG_FULL	(15 << 3)
+#define MC13782_CHARGE_ICHRG_MASK	(15 << 3)
 #define MC13782_CHARGE_TREN		(1 << 7)
 #define MC13782_CHARGE_ACKLPB		(1 << 8)
 #define MC13782_CHARGE_THCHKB		(1 << 9)
 #define MC13782_CHARGE_FETOVRD		(1 << 10)
 #define MC13782_CHARGE_FETCTRL		(1 << 11)
 #define MC13782_CHARGE_RVRSMODE		(1 << 13)
-#define MC13782_CHARGE_PLIM0		(1 << 15)
-#define MC13782_CHARGE_PLIM1		(1 << 16)
+#define MC13782_CHARGE_PLIM_600		(0 << 15)
+#define MC13782_CHARGE_PLIM_800		(1 << 15)
+#define MC13782_CHARGE_PLIM_1000	(2 << 15)
+#define MC13782_CHARGE_PLIM_1200	(3 << 15)
+#define MC13782_CHARGE_PLIM_MASK	(3 << 15)
 #define MC13782_CHARGE_PLIMDIS		(1 << 17)
 #define MC13782_CHARGE_CHRGLEDEN	(1 << 18)
 #define MC13782_CHARGE_CHGTMRRST	(1 << 19)
-- 
2.1.4




More information about the barebox mailing list