summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.battery
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /zephyr/Kconfig.battery
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14469.58.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'zephyr/Kconfig.battery')
-rw-r--r--zephyr/Kconfig.battery491
1 files changed, 0 insertions, 491 deletions
diff --git a/zephyr/Kconfig.battery b/zephyr/Kconfig.battery
deleted file mode 100644
index c1753ccefc..0000000000
--- a/zephyr/Kconfig.battery
+++ /dev/null
@@ -1,491 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-menuconfig PLATFORM_EC_BATTERY
- bool "Battery support"
- select HAS_TASK_CHARGER
- help
- Enables battery support on the board. Requires selection of a battery
- and a charger IC.
-
- If using I2C batteries, you must define I2C_PORT_BATTERY in your
- board's i2c_map.h file so that the EC code will know which I2C
- port the battery is on.
-
-if PLATFORM_EC_BATTERY
-
-choice "Battery select"
- prompt "Select the battery to use"
- help
- Select the battery used on the board. If you are ensure, select the
- smart battery option.
-
-config PLATFORM_EC_BATTERY_SMART
- bool "Support a smart battery"
- depends on PLATFORM_EC_I2C
- help
- Many batteries support the Smart Battery Specification and therefore
- have common registers which can be accessed to control and monitor
- the battery.
-
- See here for the spec: http://sbs-forum.org/specs/sbdat110.pdf
-
-endchoice
-
-choice "Battery presence detection"
- prompt "Method to use to detect the battery"
- help
- This selects the method to use to detect the presence of a battery.
-
- Battery detection is important since it can be used to indicate that
- the case is open, so security features can be disabled. It is also
- useful to report to the user when the battery is missing, e.g. with
- a desktop icon.
-
-config PLATFORM_EC_BATTERY_PRESENT_CUSTOM
- bool "Call a board-provided function"
- help
- Use this method to provide a board-provided battery_is_present()
- function to determine whether the battery is currently present.
- This should be implemented in the board code and can use any
- reasonable method to detect the battery.
-
-config PLATFORM_EC_BATTERY_PRESENT_GPIO
- bool "Check a GPIO"
- help
- Use this method if a GPIO signals whether the battery is present. The
- GPIO should read low if the battery is present, high if absent.
-
- The GPIO is hard-coded to GPIO_BATT_PRES_ODL so you should define this
- in the device tree and GPIO map. The convention is to use the signal
- name from schematic as both the node name and label for the GPIO. For
- example:
-
- /* gpio.dts */
- ec_batt_pres_odl {
- gpios = <&gpioe 5 GPIO_INPUT>;
- label = "EC_BATT_PRES_ODL";
- };
-
- /* gpio_map.h */
- #define GPIO_BATT_PRES_ODL NAMED_GPIO(ec_batt_pres_odl)
-
-endchoice # battery presence
-
-config PLATFORM_EC_USE_BATTERY_DEVICE_CHEMISTRY
- bool "Provide information about battery chemistry"
- help
- Enable this to specify the chemistry of the battery device. It is
- only used for stress testing of reading the battery information over
- I2C.
-
-config PLATFORM_EC_BATTERY_DEVICE_CHEMISTRY
- string "Battery-device chemistry"
- depends on PLATFORM_EC_USE_BATTERY_DEVICE_CHEMISTRY
- help
- Specify the battery chemistry for use with the I2C stress test.
- The value provided here must match what is read from the real
- battery. This is used in sb_i2c_test_read() to check that the battery
- is returning the right information. If it is not, there might be
- something wrong with the I2C implementation.
-
-config PLATFORM_EC_I2C_VIRTUAL_BATTERY
- bool "I2C virtual battery"
- help
- Enables driver for a virtual battery. It is used to minimalize I2C
- traffic which is generated by the I2C_PASSTHRU host command.
- The battery parameters, which are already cached in EC are used to
- return desired data to host instead of issuing I2C transaction every
- time.
-
-choice "Charger select"
- prompt "Select the charger to use"
- help
- Select the battery charger IC used on the board. Only one charger may
- be selected.
-
-config PLATFORM_EC_CHARGER_ISL9237
- bool "Use the ISL9237 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- select PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enables a driver for the ISL9237 VCD Battery Charger. This is a
- digitally-configurable, buck-boost battery charger that supporting
- Narrow Voltage Direct Charging (NVDC). It supports an input voltage
- range of 3.2-23.4V and output of 2.4-13.8V. It provides an I2C
- interface for configuration an provides a USB On-The-Go (OTG)
- function for 2- and 3-cell battery applications.
-
-config PLATFORM_EC_CHARGER_ISL9238
- bool "Use the ISL9238 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- select PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enables a driver for the ISL9238 VCD Battery Charger. This is a
- digitally-configurable, buck-boost battery charger that supporting
- Narrow Voltage Direct Charging (NVDC). It supports an input voltage
- range of 3.2-23.4V and output of 2.4-18.3V. It provides an I2C
- interface for configuration.
-
-config PLATFORM_EC_CHARGER_ISL9238C
- bool "Use the ISL9238 Rev C charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- select PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enable a driver for the ISL9238 Rev C VCD Battery Charger. This
- is a digitally-configurable, buck-boost battery charger that
- supporting Narrow Voltage Direct Charging (NVDC). It supports an input
- voltage range of 3.2-23.4V and output of 2.4-18.3V. It provides an I2C
- interface for configuration.
-
- This option is separate from PLATFORM_EC_CHARGER_ISL9238 since there
- is no way in software to distinguish between rev. A/B and rev. C.
-
-config PLATFORM_EC_CHARGER_ISL9241
- bool "Use the ISL9241 charger"
- depends on PLATFORM_EC_I2C
- # Hardware based charge ramp is broken in the ISL9241 (b/169350714)
- select PLATFORM_EC_CHARGER_CHGRAMP_BROKEN
- help
- Enables a driver for the ISL9241 VCD Battery Charger. This is a
- digitally-configurable, buck-boost battery charger that can support
- both Narrow Voltage Direct Charging (NVDC) and Hybrid Power Buck Boost
- (HPBB/Bypass) charging and switch between the modes under firmware
- control. It supports an input voltage range of 3.9-23.4V and output
- of 3.9-18.3V. It provides an I2C interface for configuration.
-
-config PLATFORM_EC_CHARGER_BQ25710
- bool "Use the BQ25710 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- help
- Enables the driver for the TI BQ25710 battery charger
- controller. This is a synchronous narrow voltage DC buck-boost
- battery charger for one to four battery cell applications. A
- wide range of input power sources are supported such as high
- voltage USB-C power delivery.
-
-config PLATFORM_EC_CHARGER_BQ25720
- bool "Use the BQ25720 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- help
- Enables the driver for the TI BQ25720 battery charger
- controller. This is a synchronous narrow voltage DC buck-boost
- battery charger for one to four battery cell applications. A
- wide range of input power sources are supported such as high
- voltage USB-C power delivery.
-
-endchoice # "Charger select"
-
-config PLATFORM_EC_CHARGER_DISCHARGE_ON_AC
- bool "Board supports discharge mode"
- help
- Enable this if the board supports discharging the battery even when
- AC power is present. This is used for testing. The function is
- provided either by the charger or by custom code in the board.
-
-if PLATFORM_EC_CHARGER_DISCHARGE_ON_AC
-
-choice "Discharge control method"
- prompt "Select the method of controlling discharge"
- help
- Select which method is provided to enable and disable the discharge
- mode.
-
-config PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CHARGER
- bool "Charger controls discharge mode"
- help
- Enable this if the charger controls selection of discharge mode.
- In this case the charger must provide a function:
-
- int charger_discharge_on_ac(int enabled)
-
- It should enable this feature if enabled is true, else disable it.
- The function should return EC_SUCCESS
-
-config PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CUSTOM
- bool "Custom control of discharge mode"
- help
- Enable this if the discharge mode is controlled by a custom function.
- This function is typically provided by the board implementation:
-
- int board_discharge_on_ac(int enabled)
-
- It should enable this feature if enabled is true, else disable it.
- The function should return EC_SUCCESS
-
-endchoice # "Discharge control method"
-
-endif # PLATFORM_EC_CHARGER_DISCHARGE_ON_AC
-
-config PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_CUSTOM
- bool "VSYS_TH2 override"
- depends on PLATFORM_EC_CHARGER_BQ25720
- help
- Enable customizing the charger's VSYS_TH2 threshold.
-
-config PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_DV
- int "VSYS threshold 2 in deci-volts"
- range 32 95
- default 32
- depends on PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_CUSTOM
- help
- Sets the VSYS threshold 2 in deci volts. This is the first
- threshold that will be encountered when VSYS droops, typically
- due to high power demand from the main processor. The charger
- chip reacts by asserting PROCHOT which the main processor uses
- as an indication to throttle back and reduce power demand. The
- charger chip uses default thresholds which may be low enough
- to cause system instability. The default for 1S batteries is
- 3.2v and 5.9v for 2S or higher batteries. The valid range is
- 3.2v - 3.9v for 1S and 3.2 - 9.5v for 2S or higher batteries.
-
-config PLATFORM_EC_CHARGER_MAINTAIN_VBAT
- bool "Maintain VBAT voltage regardless of AC state"
- help
- Leave the charger VBAT configured to battery-requested voltage under
- all conditions, even when AC is not present. This may be necessary to
- work around quirks of certain charger chips, such as the BD9995X.
-
-config PLATFORM_EC_CHARGER_NARROW_VDC
- bool
- help
- Select this if the charger uses a Narrow Voltage Direct Charging.
- Narrow VDC (NVDC) reduces power loss by reducing the voltage range of
- the VDC node. This reduction is accomplished by replacing the
- battery-charger circuit with a system-charger voltage regulator, thus
- narrowing the VDC range. This in turn enables DC/DC converter
- optimisations in the system and allows the removal of the power-path
- switch, saving additional power, board area, and cost.
-
- This should be enabled by charger drivers which need it. It cannot
- be set otherwise, even in prj.conf
-
-config PLATFORM_EC_CHARGER_OTG_SUPPORTED
- bool
- help
- Indicates that the charger supports an OTG (On-The-Go) function,
- which allows supplying output power from the battery to a connected
- device.
-
- This should be enabled by charger drivers which support it. It cannot
- be set otherwise, even in prj.conf
-
-config PLATFORM_EC_CHARGER_OTG
- bool "Allow supplying output power from the battery"
- depends on PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enable charger's OTG functions, i.e. make it possible to supply
- output power from the battery. This option is available if the
- selected charger supports it.
-
-config PLATFORM_EC_CHARGER_PROFILE_OVERRIDE
- bool "Override the charger profile"
- help
- Select this if the charger should call battery_override_params() to
- limit/correct the voltage and current requested by the battery pack
- before acting on the request.
-
- The board must provide this function:
-
- void battery_override_params(struct batt_params *batt);
-
- It may modify the parameters as needed.
-
-config PLATFORM_EC_CHARGER_PSYS
- bool "Support system power-monitor (PSYS) function"
- help
- Enable this to support monitoring of system power using the charger's
- PSYS function. The charger provides an output which can be read
- using an ADC channel on the EC.
-
-config PLATFORM_EC_CHARGER_PSYS_READ
- bool "Allow reading PSYS (system power) value"
- depends on PLATFORM_EC_CHARGER_PSYS
- help
- Enable support for reading the system-power value (PSYS). This
- calls the function charger_get_system_power() which is provided
- by the charger.
-
- It also enables the "psys" console command.
-
- Sample output:
-
- PSYS from chg_adc: 456 mW
-
-config PLATFORM_EC_CHARGER_SENSE_RESISTOR
- int "Value of the charge sense-resistor, in mOhms"
- help
- The charge sense-resistor is used to detect the charge current to the
- battery. Its value must be known for the calculation to be correct.
- The value is typically around 10 mOhms.
-
-config PLATFORM_EC_CHARGER_SENSE_RESISTOR_AC
- int "Value of the input sense-resistor, in mOhms"
- help
- The input sense-resistor is used to detect the input current from the
- external AC power supply. Its value must be known for the calculation
- to be correct. The value is typically around 10 mOhms.
-
-config PLATFORM_EC_BATTERY_FUEL_GAUGE
- bool "Board supplies battery info"
- help
- The fuel gauge information is used to cut off the battery for shipping
- mode and to check the charge/discharge FET status. The battery
- information is used to set voltage, current and temperature operating
- limits for the battery.
-
-config PLATFORM_EC_CHARGER_CHGRAMP_BROKEN
- bool
- help
- This is selected if the charger's support for hardware-controlled
- charge ramping is broken. In some cases the charger has problems
- which make it unusable and we must fall back to software-controlled
- charge ramping.
-
- This should be enabled by charger drivers which need it. It cannot
- be set otherwise, even in prj.conf
-
-choice "Charge-ramp method"
- prompt "Select the charge-ramp method"
- help
- Select the method used for ramping up charging of a battery. It is
- preferred to use the hardware method if the charger chip can support
- it. If not, software-controlled charging can be used, with a slight
- increase in code size.
-
-config PLATFORM_EC_CHARGE_RAMP_HW
- bool "Hardware-controlled charging"
- depends on !PLATFORM_EC_CHARGER_CHGRAMP_BROKEN
- help
- Disables software control of ramping up charging. This is used when
- the hardware has a a mechanism for ramping input current and
- backing-off as needed.
-
-config PLATFORM_EC_CHARGE_RAMP_SW
- bool "Software-controlled charging"
- select HAS_TASK_CHG_RAMP
- help
- Enables ramping up charging from an external source to the maximum
- available within the source's limits and taking into account the
- current needs of the device. It handles the user plugging chargers in
- and removing them.
-
-endchoice # "Charge-ramp method"
-
-config PLATFORM_EC_CONSOLE_CMD_CHARGER_ADC_AMON_BMON
- bool "Console command: amonbmon"
- help
- Enable the 'amonbmon' command. This shows the charger adapter-current
- monitor (AMON) and battery-charging current monitor (BMON).
-
- amonbmon a | b
-
-config PLATFORM_EC_CONSOLE_CMD_CHGRAMP
- bool "Console command: chgramp"
- depends on PLATFORM_EC_CHARGE_RAMP_SW
- default y
- help
- Enable the "chgramp" command. This shows the current state of the
- chg_ramp task. It shows the state of each port and the current limit
- for each port. The 'State' shown is from enum chg_ramp_state.
-
- Chg Ramp:
- State: 5
- Min ICL: 2000
- Active ICL: 2000
- Port 0:
- OC idx:0
- OC 0: s-1 oc_det0 icl0
- OC 1: s0 oc_det0 icl0
- OC 2: s0 oc_det0 icl0
- Port 1:
- OC idx:0
- OC 0: s-1 oc_det0 icl0
- OC 1: s0 oc_det0 icl0
- OC 2: s0 oc_det0 icl0
-
-config PLATFORM_EC_BATTERY_CRITICAL_SHUTDOWN_CUT_OFF
- bool "Enable battery cut off on critical power level"
- help
- If this option is enabled, the battery will enter cut-off
- mode in case of critical power level.
-
-config PLATFORM_EC_BATTERY_CHECK_CHARGE_TEMP_LIMITS
- bool "Monitor battery temperature while charging"
- help
- Enable monitoring of battery temperature while charging and
- stop charging if is outside of the safe range.
-
-config PLATFORM_EC_BATTERY_CUT_OFF
- bool "Host/Console command: battery cut-off"
- help
- Enables support for disconnecting the battery using the "cutoff"
- console command and the EC_CMD_BATTERY_CUT_OFF host command.
- Once defined, a board specific board_cut_off_battery() function
- has to be provided.
-
-config PLATFORM_EC_BATTERY_HW_PRESENT_CUSTOM
- bool "Hardware check of battery presence"
- help
- Once defined, the charger will check a board specific function
- battery_hw_present() for battery hw presence as an additional
- condition to determine if power on is allowed for factory override,
- where allowing booting of a bare board with no battery and no power
- button press is required.
-
-config PLATFORM_EC_BATTERY_REVIVE_DISCONNECT
- bool "Check battery disconnect state"
- help
- Check for battery in disconnect state (similar to cut-off state).
- If this battery is found to be in disconnect state, take it out of
- this state by force-applying a charge current. Once defined,
- a battery_get_disconnect_state() function has to be provided.
-
-config PLATFORM_EC_BATTERY_MEASURE_IMBALANCE
- bool "Measure the battery cells imbalance"
- help
- Smart battery driver should measure the voltage cell imbalance in the
- battery pack.
- This requires a battery driver capable of the measurement.
- If enabled, the AP enabling may be prevented if battery is too
- imbalanced.
-
-config PLATFORM_EC_BATTERY_MAX_IMBALANCE_MV
- int "Max battery imbalance in millivolts"
- depends on PLATFORM_EC_BATTERY_MEASURE_IMBALANCE
- default 200
- help
- Imbalanced battery packs in this situation appear to have balanced
- charge very quickly after beginning the charging cycle, since dV/dQ
- rapidly decreases as the cell is charged out of deep discharge.
- Increasing the value of
- CONFIG_PLATFORM_EC_CHARGER_MIN_BAT_PCT_IMBALANCED_POWER_ON will make a
- system tolerant of larger values of
- CONFIG_PLATFORM_EC_BATTERY_MAX_IMBALANCE_MV.
-
-config PLATFORM_EC_CHARGER_MIN_BAT_PCT_IMBALANCED_POWER_ON
- int "Minimum battery percentage for power on with an imbalanced pack"
- depends on PLATFORM_EC_BATTERY_MEASURE_IMBALANCE
- default 5
- range 0 100
- help
- If battery pack is in imbalanced state and current state of charge is
- below this value, the AP won't be powered on.
-
-config PLATFORM_EC_BATT_FULL_CHIPSET_OFF_INPUT_LIMIT_MV
- int "Voltage limit in mV when battery is full and AP is off"
- depends on PLATFORM_EC_USB_PE_SM && PLATFORM_EC_CHARGE_MANAGER
- default -1
- help
- If set to a non-negative value, input voltage will be reduced to given
- value when chipset is in S5/G3 state and battery is fully charged.
- This condition is checked on chipset shutdown and startup, AC change
- and battery SOC change.
-
-endif # PLATFORM_EC_BATTERY