SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
AXP1xxIrq< Regs > Class Template Reference

#include <AXP1xxIrq.hpp>

Inheritance diagram for AXP1xxIrq< Regs >:
[legend]

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).
 

Detailed Description

template<typename Regs>
class AXP1xxIrq< Regs >

Definition at line 58 of file AXP1xxIrq.hpp.

Constructor & Destructor Documentation

◆ AXP1xxIrq()

template<typename Regs >
AXP1xxIrq< Regs >::AXP1xxIrq ( SensorCommWrapper core)
inlineexplicit

Construct interrupt controller interface.

Parameters
coreReference to the I2C communication wrapper.

Definition at line 339 of file AXP1xxIrq.hpp.

Member Function Documentation

◆ clearStatus()

template<typename Regs >
bool AXP1xxIrq< Regs >::clearStatus ( )
overridevirtual

Clear all pending interrupt status registers.

Writes 0xFF to INTSTS1-4 and 0xFF to INTSTS5.

Return values
trueStatus was cleared successfully.
falseI2C communication failed.

Implements PmicIrqBase.

Definition at line 569 of file AXP1xxIrq.hpp.

Referenced by setup().

◆ disable()

template<typename Regs >
bool AXP1xxIrq< Regs >::disable ( uint64_t  mask)
overridevirtual

Disable one or more interrupt sources.

Reads the current ENABLE1-5 registers, clears the mask, and writes back.

Parameters
maskBitmask of interrupts to disable (use IRQ_* constants).
Return values
trueInterrupts were disabled successfully.
falseI2C communication failed.

Implements PmicIrqBase.

Definition at line 532 of file AXP1xxIrq.hpp.

◆ enable()

template<typename Regs >
bool AXP1xxIrq< Regs >::enable ( uint64_t  mask)
overridevirtual

Enable one or more interrupt sources.

Reads the current ENABLE1-5 registers, ORs the mask, and writes back.

Parameters
maskBitmask of interrupts to enable (use IRQ_* constants).
Return values
trueInterrupts were enabled successfully.
falseI2C communication failed.

Implements PmicIrqBase.

Definition at line 517 of file AXP1xxIrq.hpp.

Referenced by setup().

◆ isAcinConnect()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isAcinConnect ( uint64_t  m)
inlinestatic

AXP192 alias for isAcinInsert().

Definition at line 279 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isAcinInsert().

◆ isAcinInsert()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isAcinInsert ( uint64_t  m)
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().

◆ isAcinOv()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isAcinOv ( uint64_t  m)
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().

◆ isAcinOverVol()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isAcinOverVol ( uint64_t  m)
inlinestatic

AXP192 alias for isAcinOv().

Definition at line 277 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isAcinOv().

◆ isAcinRemove()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isAcinRemove ( uint64_t  m)
inlinestatic

Check ACIN removal interrupt.

Definition at line 187 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_ACIN_REMOVE, and AXP1xxIrq< Regs >::isIrqSet().

◆ isApsLowVolLevel()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isApsLowVolLevel ( uint64_t  m)
inlinestatic

AXP192 alias for isLowVoltLevel2().

Definition at line 315 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isLowVoltLevel2().

◆ isApsLowVolLevel1()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isApsLowVolLevel1 ( uint64_t  m)
inlinestatic

AXP202 alias for isLowVoltLevel1().

Definition at line 329 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isLowVoltLevel1().

◆ isBatChgDone()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatChgDone ( uint64_t  m)
inlinestatic

Check charging completed interrupt.

Definition at line 211 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_BAT_CHG_DONE, and AXP1xxIrq< Regs >::isIrqSet().

◆ isBatChgStart()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatChgStart ( uint64_t  m)
inlinestatic

Check charging started interrupt.

Definition at line 209 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_BAT_CHG_START, and AXP1xxIrq< Regs >::isIrqSet().

◆ isBatEnterActivate()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatEnterActivate ( uint64_t  m)
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().

◆ isBatExitActivate()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatExitActivate ( uint64_t  m)
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().

◆ isBatInsert()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatInsert ( uint64_t  m)
inlinestatic

Check battery insertion interrupt.

Definition at line 201 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_BAT_INSERT, and AXP1xxIrq< Regs >::isIrqSet().

◆ isBatRemove()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatRemove ( uint64_t  m)
inlinestatic

Check battery removal interrupt.

