SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
A time-out mechanism can be enabled at the interconnect level and on a per-target basis. If the mechanism is enabled for a TA and interconnect and commands are not accepted or responses are not returned within the expected delay, the L4 interconnect generates an error event.
The time-out mechanism is not available on the L4_WKUP interconnect, but L4_WKUP time-outs are detected in CFG_TA_L4WKUP of the L4_CFG interconnect.
The error is logged in the L4_TA_AGENT_STATUS_L[8] REQ_TIMEOUT bit. The affected TA enters an error state that causes it to send an error response to any new request targeted at it. To recover from this state, system software must reset the TA. The time-out is counted starting from the moment a command is presented to the target, regardless of the target response to this command.
The L4 interconnect implements a centralized time-base circuit that broadcasts a set of four periodic pulse signals to all connected TAs. The time-base circuit offers four possible sets of four time-base signals. The time-base signals are selected by programming the L4_LA_NETWORK_CONTROL_L[10:8] TIMEOUT_BASE bit field.
The selected time-base signals are available at any TA. Each TA can be programmed to refer to one of these four time-base signals, using the L4_TA_AGENT_CONTROL_L[10:8] REQ_TIMEOUT bit field. These four signals are referred to as 1X time-base, 4X time-base, 16X time-base, and 64X time-base.
Table 16-405 lists all values in number of L4 clock cycles.
L4_TA_AGENT_CONTROL_L [10:8] REQ_TIMEOUT | |||||
---|---|---|---|---|---|
L4_LA_NETWORK_CONTROL_L[10:8] TIMEOUT_BASE | 0 | 1 | 2 | 3 | 4 |
0 | All L4 time-out features are disabled. | ||||
1 | Locally disabled | 64 | 256 | 1024 | 4096 |
2 | 256 | 1024 | 4096 | 16,384 | |
3 | 1024 | 4096 | 16,384 | 65,536 | |
4 | 4096 | 16,384 | 65,536 | 262,144 |
The default reset value is 0x2 for REQ_TIMEOUT and 0x4 for TIMEOUT_BASE, implying 16,384 clock cycles.
A time-out condition is detected when the command acceptance or the response is not received after a delay of from one to three time-base periods.
Example:
At agent A, the time-base unit is 16,384 cycles. A time-out is issued when a request to the attached module is not accepted, or no response is sent after a delay of 252 μs to 756 μs.
At agent B, the time-base unit is 262,144 cycles. A time-out is issued when a request to the attached module is not accepted or no response is sent after a delay of 4 ms to 12 ms.
When a time-out condition is detected, the TA logs the error in the L4_TA_AGENT_STATUS_L[8] REQ_TIMEOUT bit, and it also reports the error to the IA, which forwards it to the L3 interconnects.
After the time-out is detected and logged, the behavior of the attached module is ignored. A new request targeting the module arriving at the timed-out TA receives an error response. If the request is addressed to the agent internal registers, it is processed normally.
To recover from a time-out error, software is assumed to first reset the faulty module and then the TA using the L4_TA_AGENT_CONTROL_L[0] OCP_RESET bit.