EGU — Event generator unit

Event generator unit (EGU) provides support for interlayer signaling. This means providing support for atomic triggering of both CPU execution and hardware tasks, from both firmware (by CPU) and hardware (by PPI). This feature can be used for triggering CPU execution at a lower priority execution from a higher priority execution, or to handle a peripheral's interrupt service routine (ISR) execution at a lower priority for some of its events. However, triggering any priority from any priority is possible.

Listed here are the main EGU features:

Each instance of EGU implements a set of tasks which can individually be triggered to generate the corresponding event. For example, the corresponding event for TASKS_TRIGGER[n] is EVENTS_TRIGGERED[n]. See Instances for a list of EGU instances.

Registers

Instances

InstanceDomainBase addressTrustZoneSplit accessDescription
MapAttDMA

EGU10 : S
EGU10 : NS

GLOBAL

0x50087000
0x40087000

USSNANo

Event generator unit EGU10

EGU20 : S
EGU20 : NS

GLOBAL

0x500C9000
0x400C9000

USSNANo

Event generator unit EGU20

Configuration

InstanceDomainConfiguration

EGU10 : S
EGU10 : NS

GLOBAL

16 events

EGU20 : S
EGU20 : NS

GLOBAL

6 events

Register overview

RegisterOffsetTZDescription
TASKS_TRIGGER[n]0x000

Trigger n for triggering the corresponding TRIGGERED[n] event

SUBSCRIBE_TRIGGER[n]0x080

Subscribe configuration for task TRIGGER[n]

EVENTS_TRIGGERED[n]0x100

Event number n generated by triggering the corresponding TRIGGER[n] task

PUBLISH_TRIGGERED[n]0x180

Publish configuration for event TRIGGERED[n]

INTEN0x300

Enable or disable interrupt

INTENSET0x304

Enable interrupt

INTENCLR0x308

Disable interrupt

TASKS_TRIGGER[n]

Address offset: 0x000 + (n × 0x4)

Trigger n for triggering the corresponding TRIGGERED[n] event

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_TRIGGER

Trigger n for triggering the corresponding TRIGGERED[n] event

Trigger

1

Trigger task

SUBSCRIBE_TRIGGER[n]

Address offset: 0x080 + (n × 0x4)

Subscribe configuration for task TRIGGER[n]

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that task TRIGGER[n] will subscribe to

B

RW

EN

Disabled

0

Disable subscription

Enabled

1

Enable subscription

EVENTS_TRIGGERED[n]

Address offset: 0x100 + (n × 0x4)

Event number n generated by triggering the corresponding TRIGGER[n] task

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_TRIGGERED

Event number n generated by triggering the corresponding TRIGGER[n] task

NotGenerated

0

Event not generated

Generated

1

Event generated

PUBLISH_TRIGGERED[n]

Address offset: 0x180 + (n × 0x4)

Publish configuration for event TRIGGERED[n]

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event TRIGGERED[n] will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

INTEN

Address offset: 0x300

Enable or disable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A-P

RW

TRIGGERED[i] (i=0..15)

Enable or disable interrupt for event TRIGGERED[i]

Disabled

0

Disable

Enabled

1

Enable

INTENSET

Address offset: 0x304

Enable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A-P

RW
W1S

TRIGGERED[i] (i=0..15)

Write '1' to enable interrupt for event TRIGGERED[i]

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

INTENCLR

Address offset: 0x308

Disable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A-P

RW
W1C

TRIGGERED[i] (i=0..15)

Write '1' to disable interrupt for event TRIGGERED[i]

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled