# # 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) system" default n ---help--- Power management (PM) system. It consists of an OS interface to board logic which can be used to obtain a recommended power level according to a power management policy set by the currently chosen PM governor. It is also used by drivers which can allow or not a power level to be changed or not. if PM config PM_NDOMAINS int "Number of PM activity domains" default 1 ---help--- Defines the number of "domains" that the PM system can control. 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. choice prompt "PM system governor" default PM_GOVERNOR_ACTIVITY ---help--- A PM governor applies a policy to control the change in power states. config PM_GOVERNOR_GREEDY bool "Greedy governor" ---help--- This governor simply suggests the lowest-possible power state, considering any states locked by calls to pm_stay() (accessible via BOARDIOC_PM_STAY boardctl calls). config PM_GOVERNOR_ACTIVITY bool "Activity based" ---help--- The activity based governor receives activity reports from drivers in units which are accumulated during a certain time slice interval. The governor will then switch between power states given a set of activity thresholds for each state. config PM_GOVERNOR_CUSTOM bool "Custom governor" ---help--- By selecting this option, a custom governor can be supplied from board-logic. endchoice menu "Governor options" if PM_GOVERNOR_GREEDY config PM_GOVERNOR_EXPLICIT_RELAX bool "Stay initially at PM_NORMAL" ---help--- If you boot into NSH, when using the greedy PM governor, since NuttX will almost immediately go idle (when waiting for a prompt), he lowest possible run-level will be selected, which may not be desirable. This is not a problem if you directly run you application at boot, which can hold off power levels using pm_stay() (via boardctl). This option will initialize all run levels as if pm_stay() were to be called once for each, so that your application needs to call pm_relax() (via boardctl()) for every run-level you wish to allow to enter. endif if PM_GOVERNOR_ACTIVITY config PM_GOVERNOR_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_GOVERNOR_SLICEMS provides the duration of that time slice in milliseconds. Default: 100 Milliseconds config PM_GOVERNOR_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_GOVERNOR_MEMORY provides the memory for the algorithm. Default: 2 CONFIG_PM_GOVERNOR_COEFn provides weight for each sample. Default: 1 Setting CONFIG_PM_GOVERNOR_MEMORY=1 disables all smoothing. config PM_GOVERNOR_COEFN int "PM coefficient" default 1 ---help--- See help associated with CONFIG_PM_GOVERNOR_MEMORY. config PM_GOVERNOR_COEF1 int "PM coefficient 1" default 1 ---help--- See help associated with CONFIG_PM_GOVERNOR_MEMORY. config PM_GOVERNOR_COEF2 int "PM coefficient 2" default 1 ---help--- See help associated with CONFIG_PM_GOVERNOR_MEMORY Ignored if CONFIG_PM_GOVERNOR_MEMORY <= 2 config PM_GOVERNOR_COEF3 int "PM coefficient 3" default 1 ---help--- See help associated with CONFIG_PM_GOVERNOR_MEMORY Ignored if CONFIG_PM_GOVERNOR_MEMORY <= 3 config PM_GOVERNOR_COEF4 int "PM coefficient 4" default 1 ---help--- See help associated with CONFIG_PM_GOVERNOR_MEMORY Ignored if CONFIG_PM_GOVERNOR_MEMORY <= 4 config PM_GOVERNOR_COEF5 int "PM coefficient 5" default 1 ---help--- See help associated with CONFIG_PM_GOVERNOR_MEMORY Ignored if CONFIG_PM_GOVERNOR_MEMORY <= 5 config PM_GOVERNOR_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. Default: <=1: Essentially no activity config PM_GOVERNOR_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. Default: >=2: Active config PM_GOVERNOR_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. Default: Thirty IDLE slices to enter IDLE mode from normal config PM_GOVERNOR_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. Default: <=1: Essentially no activity config PM_GOVERNOR_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. Default: >=2: Active config PM_GOVERNOR_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. Default: Fifty IDLE slices to enter STANDBY mode from IDLE config PM_GOVERNOR_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. Default: <=1: Essentially no activity config PM_GOVERNOR_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. Default: >=2: Active config PM_GOVERNOR_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. Default: Fifty IDLE slices to enter SLEEP mode from STANDBY endif # PM_GOVERNOR_ACTIVITY endmenu 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. config MCP73871 bool "Microchip MCP73871 Battery charger support" default n depends on BATTERY_CHARGER ---help--- A simple driver to report MCP73871 status. 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 BQ27426 bool "BQ27426 Battery fuel gauge support" default n select I2C depends on BATTERY_GAUGE ---help--- The bq27426 battery fuel gauge accurately predicts the battery capacity and other operational characteristics of a single, Li-based, rechargeable cell. It can be interrogated by a system processor to provide cell information, such as state-of-charge (SOC). if BQ27426 config DEBUG_BQ27426 bool "BQ27426 Debug Features" default n ---help--- Enable BQ27426 battery management debug features. endif # BQ27426 config I2C_BQ2425X bool default y if BQ2425X config I2C_BQ2429X bool default y if BQ2429X config I2C_MAX1704X bool default y if MAX1704X config BATTERY_MONITOR bool "Battery Monitor/Management support" default n config BQ769X0 bool "BQ769X0 Battery monitor support" default n select I2C select I2C_BQ769X0 depends on BATTERY_MONITOR ---help--- The BQ76920/BQ76930/BQ76940 provide monitoring, balancing, and protection features for up to 15 cells in series. config I2C_BQ769X0 bool default y if BQ769X0 if BQ769X0 config DEBUG_BQ769X0 bool "BQ769X0 debug features" default n config BQ769X0_USE_INTERNAL_TS bool "Use internal temperature sensor on BQ769X0" default n endif endif # POWER