PM5358 S/UNI-4x622 Driver Manual

Software Architecture

Initialize the device(s)

Perform diagnostic tests

Validate configuration information

Retrieve status and counts information

The driver API functions use the services of the other driver components to provide this system- level functionality to the application programmer.

The driver API also consists of callback routines that are used to notify the application of significant events that take place within the device(s) and module.

Real-Time OS Interface

The driver’s RTOS interface provides functions that let the driver use RTOS services. The driver requires the memory, interrupt, and preemption services from the RTOS. The RTOS interface functions perform the following tasks for the driver:

Allocate and de-allocate memory

Manage buffers for the ISR and the DPR

Enable and disable preemption

The RTOS interface also includes service callbacks. These are functions installed by the driver using RTOS service calls such as installing interrupts. These service callbacks are invoked when an interrupt occurs.

Note: You must modify RTOS interface code to suit your RTOS.

Hardware Interface

The hardware interface provides functions that read from and write to the device registers. The hardware interface also provides a template for an ISR that the driver calls when the device raises a hardware interrupt. You must modify this function based on the interrupt configuration of your system.

2.2Main Components

Figure 2 illustrates the top level architectural components of the S/UNI-4x622 device driver. This applies in both polled and interrupt driven operation. In polled operation the ISR is called periodically. In interrupt operation the interrupt directly triggers the ISR.

The driver includes eight main components:

Module and device(s) data-blocks

Interrupt-service routine

Deferred-processing routine

Proprietary and Confidential to PMC-Sierra, Inc.

15

Document ID: PMC-2010419, Issue 1

 

Page 15
Image 15
PMC-Sierra PM5358 S/UNI 4x622 manual Main Components, Real-Time OS Interface, Hardware Interface