PMC-Sierra PM5358 S/UNI 4x622 Power Screwdriver User Manual


 
PM5358 S/UNI-4x622 Driver Manual
Software Architecture
Proprietary and Confidential to PMC-Sierra, Inc. 15
Document ID: PMC-2010419, Issue 1
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.2 Main 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