RM0453 Rev 1 373/1461
RM0453 Hardware semaphore (HSEM)
378
8.4.2 HSEM read lock register semaphore x (HSEM_RLRx)
Address offset: 0x080 + 0x004 * x (x = 0 to 15)
Reset value: 0x0000 0000
Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx must be used to perform
a 1-step read lock. Only read accesses with authorized AHB bus master IDs are granted.
Read accesses with unauthorized AHB bus master IDs are discarded and return 0.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LOCK Res. Res. Res. Res. Res. Res. Res. Res. Res. Res. Res. Res. Res. Res. Res.
r
1514131211109876543210
Res. Res. Res. Res. COREID[3:0] PROCID[7:0]
rrrrrrrrrrrr
Bit 31 LOCK: Lock indication
This bit is read only by software at this address.
- When the semaphore is free:
A read with a valid AHB bus master ID lock the semaphore and return 1.
- When the semaphore is locked:
A read with a valid AHB bus master ID return 1 (the COREID and PROCID reflect the
already locked semaphore information).
Bits 30:13 Reserved, must be kept at reset value.
Bit 12 Reserved, must be kept at reset value.
Bits 11:8 COREID[3:0]: Semaphore COREID
This field is read only by software at this address.
On a read, when the semaphore is free, the hardware sets the COREID to the AHB bus
master ID reading the semaphore. The COREID of the AHB bus master locking the
semaphore, is read.
On a read when the semaphore is locked, this field returns the COREID of the AHB bus
master that has locked the semaphore.
Bits 7:0 PROCID[7:0]: Semaphore processor ID
This field is read only by software at this address.
- On a read when the semaphore is free:
A read with a valid AHB bus master ID locks the semaphore and hardware sets the PROCID
to 0.
- When the semaphore is locked:
A read with a valid AHB bus master ID returns the PROCID of the AHB bus master that has
locked the semaphore.