## AUX_SMPH

Instance: AUX_SMPH
Component: AUX_SMPH
Base address: 0x400c8000

AUX Semaphore Controller

### TOP:AUX_SMPH Register Summary

Register Name | Type | Register Width (Bits) | Register Reset | Address Offset | Physical Address
SMPH0 | RW | 32 | 0x0000 0001 | 0x0000 0000 | 0x400C 8000
SMPH1 | RW | 32 | 0x0000 0001 | 0x0000 0004 | 0x400C 8004
SMPH2 | RW | 32 | 0x0000 0001 | 0x0000 0008 | 0x400C 8008
SMPH3 | RW | 32 | 0x0000 0001 | 0x0000 000C | 0x400C 800C
SMPH4 | RW | 32 | 0x0000 0001 | 0x0000 0010 | 0x400C 8010
SMPH5 | RW | 32 | 0x0000 0001 | 0x0000 0014 | 0x400C 8014
SMPH6 | RW | 32 | 0x0000 0001 | 0x0000 0018 | 0x400C 8018
SMPH7 | RW | 32 | 0x0000 0001 | 0x0000 001C | 0x400C 801C
AUTOTAKE | RW | 32 | 0x0000 0000 | 0x0000 0020 | 0x400C 8020

### TOP:AUX_SMPH Register Descriptions

### TOP:AUX_SMPH:SMPH0

Address offset | 0x0000 0000
Physical address | 0x400C 8000 | Instance | AUX_SMPH
Description | Semaphore 0
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH1

Address offset | 0x0000 0004
Physical address | 0x400C 8004 | Instance | AUX_SMPH
Description | Semaphore 1
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH2

Address offset | 0x0000 0008
Physical address | 0x400C 8008 | Instance | AUX_SMPH
Description | Semaphore 2
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH3

Address offset | 0x0000 000C
Physical address | 0x400C 800C | Instance | AUX_SMPH
Description | Semaphore 3
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH4

Address offset | 0x0000 0010
Physical address | 0x400C 8010 | Instance | AUX_SMPH
Description | Semaphore 4
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH5

Address offset | 0x0000 0014
Physical address | 0x400C 8014 | Instance | AUX_SMPH
Description | Semaphore 5
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH6

Address offset | 0x0000 0018
Physical address | 0x400C 8018 | Instance | AUX_SMPH
Description | Semaphore 6
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:SMPH7

Address offset | 0x0000 001C
Physical address | 0x400C 801C | Instance | AUX_SMPH
Description | Semaphore 7
Type | RW

Bits | Field Name | Description | Type | Reset
31:1 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
0 | STAT | Status when reading: 0: Semaphore was already taken 1: Semaphore was available and hence taken by this read access Reading the register causes it to change value to 0. Releasing the semaphore is done by writing 1 | RW | 1

### TOP:AUX_SMPH:AUTOTAKE

Address offset | 0x0000 0020
Physical address | 0x400C 8020 | Instance | AUX_SMPH
Description | Sticky Request For Single Semaphore
Type | RW

Bits | Field Name | Description | Type | Reset
31:3 | Reserved | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.(RO std text) | RO | 0x0000 0000
2:0 | SMPH_ID | Requesting a certain semaphore is done by writing the corresponding semaphore ID, 0x0-0x7, to SMPH_ID. The request is sticky and once the semaphore becomes available it will be taken. At the same time, SMPH_AUTOTAKE_DONE event is asserted. This event is deasserted when SW releases the semaphore or a new ID is written to SMPH_ID. Note: SW must wait until SMPH_AUTOTAKE_DONE event is triggered before writing a new ID to SMPH_ID . Failing to do so might lead to permanently lost semaphores as the owners may be unknown | RW | 0x0