ZHCSFH6C March 2016 – February 2019 TPS65916
PRODUCTION DATA.
Table 5-12 lists the TPS65916 interrupts.
These interrupts are split into four register groups (INT1, INT2, INT3, and INT4) and each group has three associated control registers which are defined as follows:
The INT4 register group has two additional registers, INT4_EDGE_DETECT1 and
INT4_EDGE_DETECT2, to independently configure rising and falling edge detection (respectively).
All interrupts are logically combined on a single output line, INT (default is active low). The INT line is used as an external interrupt line to warn the host processor of any interrupt event that has occurred within the device. The host processor must read the interrupt status registers (INTx_STATUS) through the control interface (I2C) to identify the interrupt source. Any interrupt source can be masked by programming the corresponding mask register, INTx_MASK. When an interrupt is masked, the associated event-detection mechanism is disabled. Therefore the corresponding STATUS bit is not updated and the INT line is not triggered if the masked event occurs. If an event occurs while the corresponding interrupt is masked, that event is not recorded. If an interrupt is masked after it has been triggered (the event has occurred and has not been cleared), the STATUS bit would reflect the event until the bit is cleared. While the event is masked, the STATUS bit will not be over-written when a new event occurs.
Because some interrupts are sources of ON requests (see Table 5-12), source masking can mask a specific device switch-on event. Because an active interrupt line, INT, is treated as an ON request, any interrupt that is not masked must be cleared to allow the execution of a sleep sequence of the device, when requested.
The polarity of the INT line and clearing method of interrupts can be configured using the INT_CTRL register.
An INT line can be triggered in either SLEEP or ACTIVE state, depending on the setting of the OSC_THERM_CTRL.INT_MASK_IN_SLEEP bit.
When a new interrupt occurs while the INT line is still active (not all interrupts are cleared), then the following occurs:
For example of a clear-on-read operation, when the INT signal is active, read all four INTx_STATUS registers in sequence to collect the status of all potential interrupt sources. The read access clears the full register for the active or actual interrupt. If the INT line is still active, repeat the read sequence to check and clear pending interrupts.
To clear the interrupt line, all status registers must be cleared. The clearing of all status registers occurs by using a clear-on-read or a clear-on-write method. The clearing method is selectable though the INT_CTRL.INT_CLEAR bit. When this bit is set, the clearing method applies to all bits for all interrupts.
The two different clear operations are defined as follows:
INTERRUPT | ASSOCIATED EVENT | EDGES DETECTION | ON REQUEST | REG. GROUP | REG. BIT | DESCRIPTION |
---|---|---|---|---|---|---|
VSYS_MON | Internal event | Rising and falling | Never | INT1 | 6 | System voltage monitoring interrupt
Triggered when the system voltage crosses the configured threshold in the VSYS_MON register. |
HOTDIE | Internal event | Rising and Falling | Never | 5 | Hot-die temperature interrupt
The embedded thermal monitoring module has detected a die temperature above the hot-die detection threshold. An interrupt is generated in ACTIVE and SLEEP states, not in OFF state. |
|
PWRDOWN | PWRDOWN (pin) | Rising and falling | Never | 4 | Power-down interrupt
Triggered when event is detected on the PWRDOWN pin. |
|
LONG_PRESS_KEY | PWRON (pin) | Falling | Never | 2 | Power-on long key-press interrupt
Triggered when PWRON is low during more than the long-press delay, LONG_PRESS_KEY.LPK_TIME. |
|
PWRON | PWRON (pin) | Falling | Always (INT mask, don't care) | 1 | Power-on interrupt
Triggered when the PWRON button is pressed (low) while the device is on. An interrupt is generated in ACTIVE and SLEEP states, not in OFF state. |
|
SHORT | Internal event | Rising | Yes (if INT not masked) | INT2 | 6 | Short interrupt
Triggered when at least one of the power resources (SMPS or LDO) outputs is shorted. |
FSD | Internal event | Rising | Yes (if INT not masked) | 5 | First supply detection interrupt
Triggered when a first supply detection is detected. This functions is selected by PMU_SECONDARY_INT.FSD_MASK. |
|
RESET_IN | RESET_IN (pin) | Rising | Never | 4 | RESET_IN interrupt
Triggered when event is detected on the RESET_IN pin. |
|
WDT | Internal event | Rising | Never | 2 | Watchdog time-out interrupt
Triggered when watchdog time-out expires. |
|
OTP_ERROR | Internal event | Rising | Never | 1 | OTP bit error detection interrupt
Triggered when an OTP bit error is detected. |
|
VBUS | VBUS (pin) | Rising and falling | Yes (if INT not masked) | INT3 | 7 | VBUS wake-up comparator interrupt
Active in OFF state. Triggered when VBUS present. |
GPADC_EOC_SW | Internal event | N/A | Yes (if INT not masked) | 2 | GPADC software end-of-conversion interrupt
Triggered when the conversion result is available. |
|
GPADC_AUTO_1 | Internal event | N/A | Yes (if INT not masked) | 1 | GPADC automatic periodic conversion 1
Triggered when the result of a conversion is either above or below (depending on configuration) reference threshold GPADC_AUTO_CONV1_LSB and GPADC_AUTO_CONV1_MSB. |
|
GPADC_AUTO_0 | Internal event | N/A | Yes (if INT not masked) | 0 | GPADC automatic periodic conversion 0
Triggered when the result of a conversion is either above or below (depending on configuration) reference threshold GPADC_AUTO_CONV0_LSB and GPADC_AUTO_CONV0_MSB. |
|
GPIO_6 | GPIO_6 (pin) | Rising, falling, or both | Yes (if INT not masked) | INT4 | 6 | GPIO_6 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges |
GPIO_5 | GPIO_5 (pin) | Rising, falling, or both | Yes (if INT not masked) | 5 | GPIO_5 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges | |
GPIO_4 | GPIO_4 (pin) | Rising, falling, or both | Yes (if INT not masked) | 4 | GPIO_4 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges | |
GPIO_3 | GPIO_3 (pin) | Rising, falling, or both | Yes (if INT not masked) | 3 | GPIO_3 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges | |
GPIO_2 | GPIO_2 (pin) | Rising, falling, or both | Yes (if INT not masked) | 2 | GPIO_2 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges | |
GPIO_1 | GPIO_1 (pin) | Rising, falling, or both | Yes (if INT not masked) | 1 | GPIO_1 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges | |
GPIO_0 | GPIO_0 (pin) | Rising, falling, or both | Yes (if INT not masked) | 0 | GPIO_0 rising-edge detection interrupt, falling-edge detection interrupt, or detection interrupt for both edges |