Definition at line 203 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_BAT_REMOVE, and AXP1xxIrq< Regs >::isIrqSet().

◆ isBattActivate()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBattActivate ( uint64_t  m)
inlinestatic

AXP192 alias for isBatEnterActivate().

Definition at line 285 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isBatEnterActivate().

◆ isBatTempHigh()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatTempHigh ( uint64_t  m)
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().

◆ isBatTempLow()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBatTempLow ( uint64_t  m)
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().

◆ isBattExitActivate()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBattExitActivate ( uint64_t  m)
inlinestatic

AXP192 alias for isBatExitActivate().

Definition at line 287 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isBatExitActivate().

◆ isBattLowTemp()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBattLowTemp ( uint64_t  m)
inlinestatic

AXP192 alias for isBatTempLow().

Definition at line 291 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isBatTempLow().

◆ isBattOverTemp()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isBattOverTemp ( uint64_t  m)
inlinestatic

AXP192 alias for isBatTempHigh().

Definition at line 289 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isBatTempHigh().

◆ isChargeLowCur()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isChargeLowCur ( uint64_t  m)
inlinestatic

AXP192 alias for isChgCurrLess().

Definition at line 295 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isChgCurrLess().

◆ isChgCurrLess()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isChgCurrLess ( uint64_t  m)
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().

◆ isChipOvTemp()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isChipOvTemp ( uint64_t  m)
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().

◆ isChipTempHigh()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isChipTempHigh ( uint64_t  m)
inlinestatic

AXP192 alias for isChipOvTemp().

Definition at line 293 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isChipOvTemp().

◆ isDc1LowVol()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isDc1LowVol ( uint64_t  m)
inlinestatic

AXP192 alias for isDc1VoltLess().

Definition at line 297 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isDc1VoltLess().

◆ isDc1VoltLess()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isDc1VoltLess ( uint64_t  m)
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().

◆ isDc2LowVol()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isDc2LowVol ( uint64_t  m)
inlinestatic

AXP192 alias for isDc2VoltLess().

Definition at line 299 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isDc2VoltLess().

◆ isDc2VoltLess()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isDc2VoltLess ( uint64_t  m)
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().

◆ isDc3LowVol()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isDc3LowVol ( uint64_t  m)
inlinestatic

AXP192 alias for isDc3VoltLess().

Definition at line 301 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isDc3VoltLess().

◆ isDc3VoltLess()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isDc3VoltLess ( uint64_t  m)
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().

◆ isGpio0EdgeTrigger()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio0EdgeTrigger ( uint64_t  m)
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().

◆ isGpio0Irq()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio0Irq ( uint64_t  m)
inlinestatic

AXP192 alias for isGpio0EdgeTrigger().

Definition at line 317 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isGpio0EdgeTrigger().

◆ isGpio1EdgeTrigger()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio1EdgeTrigger ( uint64_t  m)
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().

◆ isGpio1Irq()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio1Irq ( uint64_t  m)
inlinestatic

AXP192 alias for isGpio1EdgeTrigger().

Definition at line 319 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isGpio1EdgeTrigger().

◆ isGpio2EdgeTrigger()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio2EdgeTrigger ( uint64_t  m)
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().

◆ isGpio2Irq()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio2Irq ( uint64_t  m)
inlinestatic

AXP192 alias for isGpio2EdgeTrigger().

Definition at line 321 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isGpio2EdgeTrigger().

◆ isGpio3EdgeTrigger()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio3EdgeTrigger ( uint64_t  m)
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().

◆ isGpio3Irq()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isGpio3Irq ( uint64_t  m)
inlinestatic

AXP202 alias for isGpio3EdgeTrigger().

Definition at line 331 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isGpio3EdgeTrigger().

◆ isIrqSet()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isIrqSet ( uint64_t  irqMask,
uint64_t  status 
)
inlinestatic

Check if a specific interrupt is set in a status mask.

Parameters
irqMaskBitmask of the interrupt of interest.
statusFull status mask from readStatus().
Returns
true if the interrupt is active.

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().

◆ isLowVoltLevel1()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isLowVoltLevel1 ( uint64_t  m)
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().

◆ isLowVoltLevel2()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isLowVoltLevel2 ( uint64_t  m)
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().

◆ isNoeOff()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isNoeOff ( uint64_t  m)
inlinestatic

