Commit 457b42f0 authored by Liu Xiang's avatar Liu Xiang Committed by Sebastian Reichel

power: supply: bq27xxx: Add support for BQ27411

According to the datasheet, bq27411 is similar to bq27421.
Signed-off-by: default avatarLiu Xiang <liu.xiang6@zte.com.cn>
Reviewed-by: default avatarAndrew F. Davis <afd@ti.com>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent 1c3d7b03
...@@ -23,6 +23,7 @@ Required properties: ...@@ -23,6 +23,7 @@ Required properties:
* "ti,bq27546" - BQ27546 * "ti,bq27546" - BQ27546
* "ti,bq27742" - BQ27742 * "ti,bq27742" - BQ27742
* "ti,bq27545" - BQ27545 * "ti,bq27545" - BQ27545
* "ti,bq27411" - BQ27411
* "ti,bq27421" - BQ27421 * "ti,bq27421" - BQ27421
* "ti,bq27425" - BQ27425 * "ti,bq27425" - BQ27425
* "ti,bq27426" - BQ27426 * "ti,bq27426" - BQ27426
......
...@@ -432,6 +432,7 @@ static u8 ...@@ -432,6 +432,7 @@ static u8
[BQ27XXX_REG_AP] = 0x18, [BQ27XXX_REG_AP] = 0x18,
BQ27XXX_DM_REG_ROWS, BQ27XXX_DM_REG_ROWS,
}; };
#define bq27411_regs bq27421_regs
#define bq27425_regs bq27421_regs #define bq27425_regs bq27421_regs
#define bq27426_regs bq27421_regs #define bq27426_regs bq27421_regs
#define bq27441_regs bq27421_regs #define bq27441_regs bq27421_regs
...@@ -665,6 +666,7 @@ static enum power_supply_property bq27421_props[] = { ...@@ -665,6 +666,7 @@ static enum power_supply_property bq27421_props[] = {
POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
POWER_SUPPLY_PROP_MANUFACTURER, POWER_SUPPLY_PROP_MANUFACTURER,
}; };
#define bq27411_props bq27421_props
#define bq27425_props bq27421_props #define bq27425_props bq27421_props
#define bq27426_props bq27421_props #define bq27426_props bq27421_props
#define bq27441_props bq27421_props #define bq27441_props bq27421_props
...@@ -725,6 +727,12 @@ static struct bq27xxx_dm_reg bq27545_dm_regs[] = { ...@@ -725,6 +727,12 @@ static struct bq27xxx_dm_reg bq27545_dm_regs[] = {
#define bq27545_dm_regs 0 #define bq27545_dm_regs 0
#endif #endif
static struct bq27xxx_dm_reg bq27411_dm_regs[] = {
[BQ27XXX_DM_DESIGN_CAPACITY] = { 82, 10, 2, 0, 32767 },
[BQ27XXX_DM_DESIGN_ENERGY] = { 82, 12, 2, 0, 32767 },
[BQ27XXX_DM_TERMINATE_VOLTAGE] = { 82, 16, 2, 2800, 3700 },
};
static struct bq27xxx_dm_reg bq27421_dm_regs[] = { static struct bq27xxx_dm_reg bq27421_dm_regs[] = {
[BQ27XXX_DM_DESIGN_CAPACITY] = { 82, 10, 2, 0, 8000 }, [BQ27XXX_DM_DESIGN_CAPACITY] = { 82, 10, 2, 0, 8000 },
[BQ27XXX_DM_DESIGN_ENERGY] = { 82, 12, 2, 0, 32767 }, [BQ27XXX_DM_DESIGN_ENERGY] = { 82, 12, 2, 0, 32767 },
...@@ -802,6 +810,7 @@ static struct { ...@@ -802,6 +810,7 @@ static struct {
[BQ27546] = BQ27XXX_DATA(bq27546, 0 , BQ27XXX_O_OTDC), [BQ27546] = BQ27XXX_DATA(bq27546, 0 , BQ27XXX_O_OTDC),
[BQ27742] = BQ27XXX_DATA(bq27742, 0 , BQ27XXX_O_OTDC), [BQ27742] = BQ27XXX_DATA(bq27742, 0 , BQ27XXX_O_OTDC),
[BQ27545] = BQ27XXX_DATA(bq27545, 0x04143672, BQ27XXX_O_OTDC), [BQ27545] = BQ27XXX_DATA(bq27545, 0x04143672, BQ27XXX_O_OTDC),
[BQ27411] = BQ27XXX_DATA(bq27411, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM),
[BQ27421] = BQ27XXX_DATA(bq27421, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM), [BQ27421] = BQ27XXX_DATA(bq27421, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM),
[BQ27425] = BQ27XXX_DATA(bq27425, 0x04143672, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP), [BQ27425] = BQ27XXX_DATA(bq27425, 0x04143672, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP),
[BQ27426] = BQ27XXX_DATA(bq27426, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM), [BQ27426] = BQ27XXX_DATA(bq27426, 0x80008000, BQ27XXX_O_UTOT | BQ27XXX_O_CFGUP | BQ27XXX_O_RAM),
......
...@@ -247,6 +247,7 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = { ...@@ -247,6 +247,7 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = {
{ "bq27546", BQ27546 }, { "bq27546", BQ27546 },
{ "bq27742", BQ27742 }, { "bq27742", BQ27742 },
{ "bq27545", BQ27545 }, { "bq27545", BQ27545 },
{ "bq27411", BQ27411 },
{ "bq27421", BQ27421 }, { "bq27421", BQ27421 },
{ "bq27425", BQ27425 }, { "bq27425", BQ27425 },
{ "bq27426", BQ27426 }, { "bq27426", BQ27426 },
...@@ -279,6 +280,7 @@ static const struct of_device_id bq27xxx_battery_i2c_of_match_table[] = { ...@@ -279,6 +280,7 @@ static const struct of_device_id bq27xxx_battery_i2c_of_match_table[] = {
{ .compatible = "ti,bq27546" }, { .compatible = "ti,bq27546" },
{ .compatible = "ti,bq27742" }, { .compatible = "ti,bq27742" },
{ .compatible = "ti,bq27545" }, { .compatible = "ti,bq27545" },
{ .compatible = "ti,bq27411" },
{ .compatible = "ti,bq27421" }, { .compatible = "ti,bq27421" },
{ .compatible = "ti,bq27425" }, { .compatible = "ti,bq27425" },
{ .compatible = "ti,bq27426" }, { .compatible = "ti,bq27426" },
......
...@@ -24,6 +24,7 @@ enum bq27xxx_chip { ...@@ -24,6 +24,7 @@ enum bq27xxx_chip {
BQ27546, BQ27546,
BQ27742, BQ27742,
BQ27545, /* bq27545 */ BQ27545, /* bq27545 */
BQ27411,
BQ27421, /* bq27421, bq27441, bq27621 */ BQ27421, /* bq27421, bq27441, bq27621 */
BQ27425, BQ27425,
BQ27426, BQ27426,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment