nuttx/drivers/power/Kconfig
Mateusz Szafoni 195c210535 Merged in raiden00/nuttx (pull request #626)
add generic upper-half motor driver

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-04-09 12:59:28 +00:00

399 lines
10 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
config DRIVERS_MOTOR
bool "Motor driver"
default n
---help---
Enables building of a motor upper half driver.
if DRIVERS_MOTOR
config MOTOR_HAVE_POSITION
bool "Have position control"
default n
config MOTOR_HAVE_DIRECTION
bool "Have direction control"
default n
config MOTOR_HAVE_SPEED
bool "Have speed control"
default n
config MOTOR_HAVE_TORQUE
bool "Have torque control (rotary motors)"
default n
config MOTOR_HAVE_FORCE
bool "Have force control (linear motors)"
default n
config MOTOR_HAVE_ACCELERATION
bool "Have acceleration control"
default n
config MOTOR_HAVE_DECELERATION
bool "Have deceleration control"
default n
config MOTOR_HAVE_INPUT_VOLTAGE
bool "Have input voltage protection"
default n
config MOTOR_HAVE_INPUT_CURRENT
bool "Have input current protection"
default n
config MOTOR_HAVE_INPUT_POWER
bool "Have input power protection"
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