aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Xiang <liu.xiang6@zte.com.cn>2018-07-22 09:33:56 -0400
committerSebastian Reichel <sre@kernel.org>2018-09-20 05:35:40 -0400
commit457b42f0aa1c397745ada6083bf81b9479ab19fe (patch)
treef36d97a95326d25eb7a66ada2147365ce1628fee
parent1c3d7b0364f0730a8a64801dd07a589bbac06671 (diff)
power: supply: bq27xxx: Add support for BQ27411
According to the datasheet, bq27411 is similar to bq27421. Signed-off-by: Liu Xiang <liu.xiang6@zte.com.cn> Reviewed-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-rw-r--r--Documentation/devicetree/bindings/power/supply/bq27xxx.txt1
-rw-r--r--drivers/power/supply/bq27xxx_battery.c9
-rw-r--r--drivers/power/supply/bq27xxx_battery_i2c.c2
-rw-r--r--include/linux/power/bq27xxx_battery.h1
4 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/power/supply/bq27xxx.txt b/Documentation/devicetree/bindings/power/supply/bq27xxx.txt
index 37994fdb18ca..4fa8e08df2b6 100644
--- a/Documentation/devicetree/bindings/power/supply/bq27xxx.txt
+++ b/Documentation/devicetree/bindings/power/supply/bq27xxx.txt
@@ -23,6 +23,7 @@ Required properties:
23 * "ti,bq27546" - BQ27546 23 * "ti,bq27546" - BQ27546
24 * "ti,bq27742" - BQ27742 24 * "ti,bq27742" - BQ27742
25 * "ti,bq27545" - BQ27545 25 * "ti,bq27545" - BQ27545
26 * "ti,bq27411" - BQ27411
26 * "ti,bq27421" - BQ27421 27 * "ti,bq27421" - BQ27421
27 * "ti,bq27425" - BQ27425 28 * "ti,bq27425" - BQ27425
28 * "ti,bq27426" - BQ27426 29 * "ti,bq27426" - BQ27426
diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
index f022e1b550df..6dbbe95844a3 100644
--- a/drivers/power/supply/bq27xxx_battery.c
+++ b/drivers/power/supply/bq27xxx_battery.c
@@ -432,6 +432,7 @@ static u8
432 [BQ27XXX_REG_AP] = 0x18, 432 [BQ27XXX_REG_AP] = 0x18,
433 BQ27XXX_DM_REG_ROWS, 433 BQ27XXX_DM_REG_ROWS,
434 }; 434 };
435#define bq27411_regs bq27421_regs
435#define bq27425_regs bq27421_regs 436#define bq27425_regs bq27421_regs
436#define bq27426_regs bq27421_regs 437#define bq27426_regs bq27421_regs
437#define bq27441_regs bq27421_regs 438#define bq27441_regs bq27421_regs
@@ -665,6 +666,7 @@ static enum power_supply_property bq27421_props[] = {
665 POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, 666 POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
666 POWER_SUPPLY_PROP_MANUFACTURER, 667 POWER_SUPPLY_PROP_MANUFACTURER,
667}; 668};
669#define bq27411_props bq27421_props
668#define bq27425_props bq27421_props 670#define bq27425_props bq27421_props
669#define bq27426_props bq27421_props 671#define bq27426_props bq27421_props
670#define bq27441_props bq27421_props 672#define bq27441_props bq27421_props
@@ -725,6 +727,12 @@ static struct bq27xxx_dm_reg bq27545_dm_regs[] = {
725#define bq27545_dm_regs 0 727#define bq27545_dm_regs 0
726#endif 728#endif
727 729
730static struct bq27xxx_dm_reg bq27411_dm_regs[] = {
731 [BQ27XXX_DM_DESIGN_CAPACITY] = { 82, 10, 2, 0, 32767 },
732 [BQ27XXX_DM_DESIGN_ENERGY] = { 82, 12, 2, 0, 32767 },
733 [BQ27XXX_DM_TERMINATE_VOLTAGE] = { 82, 16, 2, 2800, 3700 },
734};
735
728static struct bq27xxx_dm_reg bq27421_dm_regs[] = { 736static struct bq27xxx_dm_reg bq27421_dm_regs[] = {
729 [BQ27XXX_DM_DESIGN_CAPACITY] = { 82, 10, 2, 0, 8000 }, 737 [BQ27XXX_DM_DESIGN_CAPACITY] = { 82, 10, 2, 0, 8000 },
730 [BQ27XXX_DM_DESIGN_ENERGY] = { 82, 12, 2, 0, 32767 }, 738 [BQ27XXX_DM_DESIGN_ENERGY] = { 82, 12, 2, 0, 32767 },
@@ -802,6 +810,7 @@ static struct {
802 [BQ27546] = BQ27XXX_DATA(bq27546, 0 , BQ27XXX_O_OTDC), 810 [BQ27546] = BQ27XXX_DATA(bq27546, 0 , BQ27XXX_O_OTDC),
803 [BQ27742] = BQ27XXX_DATA(bq27742, 0 , BQ27XXX_O_OTDC), 811 [BQ27742] = BQ27XXX_DATA(bq27742, 0 , BQ27XXX_O_OTDC),
804 [BQ27545] = BQ27XXX_DATA(bq27545, 0x04143672, BQ27XXX_O_OTDC), 812 [BQ27545] = BQ27XXX_DATA(bq27545, 0x04143672, BQ27XXX_O_OTDC),
813 [BQ27411] = BQ27XXX_DATA(bq27411, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM),
805 [BQ27421] = BQ27XXX_DATA(bq27421, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM), 814 [BQ27421] = BQ27XXX_DATA(bq27421, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM),
806 [BQ27425] = BQ27XXX_DATA(bq27425, 0x04143672, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP), 815 [BQ27425] = BQ27XXX_DATA(bq27425, 0x04143672, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP),
807 [BQ27426] = BQ27XXX_DATA(bq27426, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM), 816 [BQ27426] = BQ27XXX_DATA(bq27426, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM),
diff --git a/drivers/power/supply/bq27xxx_battery_i2c.c b/drivers/power/supply/bq27xxx_battery_i2c.c
index 40069128ad44..2677c38a8a42 100644
--- a/drivers/power/supply/bq27xxx_battery_i2c.c
+++ b/drivers/power/supply/bq27xxx_battery_i2c.c
@@ -247,6 +247,7 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = {
247 { "bq27546", BQ27546 }, 247 { "bq27546", BQ27546 },
248 { "bq27742", BQ27742 }, 248 { "bq27742", BQ27742 },
249 { "bq27545", BQ27545 }, 249 { "bq27545", BQ27545 },
250 { "bq27411", BQ27411 },
250 { "bq27421", BQ27421 }, 251 { "bq27421", BQ27421 },
251 { "bq27425", BQ27425 }, 252 { "bq27425", BQ27425 },
252 { "bq27426", BQ27426 }, 253 { "bq27426", BQ27426 },
@@ -279,6 +280,7 @@ static const struct of_device_id bq27xxx_battery_i2c_of_match_table[] = {
279 { .compatible = "ti,bq27546" }, 280 { .compatible = "ti,bq27546" },
280 { .compatible = "ti,bq27742" }, 281 { .compatible = "ti,bq27742" },
281 { .compatible = "ti,bq27545" }, 282 { .compatible = "ti,bq27545" },
283 { .compatible = "ti,bq27411" },
282 { .compatible = "ti,bq27421" }, 284 { .compatible = "ti,bq27421" },
283 { .compatible = "ti,bq27425" }, 285 { .compatible = "ti,bq27425" },
284 { .compatible = "ti,bq27426" }, 286 { .compatible = "ti,bq27426" },
diff --git a/include/linux/power/bq27xxx_battery.h b/include/linux/power/bq27xxx_battery.h
index d6355f49fbae..507c5e214c42 100644
--- a/include/linux/power/bq27xxx_battery.h
+++ b/include/linux/power/bq27xxx_battery.h
@@ -24,6 +24,7 @@ enum bq27xxx_chip {
24 BQ27546, 24 BQ27546,
25 BQ27742, 25 BQ27742,
26 BQ27545, /* bq27545 */ 26 BQ27545, /* bq27545 */
27 BQ27411,
27 BQ27421, /* bq27421, bq27441, bq27621 */ 28 BQ27421, /* bq27421, bq27441, bq27621 */
28 BQ27425, 29 BQ27425,
29 BQ27426, 30 BQ27426,