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 0x400C 8000
Description Semaphore 0
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 8004
Description Semaphore 1
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 8008
Description Semaphore 2
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 800C
Description Semaphore 3
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 8010
Description Semaphore 4
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 8014
Description Semaphore 5
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 8018
Description Semaphore 6
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 801C
Description Semaphore 7
Type RW
Bits Field Name Description Type Reset
31:1 RESERVED1 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b000 0000 0000 0000 0000 0000 0000 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 0x400C 8020
Description Sticky Request For Single Semaphore
Type RW
Bits Field Name Description Type Reset
31:3 RESERVED3 Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. RO 0b0 0000 0000 0000 0000 0000 0000 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 0b000