Fix smart charger values

Fix all smart charger values by having boards provide the RSENSE values
and perform the register calculations in the code.

The galp3-c, galp5, gaze16, and gaze17 do not seem to have the same
behavior as the rest of the boards, and further investigation is needed.
In the mean time, reduce their charge current values to preserve current
behavior.

Ref: OZ26786-DS v1.0
Ref: bq24780S Rev. C datasheet
Signed-off-by: Tim Crawford <tcrawford@system76.com
This commit is contained in:
Tim Crawford
2022-07-13 14:06:53 -06:00
committed by Tim Crawford
parent 20d40f3477
commit 6295f60172
24 changed files with 185 additions and 65 deletions

View File

@ -2,7 +2,9 @@
## Charger parameters
- `CHARGER_CHARGE_CURRENT`: Currently the same for all boards (1536).
- `CHARGER_ADAPTER_RSENSE`: The adapter RSENSE value in milliohms.
- `CHARGER_BATTERY_RSENSE`: The battery RSENSE value in milliohms.
- `CHARGER_CHARGE_CURRENT`: The desired charge current in milliamps.
- `CHARGER_CHARGE_VOLTAGE`: On the battery, look for 充电限制电压 (charge limit
voltage). Convert this from volts to millivolts.
- `CHARGER_INPUT_CURRENT`: On the charger, look for DC output. Convert the
@ -10,23 +12,28 @@
#### Example
The gaze15 battery has
The gaze15 battery has:
```
充电限制电压: 16.8Vdc
```
and its charger has
Its charger has:
```
DC OUTPUT (输出/輸出): 19.5V⎓9.23A 180W
```
This gives
The schematics show it uses a 0.005 ohm sense resistor for both the adapter and
the battery.
This gives:
```
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=5 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=16800 \
-DCHARGER_INPUT_CURRENT=9230
```

View File

@ -19,7 +19,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=12600 \
-DCHARGER_INPUT_CURRENT=11800

View File

@ -19,7 +19,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=12600 \
-DCHARGER_INPUT_CURRENT=11800

View File

@ -19,7 +19,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=16800 \
-DCHARGER_INPUT_CURRENT=14000

View File

