APB Event Control

This APB peripheral device collects all the events which presented to the CPU as IRQ11 (Machine interrupt). Each event is individually maskable by the appropriate bit in the EVENT_MASKx register. When an enabled event (unmasked) is received it is placed in a event FIFO and the IRQ11 signal is presented to the CPU which can then read the EVENT FIFO to determine which event cause the interrupt. Each event has a queue of depth four to collect events if the queue for any event overflows an error is logged into the appropriate EVENT_ERR register and IRQ31 is presented to the CPU.

Features

  • bla

  • bla

  • bla

Theory of Operation

Programming Model

APB Event Control CSRs

APB_EVENTS offset = 0x000

Field

Bits

Type

Default

Description

apb_event

15:0

16-bits of software generated events

EVENT_MASK0 offset = 0x004

Field

Bits

Type

Default

Description

event_enable

31:00

0xFFFFFFFF

individual masks for events 0 - 31 1=mask event

EVENT_MASK1 offset = 0x008

Field

Bits

Type

Default

Description

event_enable

31:00

0xFFFFFFFF

individual masks for events 32 - 63 1=mask event

EVENT_MASK2 offset = 0x00C

Field

Bits

Type

Default

Description

event_enable

31:00

0xFFFFFFFF

individual masks for events 64 - 95 1=mask event

EVENT_MASK3 offset = 0x010

Field

Bits

Type

Default

Description

event_enable

31:00

0xFFFFFFFF

individual masks for events 96 - 127 1=mask event

EVENT_MASK4 offset = 0x014

Field

Bits

Type

Default

Description

event_enable

31:00

RW

0xFFFFFFFF

individual masks for events 127 - 159 1=mask event

EVENT_MASK5 offset = 0x018

Field

Bits

Type

Default

Description

event_enable

31:00

RW

0xFFFFFFFF

individual masks for events 160 - 191 1=mask event

EVENT_MASK6 offset = 0x01C

Field

Bits

Type

Default

Description

event_enable

31:00

RW

0xFFFFFFFF

individual masks for events 192 - 223 1=mask event

EVENT_MASK7 offset = 0x020

Field

Bits

Type

Default

Description

event_enable

31:00

RW

0xFFFFFFFF

individual masks for events 224 - 255 1=mask event

EVENT_ERR0 offset = 0x064

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 0 - 31

EVENT_ERR1 offset = 0x068

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 32 - 63

EVENT_ERR2 offset = 0x06C

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 64 - 95

EVENT_ERR3 offset = 0x070

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 96 - 127

EVENT_ERR4 offset = 0x074

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 128 - 159

EVENT_ERR5 offset = 0x078

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 160 - 191

EVENT_ERR6 offset = 0x07C

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 192 - 223

EVENT_ERR7 offset = 0x080

Field

Bits

Type

Default

Description

event_err

31:00

RW

0x0

individual error bits to indicate event queue overflow for events 224-255

TIMER_LO_EVENT offset = 0x0084

Field

Bits

Type

Default

Description

event

7:0

specifies which event should be routed to the lo timer

TIMER_HI_EVENT offset = 0x0088

Field

Bits

Type

Default

Description

event

7:0

specifies which event should be routed to the hi timer

EVENT_FIFO offset = 0x090

Field

Bits

Type

Default

Description

EVENT_ID

7:0

RO

ID of triggering event to be read by interrupt handler