349 lines
9.5 KiB
Plaintext
349 lines
9.5 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menuconfig PM
|
|
bool "Power management (PM) driver interfaces"
|
|
default n
|
|
---help---
|
|
Power management (PM) driver interfaces. These interfaces are used
|
|
to manage power usage of a platform by monitoring driver activity
|
|
and by placing drivers into reduce power usage modes when the
|
|
drivers are not active.
|
|
|
|
if PM
|
|
|
|
config PM_SLICEMS
|
|
int "PM time slice (msec)"
|
|
default 100
|
|
---help---
|
|
The power management module collects activity counts in time slices.
|
|
At the end of the time slice, the count accumulated during that
|
|
interval is applied to an averaging algorithm to determine the
|
|
activity level.
|
|
|
|
CONFIG_PM_SLICEMS provides the duration of that time slice in
|
|
milliseconds. Default: 100 Milliseconds
|
|
|
|
config PM_NDOMAINS
|
|
int "Number of PM activity domains"
|
|
default 1
|
|
---help---
|
|
Defines the number of "domains" that activity may be monitored on.
|
|
For example, you may want to separately manage the power from the
|
|
Network domain, shutting down the network when it is not be used,
|
|
from the UI domain, shutting down the UI when it is not in use.
|
|
|
|
config PM_MEMORY
|
|
int "PM memory (msec)"
|
|
default 2
|
|
range 1 6
|
|
---help---
|
|
The averaging algorithm is simply: Y = (An*X + SUM(Ai*Yi))/SUM(Aj),
|
|
where i = 1..n-1 and j= 1..n, n is the length of the "memory",
|
|
Ai is the weight applied to each value, and X is the current
|
|
activity. These weights may be negative and a limited to the
|
|
range of int16_t.
|
|
|
|
CONFIG_PM_MEMORY provides the memory for the algorithm. Default: 2
|
|
CONFIG_PM_COEFn provides weight for each sample. Default: 1
|
|
|
|
Setting CONFIG_PM_MEMORY=1 disables all smoothing.
|
|
|
|
config PM_COEFN
|
|
int "PM coefficient"
|
|
default 1
|
|
---help---
|
|
See help associated with CONFIG_PM_MEMORY.
|
|
|
|
config PM_COEF1
|
|
int "PM coefficient 1"
|
|
default 1
|
|
---help---
|
|
See help associated with CONFIG_PM_MEMORY.
|
|
|
|
config PM_COEF2
|
|
int "PM coefficient 2"
|
|
default 1
|
|
---help---
|
|
See help associated with CONFIG_PM_MEMORY
|
|
|
|
Ignored if CONFIG_PM_MEMORY <= 2
|
|
|
|
config PM_COEF3
|
|
int "PM coefficient 3"
|
|
default 1
|
|
---help---
|
|
See help associated with CONFIG_PM_MEMORY
|
|
|
|
Ignored if CONFIG_PM_MEMORY <= 3
|
|
|
|
config PM_COEF4
|
|
int "PM coefficient 4"
|
|
default 1
|
|
---help---
|
|
See help associated with CONFIG_PM_MEMORY
|
|
|
|
Ignored if CONFIG_PM_MEMORY <= 4
|
|
|
|
config PM_COEF5
|
|
int "PM coefficient 5"
|
|
default 1
|
|
---help---
|
|
See help associated with CONFIG_PM_MEMORY
|
|
|
|
Ignored if CONFIG_PM_MEMORY <= 5
|
|
|
|
config PM_IDLEENTER_THRESH
|
|
int "PM IDLE enter threshold"
|
|
default 1
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: <=1: Essentially no activity
|
|
|
|
config PM_IDLEEXIT_THRESH
|
|
int "PM IDLE exit threshold"
|
|
default 2
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: >=2: Active
|
|
|
|
config PM_IDLEENTER_COUNT
|
|
int "PM IDLE enter count"
|
|
default 30
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: Thirty IDLE slices to enter IDLE mode from normal
|
|
|
|
config PM_STANDBYENTER_THRESH
|
|
int "PM STANDBY enter threshold"
|
|
default 1
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: <=1: Essentially no activity
|
|
|
|
config PM_STANDBYEXIT_THRESH
|
|
int "PM STANDBY exit threshold"
|
|
default 2
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: >=2: Active
|
|
|
|
config PM_STANDBYENTER_COUNT
|
|
int "PM STANDBY enter count"
|
|
default 50
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: Fifty IDLE slices to enter STANDBY mode from IDLE
|
|
|
|
config PM_SLEEPENTER_THRESH
|
|
int "PM SLEEP enter threshold"
|
|
default 1
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: <=1: Essentially no activity
|
|
|
|
config PM_SLEEPEXIT_THRESH
|
|
int "PM SLEEP exit threshold"
|
|
default 2
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: >=2: Active
|
|
|
|
config PM_SLEEPENTER_COUNT
|
|
int "PM SLEEP enter count"
|
|
default 70
|
|
---help---
|
|
State changes then occur when the weight activity account crosses
|
|
threshold values for certain periods of time (time slice count).
|
|
|
|
CONFIG_PM_xxxENTER_THRESH is the threshold value for entering state xxx.
|
|
CONFIG_PM_xxxENTER_COUNT is the count for entering state xxx.
|
|
|
|
Resuming to normal state, on the other hand, is usually immediate and
|
|
controlled by wakeup conditions established by the platform. The PM
|
|
|
|
Default: Fifty IDLE slices to enter SLEEP mode from STANDBY
|
|
|
|
endif # PM
|
|
|
|
config DRIVERS_POWERLED
|
|
bool "High Power LED driver"
|
|
default n
|
|
---help---
|
|
Enables building of an powerled upper half driver.
|
|
|
|
menuconfig DRIVERS_SMPS
|
|
bool "Switched-Mode Power Supply (SMPS)"
|
|
default n
|
|
---help---
|
|
Enables building of an SMPS upper half driver.
|
|
|
|
if DRIVERS_SMPS
|
|
|
|
config SMPS_HAVE_OUTPUT_VOLTAGE
|
|
bool "Have Output Voltage"
|
|
default n
|
|
|
|
config SMPS_HAVE_OUTPUT_CURRENT
|
|
bool "Have Output Current"
|
|
default n
|
|
|
|
config SMPS_HAVE_OUTPUT_POWER
|
|
bool "Have Output Power"
|
|
default n
|
|
|
|
config SMPS_HAVE_INPUT_VOLTAGE
|
|
bool "Have Input Voltage"
|
|
default n
|
|
|
|
config SMPS_HAVE_INPUT_CURRENT
|
|
bool "Have Input Current"
|
|
default n
|
|
|
|
config SMPS_HAVE_INPUT_POWER
|
|
bool "Have Input Power"
|
|
default n
|
|
|
|
config SMPS_HAVE_EFFICIENCY
|
|
bool "Have Power Efficiency"
|
|
default n
|
|
|
|
endif
|
|
|
|
menuconfig POWER
|
|
bool "Power Management Support"
|
|
default n
|
|
---help---
|
|
Enable building of power-related devices (battery monitors, chargers,
|
|
etc).
|
|
|
|
if POWER
|
|
|
|
config BATTERY_CHARGER
|
|
bool "Battery Charger support"
|
|
default n
|
|
|
|
config BQ2425X
|
|
bool "BQ2425X Battery charger support"
|
|
default n
|
|
select I2C
|
|
select I2C_BQ2425X
|
|
depends on BATTERY_CHARGER
|
|
---help---
|
|
The BQ24250/BQ24251 are battery charger for lithium-ion batteries.
|
|
|
|
config BQ2429X
|
|
bool "BQ2429X Battery charger support"
|
|
default n
|
|
select I2C
|
|
select I2C_BQ2429X
|
|
depends on BATTERY_CHARGER
|
|
---help---
|
|
The BQ24296/BQ24297/BQ24296M are battery charger for lithium-ion batteries.
|
|
|
|
if BQ2429X
|
|
|
|
config DEBUG_BQ2429X
|
|
bool "BQ2429X Debug Features"
|
|
default n
|
|
---help---
|
|
Enable BQ2429X battery management debug features.
|
|
|
|
endif # BQ2429X
|
|
|
|
config BATTERY_GAUGE
|
|
bool "Battery Fuel Gauge support"
|
|
default n
|
|
|
|
config MAX1704X
|
|
bool "MAX1704X Battery fuel gauge support"
|
|
default n
|
|
select I2C
|
|
select I2C_MAX1704X
|
|
depends on BATTERY_GAUGE
|
|
---help---
|
|
The MAX17040/MAX17041 are ultra-compact, low-cost, host-side fuel-gauge
|
|
systems for lithium-ion (Li+) batteries in handheld and portable equipment.
|
|
The MAX17040 is configured to operate with a single lithium cell and the
|
|
MAX17041 is configured for a dual-cell 2S pack.
|
|
|
|
config I2C_BQ2425X
|
|
bool
|
|
default y if BQ2425X
|
|
|
|
config I2C_BQ2429X
|
|
bool
|
|
default y if BQ2429X
|
|
|
|
config I2C_MAX1704X
|
|
bool
|
|
default y if MAX1704X
|
|
|
|
endif # POWER
|