@ -8,6 +8,12 @@
#include <common/macro.h>
#include <common/debug.h>
// Registers
#define REG_CHARGE_CURRENT 0x14
#define REG_CHARGE_VOLTAGE 0x15
#define REG_DISCHARGE_CURRENT 0x39
#define REG_INPUT_CURRENT 0x3F
// ChargeOption0 flags
// Low Power Mode Enable
#define SBC_EN_LWPWR ((uint16_t)(BIT(15)))
@ -18,6 +24,36 @@
// IDCHG Amplifier Gain
#define SBC_IDCHC_GAIN ((uint16_t)(BIT(3)))
// Bits 0-5 are ignored. Bits 13-15 must be 0.
#define CHARGE_CURRENT_MASK 0x1FC0
#if CHARGER_BATTERY_RSENSE == 5
#define CHARGE_CURRENT ((CHARGER_CHARGE_CURRENT >> 1) & CHARGE_CURRENT_MASK)
#elif CHARGER_BATTERY_RSENSE == 10
#define CHARGE_CURRENT (CHARGER_CHARGE_CURRENT & CHARGE_CURRENT_MASK)
#elif CHARGER_BATTERY_RSENSE == 20
#define CHARGE_CURRENT ((CHARGER_CHARGE_CURRENT << 1) & CHARGE_CURRENT_MASK)
#else
#error Invalid battery RSENSE value
#endif
// Bits 0-3, 15 are ignored.
#define CHARGE_VOLTAGE_MASK 0x7FF0
#define CHARGE_VOLTAGE (CHARGER_CHARGE_VOLTAGE & CHARGE_VOLTAGE_MASK)
// Bits 0-6 are ignored. Bits 12-15 must be 0.
#define INPUT_CURRENT_MASK 0x0F80
#if CHARGER_ADAPTER_RSENSE == 5
#define INPUT_CURRENT ((CHARGER_INPUT_CURRENT >> 1) & INPUT_CURRENT_MASK)
#elif CHARGER_ADAPTER_RSENSE == 10
#define INPUT_CURRENT (CHARGER_INPUT_CURRENT & INPUT_CURRENT_MASK)
#elif CHARGER_ADAPTER_RSENSE == 20
#define INPUT_CURRENT ((CHARGER_INPUT_CURRENT << 1) & INPUT_CURRENT_MASK)
#else
#error Invalid adapter RSENSE value
#endif
// XXX: Assumption: ac_last is initialized high.
static bool charger_enabled = false;
@ -37,15 +73,15 @@ int16_t battery_charger_disable(void) {
);
// Disable charge current
res = smbus_write(CHARGER_ADDRESS, 0x14, 0);
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_CURRENT, 0);
if (res < 0) return res;
// Disable charge voltage
res = smbus_write(CHARGER_ADDRESS, 0x15, 0);
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_VOLTAGE, 0);
if (res < 0) return res;
// Disable input current
res = smbus_write(CHARGER_ADDRESS, 0x3F, 0);
res = smbus_write(CHARGER_ADDRESS, REG_INPUT_CURRENT, 0);
if (res < 0) return res;
DEBUG("Charger disabled\n");
@ -62,15 +98,15 @@ int16_t battery_charger_enable(void) {
if (res < 0) return res;
// Set charge current in mA
res = smbus_write(CHARGER_ADDRESS, 0x14, CHARGER_CHARGE_CURRENT);
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_CURRENT, CHARGE_CURRENT);
if (res < 0) return res;
// Set charge voltage in mV
res = smbus_write(CHARGER_ADDRESS, 0x15, CHARGER_CHARGE_VOLTAGE);
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_VOLTAGE, CHARGE_VOLTAGE);
if (res < 0) return res;
// Set input current in mA
res = smbus_write(CHARGER_ADDRESS, 0x3F, CHARGER_INPUT_CURRENT);
res = smbus_write(CHARGER_ADDRESS, REG_INPUT_CURRENT, INPUT_CURRENT);
if (res < 0) return res;
// Set charge option 0 with watchdog disabled
@ -117,10 +153,10 @@ void battery_debug(void) {
command(ChargeOption1, CHARGER_ADDRESS, 0x3B);
command(ChargeOption2, CHARGER_ADDRESS, 0x38);
command(ChargeOption3, CHARGER_ADDRESS, 0x37);
command(ChargeCurrent, CHARGER_ADDRESS, 0x14);
command(ChargeVoltage, CHARGER_ADDRESS, 0x15);
command(DishargeCurrent, CHARGER_ADDRESS, 0x39);
command(InputCurrent, CHARGER_ADDRESS, 0x3F);
command(ChargeCurrent, CHARGER_ADDRESS, REG_CHARGE_CURRENT);
command(ChargeVoltage, CHARGER_ADDRESS, REG_CHARGE_VOLTAGE);
command(DishargeCurrent, CHARGER_ADDRESS, REG_DISCHARGE_CURRENT);
command(InputCurrent, CHARGER_ADDRESS, REG_INPUT_CURRENT);
command(ProchotOption0, CHARGER_ADDRESS, 0x3C);
command(ProchotOption1, CHARGER_ADDRESS, 0x3D);
command(ProchotStatus, CHARGER_ADDRESS, 0x3A);

View File

@ -17,6 +17,50 @@
#define CHARGE_OPTION_2_PSYS_EN BIT(11)
#define REG_ADAPTER_CURRENT 0x3F
// Bits 0-5, 13-15 are ignored.
#define CHARGE_CURRENT_MASK 0x1FC0
#if CHARGER_BATTERY_RSENSE == 5
#define CHARGE_CURRENT ((CHARGER_CHARGE_CURRENT >> 1) & CHARGE_CURRENT_MASK)
// XXX: According to the datasheet, only 10 and 20 are valid.
#define BATTERY_RSENSE (RSENSE_10 << 8)
#elif CHARGER_BATTERY_RSENSE == 10
#define CHARGE_CURRENT (CHARGER_CHARGE_CURRENT & CHARGE_CURRENT_MASK)
#define BATTERY_RSENSE (RSENSE_10 << 8)
#elif CHARGER_BATTERY_RSENSE == 20
#define CHARGE_CURRENT ((CHARGER_CHARGE_CURRENT << 1) & CHARGE_CURRENT_MASK)
#define BATTERY_RSENSE (RSENSE_20 << 8)
#else
#error Invalid battery RSENSE value
#endif
// Bits 0-3, 15 are ignored.
#define CHARGE_VOLTAGE_MASK 0x7FF0
#define CHARGE_VOLTAGE (CHARGER_CHARGE_VOLTAGE & CHARGE_VOLTAGE_MASK)
// Bits 0-6 are ignored. Bits 12-15 must be 0.
#define INPUT_CURRENT_MASK 0x0F80
#if CHARGER_ADAPTER_RSENSE == 5
#define INPUT_CURRENT ((CHARGER_INPUT_CURRENT >> 2) & INPUT_CURRENT_MASK)
#define ADAPTER_RSENSE RSENSE_5
#elif CHARGER_ADAPTER_RSENSE == 10
#define INPUT_CURRENT ((CHARGER_INPUT_CURRENT >> 1) & INPUT_CURRENT_MASK)
#define ADAPTER_RSENSE RSENSE_10
#elif CHARGER_ADAPTER_RSENSE == 20
#define INPUT_CURRENT (CHARGER_INPUT_CURRENT & INPUT_CURRENT_MASK)
#define ADAPTER_RSENSE RSENSE_20
#else
#error Invalid adapter RSENSE value
#endif
// Sense resistor values in milliohms.
enum sense_resistor {
RSENSE_10 = 0,
RSENSE_20 = 1,
RSENSE_5 = 2,
};
// XXX: Assumption: ac_last is initialized high.
static bool charger_enabled = false;
@ -30,7 +74,7 @@ int16_t battery_charger_disable(void) {
res = smbus_write(
CHARGER_ADDRESS,
REG_CHARGE_OPTION_1,
CHARGE_OPTION_1_600KHZ
CHARGE_OPTION_1_600KHZ | ADAPTER_RSENSE | BATTERY_RSENSE
);
if (res < 0) return res;
@ -53,7 +97,7 @@ int16_t battery_charger_disable(void) {
// Set input current in mA
//TODO: needed when charging disabled?
res = smbus_write(CHARGER_ADDRESS, REG_ADAPTER_CURRENT, CHARGER_INPUT_CURRENT);
res = smbus_write(CHARGER_ADDRESS, REG_ADAPTER_CURRENT, INPUT_CURRENT);
if (res < 0) return res;
DEBUG("Charger disabled\n");
@ -73,7 +117,7 @@ int16_t battery_charger_enable(void) {
res = smbus_write(
CHARGER_ADDRESS,
REG_CHARGE_OPTION_1,
CHARGE_OPTION_1_600KHZ
CHARGE_OPTION_1_600KHZ | ADAPTER_RSENSE | BATTERY_RSENSE
);
if (res < 0) return res;
@ -86,15 +130,15 @@ int16_t battery_charger_enable(void) {
if (res < 0) return res;
// Set charge current in mA
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_CURRENT, CHARGER_CHARGE_CURRENT);
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_CURRENT, CHARGE_CURRENT);
if (res < 0) return res;
// Set charge voltage in mV
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_VOLTAGE, CHARGER_CHARGE_VOLTAGE);
res = smbus_write(CHARGER_ADDRESS, REG_CHARGE_VOLTAGE, CHARGE_VOLTAGE);
if (res < 0) return res;
// Set input current in mA
res = smbus_write(CHARGER_ADDRESS, REG_ADAPTER_CURRENT, CHARGER_INPUT_CURRENT);
res = smbus_write(CHARGER_ADDRESS, REG_ADAPTER_CURRENT, INPUT_CURRENT);
if (res < 0) return res;
DEBUG("Charger enabled\n");
@ -106,7 +150,7 @@ void battery_charger_event(void) {
// Avoid watchdog timeout
if (charger_enabled) {
// Set charge voltage in mV
smbus_write(CHARGER_ADDRESS, REG_CHARGE_VOLTAGE, CHARGER_CHARGE_VOLTAGE);
smbus_write(CHARGER_ADDRESS, REG_CHARGE_VOLTAGE, CHARGE_VOLTAGE);
}
}

View File

@ -17,9 +17,11 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=17600 \
-DCHARGER_INPUT_CURRENT=3200
-DCHARGER_INPUT_CURRENT=3420
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -18,11 +18,12 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
#TODO: Find out why input current must by divided by two
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=5 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=8800 \
-DCHARGER_INPUT_CURRENT=1600
-DCHARGER_INPUT_CURRENT=3420
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -18,14 +18,13 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# Adapter input current = 4.74A
# PRS1 = 0.010 ohm. Divide adapter input current by 2.
# PRS2 = 0.010 ohm. Use desired charge current.
CHARGER=oz26786
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=0xB80 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=8800 \
-DCHARGER_INPUT_CURRENT=0x900
-DCHARGER_INPUT_CURRENT=4740
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -16,10 +16,13 @@ CFLAGS+=-DI2C_SMBUS=I2C_0
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# FIXME: Verify parts and values.
CFLAGS+=\
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_CHARGE_VOLTAGE=13056 \
-DCHARGER_INPUT_CURRENT=1920
-DCHARGER_INPUT_CURRENT=2100
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -22,12 +22,14 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
#TODO: Find out why input current must by divided by two
# FIXME: Verify parts and values.
CHARGER=oz26786
CFLAGS+=\
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_CHARGE_VOLTAGE=17400 \
-DCHARGER_INPUT_CURRENT=1600
-DCHARGER_INPUT_CURRENT=3420
# Set CPU power limits in watts
CFLAGS+=\

View File

@ -19,7 +19,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=5 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=16800 \
-DCHARGER_INPUT_CURRENT=9230

View File

@ -21,8 +21,11 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# FIXME: Verify parts and values.
CHARGER=oz26786
CFLAGS+=\
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_CHARGE_VOLTAGE=16800 \
-DCHARGER_INPUT_CURRENT=7700

View File

@ -21,8 +21,11 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# FIXME: Verify parts and values.
CHARGER=oz26786
CFLAGS+=\
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_CHARGE_VOLTAGE=16800 \
-DCHARGER_INPUT_CURRENT=9230

View File

@ -22,14 +22,14 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# TODO: actually bq24800
# Adapter input current = 7.5A
# PRS1 = 0.010 ohm. Use exact adapter input current.
# PRS2 = 0.010 ohm. Use desired charge current.
# FIXME: Verify parts and values.
CHARGER=bq24780s
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=0xB80 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_CHARGE_VOLTAGE=17600 \
-DCHARGER_INPUT_CURRENT=0x1D00
-DCHARGER_INPUT_CURRENT=0x7500
# Set CPU power limits in watts
CFLAGS+=\

View File

@ -22,8 +22,11 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# TODO: actually bq24800
# FIXME: Verify parts and values.
CHARGER=bq24780s
CFLAGS+=\
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_CHARGE_VOLTAGE=17600 \
-DCHARGER_INPUT_CURRENT=7500

View File

@ -19,11 +19,12 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
#TODO: Find out why input current must by divided by two
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=5 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=8800 \
-DCHARGER_INPUT_CURRENT=1600
-DCHARGER_INPUT_CURRENT=3420
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -19,14 +19,13 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# Adapter input current = 3.42A
# PRS1 = 0.005 ohm. Divide adapter input current by 4.
# PRS2 = 0.005 ohm. Divide charge current by 2.
CHARGER=oz26786
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=0x600 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=5 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=8800 \
-DCHARGER_INPUT_CURRENT=0x300
-DCHARGER_INPUT_CURRENT=3420
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -16,11 +16,12 @@ CFLAGS+=-DI2C_SMBUS=I2C_4
CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
#TODO: Find out why input current must by divided by two
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=5 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=8800 \
-DCHARGER_INPUT_CURRENT=1600
-DCHARGER_INPUT_CURRENT=3420
# Add system76 common code
include src/board/system76/common/common.mk

View File

@ -20,7 +20,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=17120 \
-DCHARGER_INPUT_CURRENT=9230

View File

@ -19,7 +19,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=13050 \
-DCHARGER_INPUT_CURRENT=9230

View File

@ -19,7 +19,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=13050 \
-DCHARGER_INPUT_CURRENT=9230

View File

@ -22,7 +22,9 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=1536 \
-DCHARGER_ADAPTER_RSENSE=10 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=3072 \
-DCHARGER_CHARGE_VOLTAGE=13050 \
-DCHARGER_INPUT_CURRENT=9230

View File

@ -22,13 +22,13 @@ CFLAGS+=-DPS2_TOUCHPAD=PS2_3
# Set smart charger parameters
# TODO: actually bq24800
# Adapter input current = 11.5A
# PRS1 = 0.005 ohm. Divide adapter input current by 2.
# PRS2 = 0.010 ohm. Use desired charge current.
# FIXME: Verify parts and values.
CFLAGS+=\
-DCHARGER_CHARGE_CURRENT=0xB80 \
-DCHARGER_ADAPTER_RSENSE=5 \
-DCHARGER_BATTERY_RSENSE=10 \
-DCHARGER_CHARGE_CURRENT=2048 \
-DCHARGER_CHARGE_VOLTAGE=13050 \
-DCHARGER_INPUT_CURRENT=0x1600
-DCHARGER_INPUT_CURRENT=11500
# Set CPU power limits in watts
CFLAGS+=\