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, for instance, 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

Table 1. Instances
Base address Peripheral Instance Secure mapping DMA security Description Configuration

0x5001B000
0x4001B000

EGU

EGU0 : S
EGU0 : NS

US

NA

Event generator unit 0

   

0x5001C000
0x4001C000

EGU

EGU1 : S
EGU1 : NS

US

NA

Event generator unit 1

   

0x5001D000
0x4001D000

EGU

EGU2 : S
EGU2 : NS

US

NA

Event generator unit 2

   

0x5001E000
0x4001E000

EGU

EGU3 : S
EGU3 : NS

US

NA

Event generator unit 3

   

0x5001F000
0x4001F000

EGU

EGU4 : S
EGU4 : NS

US

NA

Event generator unit 4

   

0x50020000
0x40020000

EGU

EGU5 : S
EGU5 : NS

US

NA

Event generator unit 5

   
Table 2. Register overview
Register Offset Security Description
TASKS_TRIGGER[0] 0x000  

Trigger 0 for triggering the corresponding TRIGGERED[0] event

 
TASKS_TRIGGER[1] 0x004  

Trigger 1 for triggering the corresponding TRIGGERED[1] event

 
TASKS_TRIGGER[2] 0x008  

Trigger 2 for triggering the corresponding TRIGGERED[2] event

 
TASKS_TRIGGER[3] 0x00C  

Trigger 3 for triggering the corresponding TRIGGERED[3] event

 
TASKS_TRIGGER[4] 0x010  

Trigger 4 for triggering the corresponding TRIGGERED[4] event

 
TASKS_TRIGGER[5] 0x014  

Trigger 5 for triggering the corresponding TRIGGERED[5] event

 
TASKS_TRIGGER[6] 0x018  

Trigger 6 for triggering the corresponding TRIGGERED[6] event

 
TASKS_TRIGGER[7] 0x01C  

Trigger 7 for triggering the corresponding TRIGGERED[7] event

 
TASKS_TRIGGER[8] 0x020  

Trigger 8 for triggering the corresponding TRIGGERED[8] event

 
TASKS_TRIGGER[9] 0x024  

Trigger 9 for triggering the corresponding TRIGGERED[9] event

 
TASKS_TRIGGER[10] 0x028  

Trigger 10 for triggering the corresponding TRIGGERED[10] event

 
TASKS_TRIGGER[11] 0x02C  

Trigger 11 for triggering the corresponding TRIGGERED[11] event

 
TASKS_TRIGGER[12] 0x030  

Trigger 12 for triggering the corresponding TRIGGERED[12] event

 
TASKS_TRIGGER[13] 0x034  

Trigger 13 for triggering the corresponding TRIGGERED[13] event

 
TASKS_TRIGGER[14] 0x038  

Trigger 14 for triggering the corresponding TRIGGERED[14] event

 
TASKS_TRIGGER[15] 0x03C  

Trigger 15 for triggering the corresponding TRIGGERED[15] event

 
SUBSCRIBE_TRIGGER[0] 0x080  

Subscribe configuration for task TRIGGER[0]

 
SUBSCRIBE_TRIGGER[1] 0x084  

Subscribe configuration for task TRIGGER[1]

 
SUBSCRIBE_TRIGGER[2] 0x088  

Subscribe configuration for task TRIGGER[2]

 
SUBSCRIBE_TRIGGER[3] 0x08C  

Subscribe configuration for task TRIGGER[3]

 
SUBSCRIBE_TRIGGER[4] 0x090  

Subscribe configuration for task TRIGGER[4]

 
SUBSCRIBE_TRIGGER[5] 0x094  

Subscribe configuration for task TRIGGER[5]

 
SUBSCRIBE_TRIGGER[6] 0x098  

Subscribe configuration for task TRIGGER[6]

 
SUBSCRIBE_TRIGGER[7] 0x09C  

Subscribe configuration for task TRIGGER[7]

 
SUBSCRIBE_TRIGGER[8] 0x0A0  

Subscribe configuration for task TRIGGER[8]

 
SUBSCRIBE_TRIGGER[9] 0x0A4  

Subscribe configuration for task TRIGGER[9]

 
SUBSCRIBE_TRIGGER[10] 0x0A8  

Subscribe configuration for task TRIGGER[10]

 
SUBSCRIBE_TRIGGER[11] 0x0AC  

Subscribe configuration for task TRIGGER[11]

 
SUBSCRIBE_TRIGGER[12] 0x0B0  