AXP192 alias for isNoePowerdown().

Definition at line 309 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isNoePowerdown().

◆ isNoeOn()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isNoeOn ( uint64_t  m)
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().

◆ isNoePowerdown()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isNoePowerdown ( uint64_t  m)
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().

◆ isNoePoweron()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isNoePoweron ( uint64_t  m)
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().

◆ isPekeyLongPress()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isPekeyLongPress ( uint64_t  m)
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().

◆ isPekeyShortPress()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isPekeyShortPress ( uint64_t  m)
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().

◆ isPkeyNegative()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isPkeyNegative ( uint64_t  m)
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().

◆ isPkeyPositive()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isPkeyPositive ( uint64_t  m)
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().

◆ isTimerIrq()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isTimerIrq ( uint64_t  m)
inlinestatic

AXP192 alias for isTimerTimeout().

Definition at line 323 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isTimerTimeout().

◆ isTimerTimeout()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isTimerTimeout ( uint64_t  m)
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().

◆ isVbusEffective()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusEffective ( uint64_t  m)
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().

◆ isVbusInsert()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusInsert ( uint64_t  m)
inlinestatic

Check VBUS insertion interrupt.

Definition at line 191 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_VBUS_INSERT, and AXP1xxIrq< Regs >::isIrqSet().

◆ isVbusInvalid()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusInvalid ( uint64_t  m)
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().

◆ isVbusLowVhold()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusLowVhold ( uint64_t  m)
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().

◆ isVbusOv()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusOv ( uint64_t  m)
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().

◆ isVbusOverVol()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusOverVol ( uint64_t  m)
inlinestatic

AXP192 alias for isVbusOv().

Definition at line 281 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isVbusOv().

◆ isVbusRemove()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusRemove ( uint64_t  m)
inlinestatic

Check VBUS removal interrupt.

Definition at line 193 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::IRQ_VBUS_REMOVE, and AXP1xxIrq< Regs >::isIrqSet().

◆ isVbusSession()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusSession ( uint64_t  m)
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().

◆ isVbusSessionAB()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusSessionAB ( uint64_t  m)
inlinestatic

AXP192 alias for isVbusSession().

Definition at line 313 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isVbusSession().

◆ isVbusSessionEnd()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusSessionEnd ( uint64_t  m)
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().

◆ isVbusValid()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusValid ( uint64_t  m)
inlinestatic

AXP192 alias for isVbusEffective().

Definition at line 311 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isVbusEffective().

◆ isVbusVholdLow()

template<typename Regs >
static bool AXP1xxIrq< Regs >::isVbusVholdLow ( uint64_t  m)
inlinestatic

AXP192 alias for isVbusLowVhold().

Definition at line 283 of file AXP1xxIrq.hpp.

References AXP1xxIrq< Regs >::isVbusLowVhold().

◆ readStatus()

template<typename Regs >
uint64_t AXP1xxIrq< Regs >::readStatus ( bool  clear = true)
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.

Parameters
clearIf true, clear only the read interrupt bits after reading.
Returns
64-bit status mask (0 on error or if no interrupts pending).

Implements PmicIrqBase.

Definition at line 547 of file AXP1xxIrq.hpp.

References buf.

Referenced by loop().

Member Data Documentation

◆ IRQ_ACIN_INSERT

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_ACIN_INSERT = (1ULL << 6)
staticconstexpr

ACIN insertion interrupt mask.

[AXP192+AXP202]

Definition at line 68 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isAcinInsert().

◆ IRQ_ACIN_OV

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_ACIN_OV = (1ULL << 7)
staticconstexpr

ACIN overvoltage interrupt mask.

[AXP192+AXP202]

Definition at line 66 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isAcinOv().

◆ IRQ_ACIN_REMOVE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_ACIN_REMOVE = (1ULL << 5)
staticconstexpr

ACIN removal interrupt mask.

[AXP192+AXP202]

Definition at line 70 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isAcinRemove().

◆ IRQ_ALL_MASK

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_ALL_MASK = 0xFFFFFFFFFFULL
staticconstexpr

Mask covering all defined interrupt sources (bits 1-39).

Definition at line 168 of file AXP1xxIrq.hpp.

◆ IRQ_BAT_CHG_DONE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_CHG_DONE = (1ULL << 10)
staticconstexpr

Charging completed interrupt mask.

