|
SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
|
#include <AXP1xxIrq.hpp>
Public Member Functions | |
| AXP1xxIrq (SensorCommWrapper &core) | |
| Construct interrupt controller interface. | |
| bool | enable (uint64_t mask) override |
| Enable one or more interrupt sources. | |
| bool | disable (uint64_t mask) override |
| Disable one or more interrupt sources. | |
| uint64_t | readStatus (bool clear=true) override |
| Read and optionally clear interrupt status. | |
| bool | clearStatus () override |
| Clear all pending interrupt status registers. | |
Public Member Functions inherited from PmicIrqBase | |
| virtual | ~PmicIrqBase ()=default |
Static Public Member Functions | |
| static bool | isIrqSet (uint64_t irqMask, uint64_t status) |
| Check if a specific interrupt is set in a status mask. | |
| static bool | isAcinOv (uint64_t m) |
| Check ACIN overvoltage interrupt. | |
| static bool | isAcinInsert (uint64_t m) |
| Check ACIN insertion interrupt. | |
| static bool | isAcinRemove (uint64_t m) |
| Check ACIN removal interrupt. | |
| static bool | isVbusOv (uint64_t m) |
| Check VBUS overvoltage interrupt. | |
| static bool | isVbusInsert (uint64_t m) |
| Check VBUS insertion interrupt. | |
| static bool | isVbusRemove (uint64_t m) |
| Check VBUS removal interrupt. | |
| static bool | isVbusLowVhold (uint64_t m) |
| Check VBUS low VHOLD interrupt. | |
| static bool | isBatInsert (uint64_t m) |
| Check battery insertion interrupt. | |
| static bool | isBatRemove (uint64_t m) |
| Check battery removal interrupt. | |
| static bool | isBatEnterActivate (uint64_t m) |
| Check battery entered active mode interrupt. | |
| static bool | isBatExitActivate (uint64_t m) |
| Check battery exited active mode interrupt. | |
| static bool | isBatChgStart (uint64_t m) |
| Check charging started interrupt. | |
| static bool | isBatChgDone (uint64_t m) |
| Check charging completed interrupt. | |
| static bool | isBatTempHigh (uint64_t m) |
| Check battery temperature high interrupt. | |
| static bool | isBatTempLow (uint64_t m) |
| Check battery temperature low interrupt. | |
| static bool | isChipOvTemp (uint64_t m) |
| Check chip overtemperature interrupt. | |
| static bool | isChgCurrLess (uint64_t m) |
| Check charge current less than target interrupt. | |
| static bool | isDc1VoltLess (uint64_t m) |
| Check DC-DC1 voltage low interrupt. | |
| static bool | isDc2VoltLess (uint64_t m) |
| Check DC-DC2 voltage low interrupt. | |
| static bool | isDc3VoltLess (uint64_t m) |
| Check DC-DC3 voltage low interrupt. | |
| static bool | isPekeyShortPress (uint64_t m) |
| Check PEK short press interrupt. | |
| static bool | isPekeyLongPress (uint64_t m) |
| Check PEK long press interrupt. | |
| static bool | isNoePoweron (uint64_t m) |
| Check N-oe power-on interrupt. | |
| static bool | isNoePowerdown (uint64_t m) |
| Check N-oe power-down interrupt. | |
| static bool | isVbusEffective (uint64_t m) |
| Check VBUS effective interrupt. | |
| static bool | isVbusInvalid (uint64_t m) |
| Check VBUS invalid interrupt. | |
| static bool | isVbusSession (uint64_t m) |
| Check VBUS session request interrupt. | |
| static bool | isVbusSessionEnd (uint64_t m) |
| Check VBUS session end interrupt. | |
| static bool | isLowVoltLevel2 (uint64_t m) |
| Check low voltage level 2 interrupt. | |
| static bool | isLowVoltLevel1 (uint64_t m) |
| Check low voltage level 1 interrupt. | |
| static bool | isGpio0EdgeTrigger (uint64_t m) |
| Check GPIO0 edge trigger interrupt. | |
| static bool | isGpio1EdgeTrigger (uint64_t m) |
| Check GPIO1 edge trigger interrupt. | |
| static bool | isGpio2EdgeTrigger (uint64_t m) |
| Check GPIO2 edge trigger interrupt. | |
| static bool | isGpio3EdgeTrigger (uint64_t m) |
| Check GPIO3 edge trigger interrupt. | |
| static bool | isPkeyNegative (uint64_t m) |
| Check PEK press falling edge interrupt. | |
| static bool | isPkeyPositive (uint64_t m) |
| Check PEK press rising edge interrupt. | |
| static bool | isTimerTimeout (uint64_t m) |
| Check timer timeout interrupt. | |
| static bool | isAcinOverVol (uint64_t m) |
| AXP192 alias for isAcinOv(). | |
| static bool | isAcinConnect (uint64_t m) |
| AXP192 alias for isAcinInsert(). | |
| static bool | isVbusOverVol (uint64_t m) |
| AXP192 alias for isVbusOv(). | |
| static bool | isVbusVholdLow (uint64_t m) |
| AXP192 alias for isVbusLowVhold(). | |
| static bool | isBattActivate (uint64_t m) |
| AXP192 alias for isBatEnterActivate(). | |
| static bool | isBattExitActivate (uint64_t m) |
| AXP192 alias for isBatExitActivate(). | |
| static bool | isBattOverTemp (uint64_t m) |
| AXP192 alias for isBatTempHigh(). | |
| static bool | isBattLowTemp (uint64_t m) |
| AXP192 alias for isBatTempLow(). | |
| static bool | isChipTempHigh (uint64_t m) |
| AXP192 alias for isChipOvTemp(). | |
| static bool | isChargeLowCur (uint64_t m) |
| AXP192 alias for isChgCurrLess(). | |
| static bool | isDc1LowVol (uint64_t m) |
| AXP192 alias for isDc1VoltLess(). | |
| static bool | isDc2LowVol (uint64_t m) |
| AXP192 alias for isDc2VoltLess(). | |
| static bool | isDc3LowVol (uint64_t m) |
| AXP192 alias for isDc3VoltLess(). | |
| static bool | isNoeOn (uint64_t m) |
| AXP192 alias for isPekeyShortPress(). | |
| static bool | isNoeOff (uint64_t m) |
| AXP192 alias for isNoePowerdown(). | |
| static bool | isVbusValid (uint64_t m) |
| AXP192 alias for isVbusEffective(). | |
| static bool | isVbusSessionAB (uint64_t m) |
| AXP192 alias for isVbusSession(). | |
| static bool | isApsLowVolLevel (uint64_t m) |
| AXP192 alias for isLowVoltLevel2(). | |
| static bool | isGpio0Irq (uint64_t m) |
| AXP192 alias for isGpio0EdgeTrigger(). | |
| static bool | isGpio1Irq (uint64_t m) |
| AXP192 alias for isGpio1EdgeTrigger(). | |
| static bool | isGpio2Irq (uint64_t m) |
| AXP192 alias for isGpio2EdgeTrigger(). | |
| static bool | isTimerIrq (uint64_t m) |
| AXP192 alias for isTimerTimeout(). | |
| static bool | isApsLowVolLevel1 (uint64_t m) |
| AXP202 alias for isLowVoltLevel1(). | |
| static bool | isGpio3Irq (uint64_t m) |
| AXP202 alias for isGpio3EdgeTrigger(). | |
Static Public Attributes | |
| static constexpr uint64_t | IRQ_ACIN_OV = (1ULL << 7) |
| ACIN overvoltage interrupt mask. | |
| static constexpr uint64_t | IRQ_ACIN_INSERT = (1ULL << 6) |
| ACIN insertion interrupt mask. | |
| static constexpr uint64_t | IRQ_ACIN_REMOVE = (1ULL << 5) |
| ACIN removal interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_OV = (1ULL << 4) |
| VBUS overvoltage interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_INSERT = (1ULL << 3) |
| VBUS insertion interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_REMOVE = (1ULL << 2) |
| VBUS removal interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_LOW_VHOLD = (1ULL << 1) |
| VBUS low VHOLD interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_INSERT = (1ULL << 15) |
| Battery insertion interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_REMOVE = (1ULL << 14) |
| Battery removal interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_ENTER_ACTIVATE = (1ULL << 13) |
| Battery entered active mode interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_EXIT_ACTIVATE = (1ULL << 12) |
| Battery exited active mode interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_CHG_START = (1ULL << 11) |
| Charging started interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_CHG_DONE = (1ULL << 10) |
| Charging completed interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_TEMP_HIGH = (1ULL << 9) |
| Battery temperature high interrupt mask. | |
| static constexpr uint64_t | IRQ_BAT_TEMP_LOW = (1ULL << 8) |
| Battery temperature low interrupt mask. | |
| static constexpr uint64_t | IRQ_CHIP_OV_TEMP = (1ULL << 23) |
| Chip overtemperature interrupt mask. | |
| static constexpr uint64_t | IRQ_CHG_CURR_LESS = (1ULL << 22) |
| Charge current less than target interrupt mask. | |
| static constexpr uint64_t | IRQ_DC1_VOLT_LESS = (1ULL << 21) |
| DC-DC1 voltage less than target interrupt mask. | |
| static constexpr uint64_t | IRQ_DC2_VOLT_LESS = (1ULL << 20) |
| DC-DC2 voltage less than target interrupt mask. | |
| static constexpr uint64_t | IRQ_DC3_VOLT_LESS = (1ULL << 19) |
| DC-DC3 voltage less than target interrupt mask. | |
| static constexpr uint64_t | IRQ_PEKEY_SHORT_PRESS = (1ULL << 17) |
| PEK short press interrupt mask. | |
| static constexpr uint64_t | IRQ_PEKEY_LONG_PRESS = (1ULL << 16) |
| PEK long press interrupt mask. | |
| static constexpr uint64_t | IRQ_NOE_POWERON = (1ULL << 31) |
| N-oe power-on interrupt mask. | |
| static constexpr uint64_t | IRQ_NOE_POWERDOWN = (1ULL << 30) |
| N-oe power-down interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_EFFECTIVE = (1ULL << 29) |
| VBUS effective interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_INVALID = (1ULL << 28) |
| VBUS invalid interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_SESSION = (1ULL << 27) |
| VBUS session request interrupt mask. | |
| static constexpr uint64_t | IRQ_VBUS_SESSION_END = (1ULL << 26) |
| VBUS session end interrupt mask. | |
| static constexpr uint64_t | IRQ_LOW_VOLT_LEVEL1 = (1ULL << 25) |
| Low voltage level 1 interrupt mask. | |
| static constexpr uint64_t | IRQ_LOW_VOLT_LEVEL2 = (1ULL << 24) |
| Low voltage level 2 interrupt mask. | |
| static constexpr uint64_t | IRQ_GPIO0_EDGE = (1ULL << 32) |
| GPIO0 edge trigger interrupt mask. | |
| static constexpr uint64_t | IRQ_GPIO1_EDGE = (1ULL << 33) |
| GPIO1 edge trigger interrupt mask. | |
| static constexpr uint64_t | IRQ_GPIO2_EDGE = (1ULL << 34) |
| GPIO2 edge trigger interrupt mask. | |
| static constexpr uint64_t | IRQ_GPIO3_EDGE = (1ULL << 35) |
| GPIO3 edge trigger interrupt mask. | |
| static constexpr uint64_t | IRQ_PKEY_NEGATIVE = (1ULL << 37) |
| PEK press falling edge interrupt mask. | |
| static constexpr uint64_t | IRQ_PKEY_POSITIVE = (1ULL << 38) |
| PEK press rising edge interrupt mask. | |
| static constexpr uint64_t | IRQ_TIMER_TIMEOUT = (1ULL << 39) |
| Timer timeout interrupt mask. | |
| static constexpr uint64_t | IRQ_ALL_MASK = 0xFFFFFFFFFFULL |
| Mask covering all defined interrupt sources (bits 1-39). | |
Definition at line 58 of file AXP1xxIrq.hpp.
|
inlineexplicit |
Construct interrupt controller interface.
| core | Reference to the I2C communication wrapper. |
Definition at line 339 of file AXP1xxIrq.hpp.
|
overridevirtual |
Clear all pending interrupt status registers.
Writes 0xFF to INTSTS1-4 and 0xFF to INTSTS5.
| true | Status was cleared successfully. |
| false | I2C communication failed. |
Implements PmicIrqBase.
Definition at line 569 of file AXP1xxIrq.hpp.
Referenced by setup().
|
overridevirtual |
Disable one or more interrupt sources.
Reads the current ENABLE1-5 registers, clears the mask, and writes back.
| mask | Bitmask of interrupts to disable (use IRQ_* constants). |
| true | Interrupts were disabled successfully. |
| false | I2C communication failed. |
Implements PmicIrqBase.
Definition at line 532 of file AXP1xxIrq.hpp.
|
overridevirtual |
Enable one or more interrupt sources.
Reads the current ENABLE1-5 registers, ORs the mask, and writes back.
| mask | Bitmask of interrupts to enable (use IRQ_* constants). |
| true | Interrupts were enabled successfully. |
| false | I2C communication failed. |
Implements PmicIrqBase.
Definition at line 517 of file AXP1xxIrq.hpp.
Referenced by setup().
|
inlinestatic |
AXP192 alias for isAcinInsert().
Definition at line 279 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isAcinInsert().
|
inlinestatic |
Check ACIN insertion interrupt.
Definition at line 185 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_ACIN_INSERT, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isAcinConnect().
|
inlinestatic |
Check ACIN overvoltage interrupt.
Definition at line 183 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_ACIN_OV, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isAcinOverVol().
|
inlinestatic |
AXP192 alias for isAcinOv().
Definition at line 277 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isAcinOv().
|
inlinestatic |
Check ACIN removal interrupt.
Definition at line 187 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_ACIN_REMOVE, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
AXP192 alias for isLowVoltLevel2().
Definition at line 315 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isLowVoltLevel2().
|
inlinestatic |
AXP202 alias for isLowVoltLevel1().
Definition at line 329 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isLowVoltLevel1().
|
inlinestatic |
Check charging completed interrupt.
Definition at line 211 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_CHG_DONE, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check charging started interrupt.
Definition at line 209 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_CHG_START, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check battery entered active mode interrupt.
Definition at line 205 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_ENTER_ACTIVATE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isBattActivate().
|
inlinestatic |
Check battery exited active mode interrupt.
Definition at line 207 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_EXIT_ACTIVATE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isBattExitActivate().
|
inlinestatic |
Check battery insertion interrupt.
Definition at line 201 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_INSERT, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check battery removal interrupt.
Definition at line 203 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_REMOVE, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
AXP192 alias for isBatEnterActivate().
Definition at line 285 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isBatEnterActivate().
|
inlinestatic |
Check battery temperature high interrupt.
Definition at line 213 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_TEMP_HIGH, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isBattOverTemp().
|
inlinestatic |
Check battery temperature low interrupt.
Definition at line 215 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_BAT_TEMP_LOW, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isBattLowTemp().
|
inlinestatic |
AXP192 alias for isBatExitActivate().
Definition at line 287 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isBatExitActivate().
|
inlinestatic |
AXP192 alias for isBatTempLow().
Definition at line 291 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isBatTempLow().
|
inlinestatic |
AXP192 alias for isBatTempHigh().
Definition at line 289 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isBatTempHigh().
|
inlinestatic |
AXP192 alias for isChgCurrLess().
Definition at line 295 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isChgCurrLess().
|
inlinestatic |
Check charge current less than target interrupt.
Definition at line 223 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_CHG_CURR_LESS, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isChargeLowCur().
|
inlinestatic |
Check chip overtemperature interrupt.
Definition at line 221 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_CHIP_OV_TEMP, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isChipTempHigh().
|
inlinestatic |
AXP192 alias for isChipOvTemp().
Definition at line 293 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isChipOvTemp().
|
inlinestatic |
AXP192 alias for isDc1VoltLess().
Definition at line 297 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isDc1VoltLess().
|
inlinestatic |
Check DC-DC1 voltage low interrupt.
Definition at line 225 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_DC1_VOLT_LESS, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isDc1LowVol().
|
inlinestatic |
AXP192 alias for isDc2VoltLess().
Definition at line 299 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isDc2VoltLess().
|
inlinestatic |
Check DC-DC2 voltage low interrupt.
Definition at line 227 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_DC2_VOLT_LESS, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isDc2LowVol().
|
inlinestatic |
AXP192 alias for isDc3VoltLess().
Definition at line 301 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isDc3VoltLess().
|
inlinestatic |
Check DC-DC3 voltage low interrupt.
Definition at line 229 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_DC3_VOLT_LESS, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isDc3LowVol().
|
inlinestatic |
Check GPIO0 edge trigger interrupt.
[AXP192+AXP202]
Definition at line 259 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_GPIO0_EDGE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isGpio0Irq().
|
inlinestatic |
AXP192 alias for isGpio0EdgeTrigger().
Definition at line 317 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isGpio0EdgeTrigger().
|
inlinestatic |
Check GPIO1 edge trigger interrupt.
[AXP192+AXP202]
Definition at line 261 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_GPIO1_EDGE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isGpio1Irq().
|
inlinestatic |
AXP192 alias for isGpio1EdgeTrigger().
Definition at line 319 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isGpio1EdgeTrigger().
|
inlinestatic |
Check GPIO2 edge trigger interrupt.
[AXP192+AXP202]
Definition at line 263 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_GPIO2_EDGE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isGpio2Irq().
|
inlinestatic |
AXP192 alias for isGpio2EdgeTrigger().
Definition at line 321 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isGpio2EdgeTrigger().
|
inlinestatic |
Check GPIO3 edge trigger interrupt.
[AXP202 only]
Definition at line 265 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_GPIO3_EDGE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isGpio3Irq().
|
inlinestatic |
AXP202 alias for isGpio3EdgeTrigger().
Definition at line 331 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isGpio3EdgeTrigger().
|
inlinestatic |
Check if a specific interrupt is set in a status mask.
| irqMask | Bitmask of the interrupt of interest. |
| status | Full status mask from readStatus(). |
Definition at line 177 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isAcinInsert(), AXP1xxIrq< Regs >::isAcinOv(), AXP1xxIrq< Regs >::isAcinRemove(), AXP1xxIrq< Regs >::isBatChgDone(), AXP1xxIrq< Regs >::isBatChgStart(), AXP1xxIrq< Regs >::isBatEnterActivate(), AXP1xxIrq< Regs >::isBatExitActivate(), AXP1xxIrq< Regs >::isBatInsert(), AXP1xxIrq< Regs >::isBatRemove(), AXP1xxIrq< Regs >::isBatTempHigh(), AXP1xxIrq< Regs >::isBatTempLow(), AXP1xxIrq< Regs >::isChgCurrLess(), AXP1xxIrq< Regs >::isChipOvTemp(), AXP1xxIrq< Regs >::isDc1VoltLess(), AXP1xxIrq< Regs >::isDc2VoltLess(), AXP1xxIrq< Regs >::isDc3VoltLess(), AXP1xxIrq< Regs >::isGpio0EdgeTrigger(), AXP1xxIrq< Regs >::isGpio1EdgeTrigger(), AXP1xxIrq< Regs >::isGpio2EdgeTrigger(), AXP1xxIrq< Regs >::isGpio3EdgeTrigger(), AXP1xxIrq< Regs >::isLowVoltLevel1(), AXP1xxIrq< Regs >::isLowVoltLevel2(), AXP1xxIrq< Regs >::isNoePowerdown(), AXP1xxIrq< Regs >::isNoePoweron(), AXP1xxIrq< Regs >::isPekeyLongPress(), AXP1xxIrq< Regs >::isPekeyShortPress(), AXP1xxIrq< Regs >::isPkeyNegative(), AXP1xxIrq< Regs >::isPkeyPositive(), AXP1xxIrq< Regs >::isTimerTimeout(), AXP1xxIrq< Regs >::isVbusEffective(), AXP1xxIrq< Regs >::isVbusInsert(), AXP1xxIrq< Regs >::isVbusInvalid(), AXP1xxIrq< Regs >::isVbusLowVhold(), AXP1xxIrq< Regs >::isVbusOv(), AXP1xxIrq< Regs >::isVbusRemove(), AXP1xxIrq< Regs >::isVbusSession(), and AXP1xxIrq< Regs >::isVbusSessionEnd().
|
inlinestatic |
Check low voltage level 1 interrupt.
[AXP202 only]
Definition at line 253 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_LOW_VOLT_LEVEL1, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isApsLowVolLevel1().
|
inlinestatic |
Check low voltage level 2 interrupt.
[AXP192+AXP202]
Definition at line 251 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_LOW_VOLT_LEVEL2, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isApsLowVolLevel().
|
inlinestatic |
AXP192 alias for isNoePowerdown().
Definition at line 309 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isNoePowerdown().
|
inlinestatic |
AXP192 alias for isPekeyShortPress().
AXP192 alias for isPekeyLongPress().
AXP192 alias for isNoePoweron().
Definition at line 307 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isNoePoweron().
|
inlinestatic |
Check N-oe power-down interrupt.
[AXP192+AXP202]
Definition at line 241 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_NOE_POWERDOWN, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isNoeOff().
|
inlinestatic |
Check N-oe power-on interrupt.
[AXP192+AXP202]
Definition at line 239 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_NOE_POWERON, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isNoeOn().
|
inlinestatic |
Check PEK long press interrupt.
Definition at line 233 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_PEKEY_LONG_PRESS, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check PEK short press interrupt.
Definition at line 231 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_PEKEY_SHORT_PRESS, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check PEK press falling edge interrupt.
[AXP202 only]
Definition at line 267 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_PKEY_NEGATIVE, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check PEK press rising edge interrupt.
[AXP202 only]
Definition at line 269 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_PKEY_POSITIVE, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
AXP192 alias for isTimerTimeout().
Definition at line 323 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isTimerTimeout().
|
inlinestatic |
Check timer timeout interrupt.
[AXP192+AXP202]
Definition at line 271 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_TIMER_TIMEOUT, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isTimerIrq().
|
inlinestatic |
Check VBUS effective interrupt.
[AXP192+AXP202]
Definition at line 243 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_EFFECTIVE, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isVbusValid().
|
inlinestatic |
Check VBUS insertion interrupt.
Definition at line 191 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_INSERT, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check VBUS invalid interrupt.
[AXP192+AXP202]
Definition at line 245 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_INVALID, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check VBUS low VHOLD interrupt.
Definition at line 195 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_LOW_VHOLD, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isVbusVholdLow().
|
inlinestatic |
Check VBUS overvoltage interrupt.
Definition at line 189 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_OV, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isVbusOverVol().
|
inlinestatic |
AXP192 alias for isVbusOv().
Definition at line 281 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isVbusOv().
|
inlinestatic |
Check VBUS removal interrupt.
Definition at line 193 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_REMOVE, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
Check VBUS session request interrupt.
[AXP192+AXP202]
Definition at line 247 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_SESSION, and AXP1xxIrq< Regs >::isIrqSet().
Referenced by AXP1xxIrq< Regs >::isVbusSessionAB().
|
inlinestatic |
AXP192 alias for isVbusSession().
Definition at line 313 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isVbusSession().
|
inlinestatic |
Check VBUS session end interrupt.
[AXP192+AXP202]
Definition at line 249 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::IRQ_VBUS_SESSION_END, and AXP1xxIrq< Regs >::isIrqSet().
|
inlinestatic |
AXP192 alias for isVbusEffective().
Definition at line 311 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isVbusEffective().
|
inlinestatic |
AXP192 alias for isVbusLowVhold().
Definition at line 283 of file AXP1xxIrq.hpp.
References AXP1xxIrq< Regs >::isVbusLowVhold().
|
overridevirtual |
Read and optionally clear interrupt status.
Reads INTSTS1-5 registers and packs them into a 64-bit mask. If clear is true and status is non-zero, only the status bits that were read are cleared (W1C safe), avoiding loss of newly arrived interrupts.
| clear | If true, clear only the read interrupt bits after reading. |
Implements PmicIrqBase.
Definition at line 547 of file AXP1xxIrq.hpp.
References buf.
Referenced by loop().
|
staticconstexpr |
ACIN insertion interrupt mask.
[AXP192+AXP202]
Definition at line 68 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isAcinInsert().
|
staticconstexpr |
ACIN overvoltage interrupt mask.
[AXP192+AXP202]
Definition at line 66 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isAcinOv().
|
staticconstexpr |
ACIN removal interrupt mask.
[AXP192+AXP202]
Definition at line 70 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isAcinRemove().
|
staticconstexpr |
Mask covering all defined interrupt sources (bits 1-39).
Definition at line 168 of file AXP1xxIrq.hpp.
|
staticconstexpr |
Charging completed interrupt mask.
[AXP192+AXP202]
Definition at line 95 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatChgDone().
|
staticconstexpr |
Charging started interrupt mask.
[AXP192+AXP202]
Definition at line 93 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatChgStart().
|
staticconstexpr |
Battery entered active mode interrupt mask.
[AXP192+AXP202]
Definition at line 89 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatEnterActivate().
|
staticconstexpr |
Battery exited active mode interrupt mask.
[AXP192+AXP202]
Definition at line 91 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatExitActivate().
|
staticconstexpr |
Battery insertion interrupt mask.
[AXP192+AXP202]
Definition at line 85 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatInsert().
|
staticconstexpr |
Battery removal interrupt mask.
[AXP192+AXP202]
Definition at line 87 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatRemove().
|
staticconstexpr |
Battery temperature high interrupt mask.
[AXP192+AXP202]
Definition at line 97 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatTempHigh().
|
staticconstexpr |
Battery temperature low interrupt mask.
[AXP192+AXP202]
Definition at line 99 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isBatTempLow().
|
staticconstexpr |
Charge current less than target interrupt mask.
[AXP192+AXP202]
Definition at line 107 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isChgCurrLess().
|
staticconstexpr |
Chip overtemperature interrupt mask.
[AXP192+AXP202]
Definition at line 105 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isChipOvTemp().
|
staticconstexpr |
DC-DC1 voltage less than target interrupt mask.
[AXP192+AXP202]
Definition at line 117 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isDc1VoltLess().
|
staticconstexpr |
DC-DC2 voltage less than target interrupt mask.
[AXP192+AXP202]
Definition at line 119 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isDc2VoltLess().
|
staticconstexpr |
DC-DC3 voltage less than target interrupt mask.
[AXP192+AXP202]
Definition at line 121 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isDc3VoltLess().
|
staticconstexpr |
GPIO0 edge trigger interrupt mask.
[AXP192+AXP202]
Definition at line 153 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isGpio0EdgeTrigger().
|
staticconstexpr |
GPIO1 edge trigger interrupt mask.
[AXP192+AXP202]
Definition at line 155 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isGpio1EdgeTrigger().
|
staticconstexpr |
GPIO2 edge trigger interrupt mask.
[AXP192+AXP202]
Definition at line 157 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isGpio2EdgeTrigger().
|
staticconstexpr |
GPIO3 edge trigger interrupt mask.
[AXP202 only]
Definition at line 159 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isGpio3EdgeTrigger().
|
staticconstexpr |
Low voltage level 1 interrupt mask.
[AXP202 only]
Definition at line 145 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isLowVoltLevel1().
|
staticconstexpr |
Low voltage level 2 interrupt mask.
[AXP192+AXP202]
Definition at line 147 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isLowVoltLevel2().
|
staticconstexpr |
N-oe power-down interrupt mask.
[AXP192+AXP202]
Definition at line 135 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isNoePowerdown().
|
staticconstexpr |
N-oe power-on interrupt mask.
[AXP192+AXP202]
Definition at line 133 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isNoePoweron().
|
staticconstexpr |
PEK long press interrupt mask.
[AXP192+AXP202]
Definition at line 127 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isPekeyLongPress().
|
staticconstexpr |
PEK short press interrupt mask.
[AXP192+AXP202]
Definition at line 125 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isPekeyShortPress().
|
staticconstexpr |
PEK press falling edge interrupt mask.
[AXP202 only]
Definition at line 161 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isPkeyNegative().
|
staticconstexpr |
PEK press rising edge interrupt mask.
[AXP202 only]
Definition at line 163 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isPkeyPositive().
|
staticconstexpr |
Timer timeout interrupt mask.
[AXP192+AXP202]
Definition at line 165 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isTimerTimeout().
|
staticconstexpr |
VBUS effective interrupt mask.
[AXP192+AXP202]
Definition at line 137 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusEffective().
|
staticconstexpr |
VBUS insertion interrupt mask.
[AXP192+AXP202]
Definition at line 74 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusInsert().
|
staticconstexpr |
VBUS invalid interrupt mask.
[AXP192+AXP202]
Definition at line 139 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusInvalid().
|
staticconstexpr |
VBUS low VHOLD interrupt mask.
[AXP192+AXP202]
Definition at line 78 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusLowVhold().
|
staticconstexpr |
VBUS overvoltage interrupt mask.
[AXP192+AXP202]
Definition at line 72 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusOv().
|
staticconstexpr |
VBUS removal interrupt mask.
[AXP192+AXP202]
Definition at line 76 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusRemove().
|
staticconstexpr |
VBUS session request interrupt mask.
[AXP192+AXP202]
Definition at line 141 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusSession().
|
staticconstexpr |
VBUS session end interrupt mask.
[AXP192+AXP202]
Definition at line 143 of file AXP1xxIrq.hpp.
Referenced by AXP1xxIrq< Regs >::isVbusSessionEnd().