PM5358 S/UNI-4x622 Driver Manual

Hardware Interface

Polling a Bit: sysSuni4x622PollBit

This function simply polls a register masked data until it is zero or times out.

Format Prototype

Inputs

#define sysSuni4x622PollBit (base, offset, mask)

INT4 sysSuni4x622PollBit (void *base, UINT2 offset, UINT1 mask)

base

: base address of device being accessed

offset

: offset to the memory location as it

 

appears in the hardware data-sheet.

mask

: mask to apply to byte read

Outputs None

Returns Success = 0

Failure = <any other value>

5.2System-Specific Interrupt Servicing

The porting of interrupt servicing routines and tasks across platforms is a complex task. There are many different implementations of these hardware specific functions. In this driver, the user is responsible for:

Writing an interrupt handler (sysSuni4x622ISRHandler) that will be installed in the interrupt vector table of the system processor. This handler shall call suni4x622ISR for each device that has interrupt servicing enabled to perform the Interrupt-Service Routine (ISR) related activity required by each device

Writing the routine that installs the ISR handler in the vector table of the system processor and spawns the DPR task (sysSuni4x622ISRHandlerInstall)

Writing the routine that removes the ISR Handler from the vector table of the system processor and deletes/suspends the DPR task (sysSuni4x622ISRHandlerRemove)

Installing the ISR Handler: sysSuni4x622ISRHandlerInstall

This function installs the USER-supplied Interrupt-Service Routine (ISR), sysSuni4x622ISRHandler, into the processor’s interrupt vector table.

Format

#define sysSuni4x622ISRHandlerInstall()

Prototype

INT4 sysSuni4x622ISRHandlerInstall(void)

Inputs

None

Outputs

None

Returns

Success = 0

Proprietary and Confidential to PMC-Sierra, Inc.

109

Document ID: PMC-2010419, Issue 1

 

Page 109
Image 109
PMC-Sierra PM5358 S/UNI 4x622 manual System-Specific Interrupt Servicing, Polling a Bit sysSuni4x622PollBit, Outputs None