|
Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
|
nPM10xx PMICs MFD interface More...
Go to the source code of this file.
Data Structures | |
| struct | mfd_npm10xx_event_callback |
| nPM10xx MFD callback structure More... | |
Macros | |
RESET reasons | |
| #define | NPM10XX_RSTREAS_HIBERNATE BIT(0) |
| VBAT Hibernate mode exit by VBUS connected. | |
| #define | NPM10XX_RSTREAS_BOOTMON BIT(1) |
| Boot monitor reset. | |
| #define | NPM10XX_RSTREAS_WATCHDOG BIT(2) |
| Watchdog reset. | |
| #define | NPM10XX_RSTREAS_LONGPRESS BIT(3) |
| Longpress reset. | |
| #define | NPM10XX_RSTREAS_THERMAL BIT(4) |
| Thermal shutdown reset. | |
| #define | NPM10XX_RSTREAS_POF BIT(5) |
| POF reset. | |
| #define | NPM10XX_RSTREAS_SW BIT(6) |
| Software reset (task register). | |
| #define | NPM10XX_RSTREAS_SHIPERR BIT(7) |
| Ship mode entry error reset. | |
| #define | NPM10XX_RSTREAS_TIMER BIT(8) |
| Hibernate mode exit by timer. | |
| #define | NPM10XX_RSTREAS_BUTTON BIT(9) |
| Hibernate mode exit by SHPHLD button. | |
| #define | NPM10XX_RSTREAS_HIBERNATEVBUS BIT(10) |
| VBUS Hibernate mode exit by VBUS disconnected. | |
| #define | NPM10XX_RSTREAS_WATCHDOGSOFT BIT(11) |
| Watchdog soft reset. | |
ADC events | |
| #define | NPM10XX_EVENT_ADC_VBAT BIT64(0) |
| ADC VBAT conversion ready. | |
| #define | NPM10XX_EVENT_ADC_NTC BIT64(1) |
| ADC NTC conversion ready. | |
| #define | NPM10XX_EVENT_ADC_DIETEMP BIT64(2) |
| ADC die temperature conversion ready. | |
| #define | NPM10XX_EVENT_ADC_VSYS BIT64(3) |
| ADC VSYS conversion ready. | |
| #define | NPM10XX_EVENT_ADC_VBUS BIT64(4) |
| ADC VBUS conversion ready. | |
| #define | NPM10XX_EVENT_ADC_VSET BIT64(5) |
| ADC VSET conversion ready. | |
| #define | NPM10XX_EVENT_ADC_OFFSET BIT64(6) |
| ADC OFFSET conversion ready. | |
| #define | NPM10XX_EVENT_IBATVBAT BIT64(7) |
| IBAT/VBAT battery current and/or voltage conversion ready. | |
CHARGER events | |
| #define | NPM10XX_EVENT_CHARGE BIT64(8) |
| Charger started. | |
| #define | NPM10XX_EVENT_DISCHARGE BIT64(9) |
| Battery discharge started. | |
| #define | NPM10XX_EVENT_DROPOUT BIT64(10) |
| Dropout loop activated. | |
| #define | NPM10XX_EVENT_SUPPLEMENT BIT64(11) |
| Supplement mode activated. | |
| #define | NPM10XX_EVENT_COMPLETE BIT64(12) |
| Battery charging completed. | |
| #define | NPM10XX_EVENT_BATILIM BIT64(13) |
| Battery discharge limit activated. | |
| #define | NPM10XX_EVENT_ITERM BIT64(14) |
| Charging current below ITERM. | |
| #define | NPM10XX_EVENT_VTERM BIT64(16) |
| Battery voltage has reached VTERM. | |
| #define | NPM10XX_EVENT_RECHARGE BIT64(17) |
| Battery voltage below VRECHARGE. | |
| #define | NPM10XX_EVENT_VTHROTTLE BIT64(18) |
| Battery voltage above VTHROTTLE. | |
| #define | NPM10XX_EVENT_VWEAK BIT64(19) |
| Battery voltage above VWEAK. | |
| #define | NPM10XX_EVENT_VTRICKLE BIT64(20) |
| Battery voltage above VTRICKLEFAST. | |
| #define | NPM10XX_EVENT_VBATLOW BIT64(21) |
| Battery voltage below VBATLOW. | |
| #define | NPM10XX_EVENT_NTCCOLD BIT64(24) |
| Battery temperature in cold region. | |
| #define | NPM10XX_EVENT_NTCCOOL BIT64(25) |
| Battery temperature in cool region. | |
| #define | NPM10XX_EVENT_NTCWARM BIT64(26) |
| Battery temperature in warm region. | |
| #define | NPM10XX_EVENT_NTCHOT BIT64(27) |
| Battery temperature in hot region. | |
| #define | NPM10XX_EVENT_DIETEMP BIT64(28) |
| Die temperature is over TCHGREDUCE. | |
| #define | NPM10XX_EVENT_ERROR BIT64(29) |
| Charging error. | |
| #define | NPM10XX_EVENT_VSYSWRNPE BIT64(30) |
| VSYSWRNR threshold detected. | |
| #define | NPM10XX_EVENT_VSYSWRNNE BIT64(31) |
| VSYSWRNF threshold detected. | |
SYSREG/VBUS events | |
| #define | NPM10XX_EVENT_VBUSOVPE BIT64(32) |
| VBUS overvoltage detected. | |
| #define | NPM10XX_EVENT_VBUSOVNE BIT64(33) |
| VBUS overvoltage removed. | |
| #define | NPM10XX_EVENT_VBUSUNDERPE BIT64(34) |
| VBUS undervoltage detected. | |
| #define | NPM10XX_EVENT_VBUSUNDERNE BIT64(35) |
| VBUS undervoltage removed. | |
| #define | NPM10XX_EVENT_VBUSPRESENTPE BIT64(36) |
| VBUS detected. | |
| #define | NPM10XX_EVENT_VBUSPRESENTNE BIT64(37) |
| VBUS removed. | |
| #define | NPM10XX_EVENT_VBUSOKPE BIT64(38) |
| VBUS within limit. | |
| #define | NPM10XX_EVENT_VBUSOKNE BIT64(39) |
| VBUS outside the limit. | |
GPIO events | |
| #define | NPM10XX_EVENT_GPIO0PE BIT64(40) |
| Rising edge on GPIO0. | |
| #define | NPM10XX_EVENT_GPIO0NE BIT64(41) |
| Falling edge on GPIO0. | |
| #define | NPM10XX_EVENT_GPIO1PE BIT64(42) |
| Rising edge on GPIO1. | |
| #define | NPM10XX_EVENT_GPIO1NE BIT64(43) |
| Falling edge on GPIO1. | |
| #define | NPM10XX_EVENT_GPIO2PE BIT64(44) |
| Rising edge on GPIO2. | |
| #define | NPM10XX_EVENT_GPIO2NE BIT64(45) |
| Falling edge on GPIO2. | |
SYSTEM events | |
| #define | NPM10XX_EVENT_TIMERTIMEOUT BIT64(48) |
| General purpose timer expired. | |
| #define | NPM10XX_EVENT_TIMERFREE BIT64(49) |
| Timer free event. | |
| #define | NPM10XX_EVENT_TIMERPREWARN BIT64(50) |
| Pre‑warning event before timer expires. | |
| #define | NPM10XX_EVENT_LDOSWOC BIT64(51) |
| LOADSW1/LDO1 overcurrent. | |
| #define | NPM10XX_EVENT_LOADSWOC BIT64(52) |
| LOADSW2 overcurrent. | |
| #define | NPM10XX_EVENT_SHPHLDPE BIT64(53) |
| Rising edge on SHPHLD. | |
| #define | NPM10XX_EVENT_SHPHLDNE BIT64(54) |
| Falling edge on SHPHLD. | |
| #define | NPM10XX_EVENT_ADCTEST BIT64(55) |
| ADC test finished. | |
Typedefs | |
| typedef uint64_t | npm10xx_event_t |
| Identifies a set of events for the event callback. | |
| typedef uint16_t | npm10xx_rstreas_t |
| Identifies a reset reason. | |
| typedef void(* | npm10xx_callback_handler_t) (const struct device *mfd_npm10xx_dev, struct mfd_npm10xx_event_callback *cb, npm10xx_event_t events) |
| Define the application callback handler function signature. | |
Enumerations | |
| enum | mfd_npm10xx_hibernate_mode { NPM10XX_HIBERNATE_VBAT , NPM10XX_HIBERNATE_VBUS_WAIT , NPM10XX_HIBERNATE_VBUS_NOWAIT } |
| nPM10xx Hibernate modes More... | |
| enum | mfd_npm10xx_standby_op { NPM10XX_STANDBY1_ENTER_WAIT , NPM10XX_STANDBY1_ENTER_NOWAIT , NPM10XX_STANDBY2_ENTER_WAIT , NPM10XX_STANDBY2_ENTER_NOWAIT , NPM10XX_STANDBY_EXIT } |
| nPM10xx Standby operations More... | |
Functions | |
| int | mfd_npm10xx_reset (const struct device *dev) |
| Reset the nPM10xx PMIC device. | |
| int | mfd_npm10xx_get_reset_reason (const struct device *dev, npm10xx_rstreas_t *reason) |
| Retrieve and clear the reset reason of the nPM10xx PMIC device. | |
| int | mfd_npm10xx_hibernate (const struct device *dev, enum mfd_npm10xx_hibernate_mode mode, k_timeout_t time) |
| Trigger a Hibernate mode on an nPM10xx PMIC device. | |
| int | mfd_npm10xx_standby (const struct device *dev, enum mfd_npm10xx_standby_op operation) |
| Enter or exit a VBUS Standby mode on an nPM10xx PMIC device. | |
| int | mfd_npm10xx_manage_callback (const struct device *dev, struct mfd_npm10xx_event_callback *callback, bool add) |
| Manage nPM10xx event callbacks. | |
nPM10xx PMICs MFD interface