[AXP192+AXP202]

Definition at line 95 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatChgDone().

◆ IRQ_BAT_CHG_START

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_CHG_START = (1ULL << 11)
staticconstexpr

Charging started interrupt mask.

[AXP192+AXP202]

Definition at line 93 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatChgStart().

◆ IRQ_BAT_ENTER_ACTIVATE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_ENTER_ACTIVATE = (1ULL << 13)
staticconstexpr

Battery entered active mode interrupt mask.

[AXP192+AXP202]

Definition at line 89 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatEnterActivate().

◆ IRQ_BAT_EXIT_ACTIVATE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_EXIT_ACTIVATE = (1ULL << 12)
staticconstexpr

Battery exited active mode interrupt mask.

[AXP192+AXP202]

Definition at line 91 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatExitActivate().

◆ IRQ_BAT_INSERT

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_INSERT = (1ULL << 15)
staticconstexpr

Battery insertion interrupt mask.

[AXP192+AXP202]

Definition at line 85 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatInsert().

◆ IRQ_BAT_REMOVE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_REMOVE = (1ULL << 14)
staticconstexpr

Battery removal interrupt mask.

[AXP192+AXP202]

Definition at line 87 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatRemove().

◆ IRQ_BAT_TEMP_HIGH

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_TEMP_HIGH = (1ULL << 9)
staticconstexpr

Battery temperature high interrupt mask.

[AXP192+AXP202]

Definition at line 97 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatTempHigh().

◆ IRQ_BAT_TEMP_LOW

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_BAT_TEMP_LOW = (1ULL << 8)
staticconstexpr

Battery temperature low interrupt mask.

[AXP192+AXP202]

Definition at line 99 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isBatTempLow().

◆ IRQ_CHG_CURR_LESS

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_CHG_CURR_LESS = (1ULL << 22)
staticconstexpr

Charge current less than target interrupt mask.

[AXP192+AXP202]

Definition at line 107 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isChgCurrLess().

◆ IRQ_CHIP_OV_TEMP

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_CHIP_OV_TEMP = (1ULL << 23)
staticconstexpr

Chip overtemperature interrupt mask.

[AXP192+AXP202]

Definition at line 105 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isChipOvTemp().

◆ IRQ_DC1_VOLT_LESS

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_DC1_VOLT_LESS = (1ULL << 21)
staticconstexpr

DC-DC1 voltage less than target interrupt mask.

[AXP192+AXP202]

Note
AXP202 datasheet inconsistency: REG4AH IRQ table lists IRQ18 (DCDC1 voltage too low) at bit 5, but REG42H (IRQ enable3) describes bit 5 as "Reserved and unchangeable". This code follows the IRQ table definition. Verify on actual hardware that this interrupt can be enabled and triggered on AXP202.

Definition at line 117 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isDc1VoltLess().

◆ IRQ_DC2_VOLT_LESS

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_DC2_VOLT_LESS = (1ULL << 20)
staticconstexpr

DC-DC2 voltage less than target interrupt mask.

[AXP192+AXP202]

Definition at line 119 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isDc2VoltLess().

◆ IRQ_DC3_VOLT_LESS

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_DC3_VOLT_LESS = (1ULL << 19)
staticconstexpr

DC-DC3 voltage less than target interrupt mask.

[AXP192+AXP202]

Definition at line 121 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isDc3VoltLess().

◆ IRQ_GPIO0_EDGE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_GPIO0_EDGE = (1ULL << 32)
staticconstexpr

GPIO0 edge trigger interrupt mask.

[AXP192+AXP202]

Definition at line 153 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isGpio0EdgeTrigger().

◆ IRQ_GPIO1_EDGE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_GPIO1_EDGE = (1ULL << 33)
staticconstexpr

GPIO1 edge trigger interrupt mask.

[AXP192+AXP202]

Definition at line 155 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isGpio1EdgeTrigger().

◆ IRQ_GPIO2_EDGE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_GPIO2_EDGE = (1ULL << 34)
staticconstexpr

GPIO2 edge trigger interrupt mask.

[AXP192+AXP202]

Definition at line 157 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isGpio2EdgeTrigger().

◆ IRQ_GPIO3_EDGE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_GPIO3_EDGE = (1ULL << 35)
staticconstexpr

GPIO3 edge trigger interrupt mask.

[AXP202 only]

Definition at line 159 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isGpio3EdgeTrigger().

◆ IRQ_LOW_VOLT_LEVEL1

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_LOW_VOLT_LEVEL1 = (1ULL << 25)
staticconstexpr

Low voltage level 1 interrupt mask.

[AXP202 only]

Definition at line 145 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isLowVoltLevel1().

◆ IRQ_LOW_VOLT_LEVEL2

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_LOW_VOLT_LEVEL2 = (1ULL << 24)
staticconstexpr

Low voltage level 2 interrupt mask.

[AXP192+AXP202]

Definition at line 147 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isLowVoltLevel2().

◆ IRQ_NOE_POWERDOWN

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_NOE_POWERDOWN = (1ULL << 30)
staticconstexpr

N-oe power-down interrupt mask.

[AXP192+AXP202]

Definition at line 135 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isNoePowerdown().

◆ IRQ_NOE_POWERON

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_NOE_POWERON = (1ULL << 31)
staticconstexpr

N-oe power-on interrupt mask.

[AXP192+AXP202]

Definition at line 133 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isNoePoweron().

◆ IRQ_PEKEY_LONG_PRESS

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_PEKEY_LONG_PRESS = (1ULL << 16)
staticconstexpr

PEK long press interrupt mask.

[AXP192+AXP202]

Definition at line 127 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isPekeyLongPress().

◆ IRQ_PEKEY_SHORT_PRESS

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_PEKEY_SHORT_PRESS = (1ULL << 17)
staticconstexpr

PEK short press interrupt mask.

[AXP192+AXP202]

Definition at line 125 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isPekeyShortPress().

◆ IRQ_PKEY_NEGATIVE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_PKEY_NEGATIVE = (1ULL << 37)
staticconstexpr

PEK press falling edge interrupt mask.

[AXP202 only]

Definition at line 161 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isPkeyNegative().

◆ IRQ_PKEY_POSITIVE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_PKEY_POSITIVE = (1ULL << 38)
staticconstexpr

PEK press rising edge interrupt mask.

[AXP202 only]

Definition at line 163 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isPkeyPositive().

◆ IRQ_TIMER_TIMEOUT

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_TIMER_TIMEOUT = (1ULL << 39)
staticconstexpr

Timer timeout interrupt mask.

[AXP192+AXP202]

Definition at line 165 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isTimerTimeout().

◆ IRQ_VBUS_EFFECTIVE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_EFFECTIVE = (1ULL << 29)
staticconstexpr

VBUS effective interrupt mask.

[AXP192+AXP202]

Definition at line 137 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusEffective().

◆ IRQ_VBUS_INSERT

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_INSERT = (1ULL << 3)
staticconstexpr

VBUS insertion interrupt mask.

[AXP192+AXP202]

Definition at line 74 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusInsert().

◆ IRQ_VBUS_INVALID

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_INVALID = (1ULL << 28)
staticconstexpr

VBUS invalid interrupt mask.

[AXP192+AXP202]

Definition at line 139 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusInvalid().

◆ IRQ_VBUS_LOW_VHOLD

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_LOW_VHOLD = (1ULL << 1)
staticconstexpr

VBUS low VHOLD interrupt mask.

[AXP192+AXP202]

Definition at line 78 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusLowVhold().

◆ IRQ_VBUS_OV

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_OV = (1ULL << 4)
staticconstexpr

VBUS overvoltage interrupt mask.

[AXP192+AXP202]

Definition at line 72 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusOv().

◆ IRQ_VBUS_REMOVE

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_REMOVE = (1ULL << 2)
staticconstexpr

VBUS removal interrupt mask.

[AXP192+AXP202]

Definition at line 76 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusRemove().

◆ IRQ_VBUS_SESSION

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_SESSION = (1ULL << 27)
staticconstexpr

VBUS session request interrupt mask.

[AXP192+AXP202]

Definition at line 141 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusSession().

◆ IRQ_VBUS_SESSION_END

template<typename Regs >
constexpr uint64_t AXP1xxIrq< Regs >::IRQ_VBUS_SESSION_END = (1ULL << 26)
staticconstexpr

VBUS session end interrupt mask.

[AXP192+AXP202]

Definition at line 143 of file AXP1xxIrq.hpp.

Referenced by AXP1xxIrq< Regs >::isVbusSessionEnd().


The documentation for this class was generated from the following file: