Debug watchdog timeout issues
A WD is a fixed-length counter that allows a system to recover from an unexpected hardware or software catastrophe. Unless the system periodically pets the WD timer, it assumes a catastrophe and resets the subsystem or the entire system depending on the triggered WD. The following are the different types of WD implementations:The following table summarizes different types of WD implementations. Table: Watchdog implementations
- Hardware WD
- Software WD
- Bark
- Bite
| Types of watchdogs | Timeout duration (in seconds) | Owner | When expired | Result |
|---|---|---|---|---|
| Nonsecure WD bark | 11 | HLOS | IRQ to Qualcomm TEE | HLOS falls to Panic |
| Nonsecure WD bite | 12 | HLOS | Fast interrupt request (FIQ) to Qualcomm TEE | Qualcomm TEE asserts PS_HOLD |
| Secure WD bark | 6 | Qualcomm TEE | FIQ to Qualcomm TEE | Qualcomm TEE just pets secure WD |
| Secure WD bite | 22 | Qualcomm TEE | Asserting PS_HOLD | Power management IC (PMIC) resets the system |
WD for application processor CPU
Nonsecure hardware watchdog- Every 10 seconds, the HLOS triggers a timer event to pet the nonsecure hardware WD. If the HLOS doesn’t pet the nonsecure WD for 11 seconds, the nonsecure WD bark fires and the HLOS must handle it. If the HLOS can’t handle it, the HLOS falls into panic.
- If the HLOS is unable to handle nonsecure WD bark, it triggers a nonsecure WD bite and sends it to Qualcomm TEE, causing the Qualcomm TEE to fall into a fatal error.
- In Qualcomm Linux, upstream WD driver is located at the
drivers/watchdog/qcom-wdt.cpath. The following is the WD configuration file:You can modify the configuration file with the following values:
- Every 6 seconds, Qualcomm TEE triggers a secure WD bark as a fast interrupt request (FIQ). The FIQ handler in the Qualcomm TEE pets the secure hardware WD. This isn’t an error or fatal issue.
- If Qualcomm TEE can’t handle the secure WD bark for 22 seconds, the secure WD bite expires. Then, the PMIC asserts the
PS_HOLDpin, and eventually, the entire system is reset.
Debug bus hang and timeout issues
The SNoC, CNoC, xPU, TBU, and AHB are the system infrastructure components on the device, which are responsible for operations, such as:- Bus transaction
- Address translation
- Memory protection