Subscribe configuration for task TRIGGER[12]

 
SUBSCRIBE_TRIGGER[13] 0x0B4  

Subscribe configuration for task TRIGGER[13]

 
SUBSCRIBE_TRIGGER[14] 0x0B8  

Subscribe configuration for task TRIGGER[14]

 
SUBSCRIBE_TRIGGER[15] 0x0BC  

Subscribe configuration for task TRIGGER[15]

 
EVENTS_TRIGGERED[0] 0x100  

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

 
EVENTS_TRIGGERED[1] 0x104  

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

 
EVENTS_TRIGGERED[2] 0x108  

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

 
EVENTS_TRIGGERED[3] 0x10C  

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

 
EVENTS_TRIGGERED[4] 0x110  

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

 
EVENTS_TRIGGERED[5] 0x114  

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

 
EVENTS_TRIGGERED[6] 0x118  

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

 
EVENTS_TRIGGERED[7] 0x11C  

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

 
EVENTS_TRIGGERED[8] 0x120  

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

 
EVENTS_TRIGGERED[9] 0x124  

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

 
EVENTS_TRIGGERED[10] 0x128  

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

 
EVENTS_TRIGGERED[11] 0x12C  

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

 
EVENTS_TRIGGERED[12] 0x130  

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

 
EVENTS_TRIGGERED[13] 0x134  

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

 
EVENTS_TRIGGERED[14] 0x138  

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

 
EVENTS_TRIGGERED[15] 0x13C  

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

 
PUBLISH_TRIGGERED[0] 0x180  

Publish configuration for event TRIGGERED[0]

 
PUBLISH_TRIGGERED[1] 0x184  

Publish configuration for event TRIGGERED[1]

 
PUBLISH_TRIGGERED[2] 0x188  

Publish configuration for event TRIGGERED[2]

 
PUBLISH_TRIGGERED[3] 0x18C  

Publish configuration for event TRIGGERED[3]

 
PUBLISH_TRIGGERED[4] 0x190  

Publish configuration for event TRIGGERED[4]

 
PUBLISH_TRIGGERED[5] 0x194  

Publish configuration for event TRIGGERED[5]

 
PUBLISH_TRIGGERED[6] 0x198  

Publish configuration for event TRIGGERED[6]

 
PUBLISH_TRIGGERED[7] 0x19C  

Publish configuration for event TRIGGERED[7]

 
PUBLISH_TRIGGERED[8] 0x1A0  

Publish configuration for event TRIGGERED[8]

 
PUBLISH_TRIGGERED[9] 0x1A4  

Publish configuration for event TRIGGERED[9]

 
PUBLISH_TRIGGERED[10] 0x1A8  

Publish configuration for event TRIGGERED[10]

 
PUBLISH_TRIGGERED[11] 0x1AC  

Publish configuration for event TRIGGERED[11]

 
PUBLISH_TRIGGERED[12] 0x1B0  

Publish configuration for event TRIGGERED[12]

 
PUBLISH_TRIGGERED[13] 0x1B4  

Publish configuration for event TRIGGERED[13]

 
PUBLISH_TRIGGERED[14] 0x1B8  

Publish configuration for event TRIGGERED[14]

 
PUBLISH_TRIGGERED[15] 0x1BC  

Publish configuration for event TRIGGERED[15]

 
INTEN 0x300  

Enable or disable interrupt

 
INTENSET 0x304  

Enable interrupt

 
INTENCLR 0x308  

Disable interrupt

 

TASKS_TRIGGER[n] (n=0..15)

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

Trigger n for triggering the corresponding TRIGGERED[n] event

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A W

TASKS_TRIGGER

   

Trigger n for triggering the corresponding TRIGGERED[n] event

     

Trigger

1

Trigger task

SUBSCRIBE_TRIGGER[n] (n=0..15)

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

Subscribe configuration for task TRIGGER[n]

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                                       A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A RW

CHIDX

 

[15..0]

Channel that task TRIGGER[n] will subscribe to

B RW

EN

     

     

Disabled

0

Disable subscription

     

Enabled

1

Enable subscription

EVENTS_TRIGGERED[n] (n=0..15)

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

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

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
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] (n=0..15)

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

Publish configuration for event TRIGGERED[n]

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                                       A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A RW

CHIDX

 

[15..0]

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 number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                 P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
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 number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                 P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A-P RW

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 number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                 P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A-P RW

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

Electrical specification

EGU Electrical Specification

Symbol Description Min. Typ. Max. Units
tEGU,EVT

Latency between setting an EGU event flag and the system setting an interrupt

1 cycles