33#include "../../PmicIrqBase.hpp"
109 static bool inline isIrqSet(uint64_t irqMask, uint64_t status) {
return (status & irqMask) != 0; }
170 bool enable(uint64_t mask)
override;
179 bool disable(uint64_t mask)
override;
187 uint64_t
readStatus(
bool clear =
true)
override;
AXP517 low-level core driver.
AXP517 interrupt controller helper.
static constexpr uint64_t IRQ_CHARGE_START
Battery charge start.
static bool isChargeToNormal(uint64_t mask)
static bool isBc12DetectFinished(uint64_t mask)
static constexpr uint64_t IRQ_RESERVED_MASK
Reserved IRQ bits.
bool enable(uint64_t mask) override
Enable one or more PMIC IRQ sources.
static bool isPwrOnShortPress(uint64_t mask)
static constexpr uint64_t IRQ_VBUS_FAULT
VBUS Fault.
static constexpr uint64_t IRQ_BAT_UNDER_TEMP_CHG
Battery Under Temperature in Charge mode.
static constexpr uint64_t IRQ_CHG_SAFETY_TIMER
Charger Safety Timer1/2 expire.
static bool isBatteryRemove(uint64_t mask)
static bool isBatFetOcp(uint64_t mask)
static bool isBatOverTempWork(uint64_t mask)
static constexpr uint64_t IRQ_VBUS_REMOVE
VBUS Remove.
static constexpr uint64_t IRQ_DIE_OVER_TEMP_LEVEL1
DIE Over Temperature level1.
static bool isWatchdogExpire(uint64_t mask)
static bool isDieOverTempLevel1(uint64_t mask)
static bool isIrqSet(uint64_t irqMask, uint64_t status)
Check whether a combined IRQ status contains a specific IRQ source.
static constexpr uint64_t IRQ_VBUS_INSERT
VBUS Insert.
static constexpr uint64_t IRQ_BATTERY_INSERT
Battery Insert.
static constexpr uint64_t IRQ_BAT_FET_OCP
BAT FET Over Current Protection.
static constexpr uint64_t IRQ_GAUGE_NEW_SOC
Gauge New SOC.
static bool isSocShutdownLevel(uint64_t mask)
static bool isBatteryInsert(uint64_t mask)
static bool isBatOverTempQuitChg(uint64_t mask)
static constexpr uint64_t IRQ_CHARGE_DONE
Battery charge done.
static constexpr uint64_t IRQ_PWR_ON_NEGATIVE_EDGE
PWR_ON pin Negative Edge.
static bool isVbusFault(uint64_t mask)
static constexpr uint64_t IRQ_BC12_DETECT_FINISHED
BC1.2 detect finished.
static constexpr uint64_t IRQ_BATTERY_REMOVE
Battery Remove.
static bool isChgSafetyTimer(uint64_t mask)
static bool isBatUnderTempWork(uint64_t mask)
static constexpr uint64_t IRQ_CHARGE_TO_NORMAL
Charge to normal.
static constexpr uint64_t IRQ_WATCHDOG_EXPIRE
Watchdog Expire.
static constexpr uint64_t IRQ_PWR_ON_SHORT_PRESS
PWR_ON pin Short PRESS.
bool disable(uint64_t mask) override
Disable one or more PMIC IRQ sources.
static bool isBatUnderTempChg(uint64_t mask)
static bool isChargeDone(uint64_t mask)
static bool isSocWarningLevel(uint64_t mask)
static bool isVbusInsert(uint64_t mask)
static constexpr uint64_t IRQ_BAT_OVER_TEMP_CHG
Battery Over Temperature in Charge mode.
uint64_t readStatus(bool clear=true) override
Read the current IRQ status.
static constexpr uint64_t IRQ_VBUS_OVER_VOLTAGE
VBUS Over Voltage.
static constexpr uint64_t IRQ_ALL_MASK
Mask for all valid IRQ bits.
static bool isVbusOverVoltage(uint64_t mask)
static bool isGaugeNewSoc(uint64_t mask)
static constexpr uint64_t IRQ_PWR_ON_LONG_PRESS
PWR_ON pin Long PRESS.
static constexpr uint64_t IRQ_BC12_DETECT_CHANGE
BC1.2 detect result change.
static constexpr uint64_t IRQ_BAT_OVER_VOLTAGE
Battery Over Voltage Protection.
static bool isPwrOnPositiveEdge(uint64_t mask)
static constexpr uint64_t IRQ_BAT_UNDER_TEMP_WORK
Battery Under Temperature in Work mode.
static bool isBc12DetectChange(uint64_t mask)
bool clearStatus() override
Clear all pending PMIC IRQ and TCPC alert status bits.
static bool isBatOverVoltage(uint64_t mask)
static bool isChargeStart(uint64_t mask)
static bool isVbusRemove(uint64_t mask)
static constexpr uint64_t IRQ_BAT_OVER_TEMP_QUIT_CHG
Battery Over Temperature Quit in Charge mode.
static constexpr uint64_t IRQ_SOC_SHUTDOWN_LEVEL
SOC drop to Shutdown Level.
static bool isPwrOnLongPress(uint64_t mask)
static bool isBatOverTempChg(uint64_t mask)
static bool isPwrOnNegativeEdge(uint64_t mask)
static constexpr uint64_t IRQ_SOC_WARNING_LEVEL
SOC drop to Warning Level.
static constexpr uint64_t IRQ_BAT_OVER_TEMP_WORK
Battery Over Temperature in Work mode.
static bool isBoostOverVoltage(uint64_t mask)
static constexpr uint64_t IRQ_PWR_ON_POSITIVE_EDGE
PWR_ON pin Positive Edge.
static constexpr uint64_t IRQ_BOOST_OVER_VOLTAGE
BOOST Over Voltage.