Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Zephyr Project API 4.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
gicv3_its.h File Reference

Driver for ARM Generic Interrupt Controller V3 Interrupt Translation Service. More...

Go to the source code of this file.

Data Structures

struct  its_driver_api
 

Typedefs

typedef unsigned int(* its_api_alloc_intid_t) (const struct device *dev)
 
typedef int(* its_api_setup_deviceid_t) (const struct device *dev, uint32_t device_id, unsigned int nites)
 
typedef int(* its_api_map_intid_t) (const struct device *dev, uint32_t device_id, uint32_t event_id, unsigned int intid)
 
typedef int(* its_api_send_int_t) (const struct device *dev, uint32_t device_id, uint32_t event_id)
 
typedef uint32_t(* its_api_get_msi_addr_t) (const struct device *dev)
 

Functions

static int its_alloc_intid (const struct device *dev)
 
static int its_setup_deviceid (const struct device *dev, uint32_t device_id, unsigned int nites)
 
static int its_map_intid (const struct device *dev, uint32_t device_id, uint32_t event_id, unsigned int intid)
 
static int its_send_int (const struct device *dev, uint32_t device_id, uint32_t event_id)
 
static uint32_t its_get_msi_addr (const struct device *dev)
 

Detailed Description

Driver for ARM Generic Interrupt Controller V3 Interrupt Translation Service.

The Generic Interrupt Controller (GIC) Interrupt Translation Service translates an input EventID from a device, identified by its DeviceID, determines a corresponding INTID for this input and the target Redistributor and, through this, the target PE for that INTID.

Typedef Documentation

◆ its_api_alloc_intid_t

typedef unsigned int(* its_api_alloc_intid_t) (const struct device *dev)

◆ its_api_get_msi_addr_t

typedef uint32_t(* its_api_get_msi_addr_t) (const struct device *dev)

◆ its_api_map_intid_t

typedef int(* its_api_map_intid_t) (const struct device *dev, uint32_t device_id, uint32_t event_id, unsigned int intid)

◆ its_api_send_int_t

typedef int(* its_api_send_int_t) (const struct device *dev, uint32_t device_id, uint32_t event_id)

◆ its_api_setup_deviceid_t

typedef int(* its_api_setup_deviceid_t) (const struct device *dev, uint32_t device_id, unsigned int nites)

Function Documentation

◆ its_alloc_intid()

static int its_alloc_intid ( const struct device dev)
inlinestatic

◆ its_get_msi_addr()

static uint32_t its_get_msi_addr ( const struct device dev)
inlinestatic

◆ its_map_intid()

static int its_map_intid ( const struct device dev,
uint32_t  device_id,
uint32_t  event_id,
unsigned int  intid 
)
inlinestatic

◆ its_send_int()

static int its_send_int ( const struct device dev,
uint32_t  device_id,
uint32_t  event_id 
)
inlinestatic

◆ its_setup_deviceid()

static int its_setup_deviceid ( const struct device dev,
uint32_t  device_id,
unsigned int  nites 
)
inlinestatic