PMC PM8315, PM5365, PM4328 User Manual

查询1991611供应商
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
PM8315, PM5365, PM4328
TEMUX/TEMAP/TECT3
T1/E1 FRAMER, VT/TU MAPPER, M12/M13 MUX
DRIVER MANUAL
R
ELEASE
SSUE 2: AUGUST, 2001
I
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use
Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
ABOUT THIS MANUAL AND TEMUX/TEMAP/TECT3
This manual describes the device driver for the TEMUX/TEMAP/TECT3 devices. Since the TEMAP and TECT3 devices contain a subset of the features provided by the TEMUX device, the same driver is used for all. Briefly the differences between the devices is as follows, please refer to the devices respective data sheets for more information.
Table 1: Device Differences
Device
TEMUX Yes Yes Yes Yes
TEMAP No Yes Yes Yes
TECT3 Yes No Yes No
This manual describes the driver’s functions, data structures, and architecture. It focuses on the driver’s interfaces to your application, Real-Time Operating System, and to the TEMUX/TEMAP/TECT3 device. It also describes in general terms how to modify and port the driver to your software and hardware platform.
28 T1, 21 E1 Framers
VT1.5/VT2/T U-11/TU-12 Sonet/SDH Mapping
M13 MUX with DS3 Framer
Sonet/SDH DS3 Mapper
Audience
This manual is written for people who need to:
· Evaluate and test the TEMUX/TEMAP/TECT3 devices
· Modify and add to the TEMUX/TEMAP/TECT3 driver’s functions
· Port the TEMUX/TEMAP/TECT3 driver to a particular platform.
References
For more information about the TEMUX/TEMAP/TECT3 driver, see the driver’s release notes. For more information about the TEMUX/TEMAP/TECT3 device, see the documents listed in the table below and any related errata documents.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 2 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Table 2: Related Documents
Document Number Document Name
PMC-1981411 TEMAP High Density VT/TU Mapper and M13 Multiplexer Short
Form Data Sheet
PMC-1981125 High Density T1/E1 Framer with Integrated VT/TU Mapper and M13
Multiplexer Telecom Standard Product Data Sheet
PMC-2011596 High Density T1/E1 Framer with Integrated M13 Multiplexer
Telecom Standard Product Datasheet
Note: Ensure that you use the document that PMC-Sierra issued for your version of the device and driver.
Revision History
Issue No. Issue Date Details of Change
Issue 1 February 2000 Document created
Issue 2 July 2001 Added documentation to support TEMAP and TECT3 devices.
Added more detail to porting section. Added init profile information and some missing API.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 3 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Legal Issues
None of the information contained in this document constitutes an express or implied warranty by PMC-Sierra, Inc. as to the sufficiency, fitness or suitability for a particular purpose of any such information or the fitness, or suitability for a particular purpose, merchantability, performance, compatibility with other parts or systems, of any of the products of PMC-Sierra, Inc., or any portion thereof, referred to in this document. PMC-Sierra, Inc. expressly disclaims all representations and warranties of any kind regarding the contents or use of the information, including, but not limited to, express and implied warranties of accuracy, completeness, merchantability, fitness for a particular use, or non-infringement.
In no event will PMC-Sierra, Inc. be liable for any direct, indirect, special, incidental or consequential damages, including, but not limited to, lost profits, lost business or lost data resulting from any use of or reliance upon the information, whether or not PMC-Sierra, Inc. has been advised of the possibility of such damage.
The information is proprietary and confidential to PMC-Sierra, Inc., and for its customers’ internal use. In any event, you cannot reproduce any part of this document, in any form, without the express written consent of PMC-Sierra, Inc.
© 2001 PMC-Sierra, Inc.
PMC-1991611 (P1), ref PMC-990551 (P1)
The technology discussed is protected by one or more of the following Patents:
U.S. Patent No. 5,835,545 5,973,977 5,343,482
Relevant patent applications and other patents may also exist.
Contacting PMC-Sierra
PMC-Sierra, Inc. 105-8555 Baxter Place Burnaby, BC Canada V5A 4V7
Tel: (604) 415-6000 Fax: (604) 415-6200
Document Information: document@pmc-sierra.com Corporate Information: info@pmc-sierra.com Technical Support: apps@pmc-sierra.com Web Site: http://www.pmc-sierra.com
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 4 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
TABLE OF CONTENTS
About this Manual and TEMUX/TEMAP/TECT3........................................................................... 2
Audience ..........................................................................................................................2
References.......................................................................................................................2
Revision History ...............................................................................................................3
Legal Issues .....................................................................................................................4
Contacting PMC-Sierra .................................................................................................... 4
Table of Contents ..........................................................................................................................5
List of Figures................................................................................................................................9
List of Tables ............................................................................................................................... 10
1 Introduction ............................................................................................................................12
2 Software Architecture.............................................................................................................13
2.1 Driver External Interfaces ..................................................................................................... 13
Application Programming Interface................................................................................ 13
Real-Time RTOS Interface............................................................................................. 14
Driver Hardware Interface.............................................................................................. 14
2.2 Main Components.................................................................................................................14
Module and Device Management .................................................................................. 15
Driver Library..................................................................................................................16
Interrupt Processing .......................................................................................................16
3 Software State Description.....................................................................................................18
3.1 Module States ....................................................................................................................... 18
Start: TMX_MOD_START .............................................................................................. 19
Idle: TMX_MOD_IDLE ................................................................................................... 19
Ready: TMX_MOD_READY .......................................................................................... 19
3.2 Device States........................................................................................................................19
Start: TMX_START ......................................................................................................... 19
Present: TMX_PRESENT ..............................................................................................20
Active: TMX_ACTIVE ..................................................................................................... 20
Inactive: TMX_INACTIVE............................................................................................... 20
3.3 Processing Flows .................................................................................................................20
Module Management .....................................................................................................20
Device Management ......................................................................................................21
3.4 Interrupt Servicing ................................................................................................................22
Calling temuxISR ........................................................................................................... 23
Calling temuxDPR .......................................................................................................... 23
3.5 Polling Servicing ...................................................................................................................24
4 Data Structures ......................................................................................................................26
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 5 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
4.1 Constants..............................................................................................................................26
4.2 Data Structures.....................................................................................................................26
4.3 Structures Passed by the Application ...................................................................................26
Module Initialization Vector ............................................................................................ 26
Device Initialization Vector............................................................................................. 27
Device Initialization Profile .............................................................................................28
Preset Profiles................................................................................................................29
Interrupt-Service Routine Mask Vector .......................................................................... 30
Mask Sub-structures ......................................................................................................30
Device Diagnostic Structures .........................................................................................36
4.4 Structures in the Driver’s Allocated Memory......................................................................... 37
Module Data Block ......................................................................................................... 37
Module Status Block.......................................................................................................38
Device Data Block.......................................................................................................... 38
Device Status Block .......................................................................................................40
DSB Sub-structures .......................................................................................................41
4.5 Global Variables....................................................................................................................43
4.6 Structures Passed through RTOS Buffers............................................................................ 43
Interrupt Status Vector....................................................................................................43
ISV Sub-structures .........................................................................................................44
Deferred-Processing Routine Vector .............................................................................48
5 Application Programming Interface........................................................................................ 49
5.1 Module Initialization .............................................................................................................. 49
Opening Modules: temuxModuleOpen ..........................................................................49
Closing Modules: temuxModuleClose............................................................................ 49
5.2 Module Activation .................................................................................................................50
Starting Modules: temuxModuleStart ............................................................................. 50
Stopping Modules: temuxModuleStop ...........................................................................50
5.3 Device Initialization ............................................................................................................... 51
Adding Devices: temuxAdd............................................................................................51
Deleting Devices: temuxDelete......................................................................................52
Initializing Devices: temuxInit ......................................................................................... 52
Resetting Devices: temuxReset.....................................................................................53
Deactivating Devices: temuxDeActivate ........................................................................ 53
Activating Devices: temuxActivate................................................................................. 54
Add Initialization Profile: temuxAddInitProfile ................................................................54
Get Initialization Profile: temuxGetInitProfile ................................................................. 55
Delete Initialization Profile: temuxDeleteInitProfile ........................................................ 55
Updating a device: temuxUpdate...................................................................................56
5.4 Device Reading and Writing .................................................................................................57
Reading Registers: temuxRead ..................................................................................... 57
Writing Registers: temuxWrite........................................................................................ 57
Reading Framer Registers: temuxReadFR.................................................................... 58
Writing Framer Registers: temuxWriteFR ...................................................................... 58
Reading DS2/MX12 Multiplexer Registers: temuxReadMX ..........................................59
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 6 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Writing DS2/MX12 Multiplexer Registers: temuxWriteMX .............................................60
Reading Indirect Registers: temuxReadInd ................................................................... 60
Writing Indirect Registers: temuxWriteInd...................................................................... 61
Reading from Register Blocks: temuxReadBlock .......................................................... 63
Writing to Register Blocks: temuxWriteBlock................................................................. 64
Reading Mapper Registers: temuxReadMapper (TEMUX/TEMAP only) ......................64
Writing Mapper Registers: temuxWriteMapper (TEMUX/TEMAP only) ......................... 65
DS3-HDLC Service: temuxLinkDataDS3 ....................................................................... 66
T1-HDLC Service: temuxLinkDataT1 (TEMUX/TECT3 Only)........................................66
5.5 Interrupt Service Functions................................................................................................... 67
Getting Mask Registers: temuxGetMask .......................................................................67
Setting Mask Registers: temuxSetMask ........................................................................ 68
Clearing Mask Registers: temuxClearMask................................................................... 68
Polling Interrupt Registers: temuxPoll............................................................................69
Interrupt Service: temuxISR...........................................................................................69
Interrupt Processing: temuxDPR ...................................................................................70
Configure ISR: temuxISRConfig .................................................................................... 70
5.6 Alarms, Status and Statistics Functions ............................................................................... 71
Retrieving Statistical Counts: temuxGetStats................................................................. 71
Clearing Statistical Counts: temuxClearStats................................................................. 71
5.7 Device Diagnostics ...............................................................................................................72
Clearing/Setting Mapper Loopbacks: temuxLoopMapper (TEMUX/TEMAP only) ........72
Clearing/Setting DS3 Devices Loopbacks: temuxLoopDS3 .......................................... 73
Clearing/Setting DS3 Bert Tests: temuxBertDS3........................................................... 73
Clearing or Setting Bert Framer: temuxBertFramer (TEMUX/TECT3 only)...................74
Clearing/Setting E1/T1 Framer Loopbacks: temuxLoopFramer (TEMUX/TECT3 only) 75
Clearing/Setting MX12 Devices Loopbacks: temuxLoopMX12 ..................................... 75
Clearing/Setting MX23 Devices Loopbacks: temuxLoopMX23 ..................................... 76
5.8 Callback Functions ............................................................................................................... 77
Reporting IO Events: sysTemuxCBackIO ......................................................................77
Reporting DS3 Events: sysTemuxCBackDS3................................................................ 77
Reporting Framer Events: sysTemuxCBackFramer ......................................................78
Reporting Mapper Events: sysTemuxCBackMapper (TEMUX/TEMAP only) ................ 78
6 Hardware Interface ................................................................................................................79
6.1 Platform Specific MACROs...................................................................................................79
Reading a Device Register: sysTemuxSafeRead ..........................................................79
Reading from Registers: sysTemuxReadReg................................................................ 79
Writing Register Values: sysTemuxWriteReg................................................................. 80
6.2 Interrupt Servicing ................................................................................................................80
General ISR Routines ....................................................................................................80
Installing Interrupt Handlers: sysTemuxISRHandlerInstall ............................................. 80
Invoking Interrupt Handlers: sysTemuxISRHandler .......................................................81
Removing Interrupt Handlers: sysTemuxISRHandlerRemove.......................................81
Installing DPRTask: sysTemuxDPRTaskInstall ..............................................................81
DPR Task: sysTemuxDPRTask ......................................................................................82
Removing DPRTask: sysTemuxDPRTaskRemove ........................................................ 82
7 RTOS Interface ......................................................................................................................83
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 7 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
7.1 Memory Allocation ................................................................................................................83
Allocating Memory: sysTemuxMemAlloc........................................................................ 83
Freeing Allocated Memory: sysTemuxMemFree............................................................ 83
7.2 Buffer Management ..............................................................................................................84
Starting Buffers: sysTemuxBufferStart............................................................................84
Getting DPV Buffers: sysTemuxDPVBufferGet.............................................................. 84
Getting ISV Buffers: sysTemuxISVBufferGet ................................................................. 85
Returning DPV Buffers: sysTemuxDPVBufferRtn ..........................................................85
Returning ISV Buffers: sysTemuxISVBufferRtn .............................................................85
Sending an ISV buffer to the DPR task: sysTemuxBufferSend .....................................85
Receiving an ISV buffer: sysTemuxBufferReceive.........................................................86
Stopping ISV/DPV Buffers: sysTemuxBufferStop ..........................................................86
8 Porting Drivers .......................................................................................................................87
8.1 Driver Source Files ............................................................................................................... 87
8.2 Driver Porting Procedures ....................................................................................................88
Step 1: Porting Driver RTOS Extensions .......................................................................88
Step 2: Porting Drivers to Hardware Platforms .............................................................. 90
Step 3: Porting Driver Application-Specific Elements..................................................... 90
Step 4: Building the Driver .............................................................................................91
Appendix A: Coding Conventions ............................................................................................... 92
Variable Type Definitions................................................................................................ 92
Naming Conventions...................................................................................................... 93
Macros ...........................................................................................................................93
Constants .......................................................................................................................94
Structures.......................................................................................................................94
Functions........................................................................................................................ 94
API Functions ................................................................................................................. 94
Porting Functions ...........................................................................................................94
Other Functions.............................................................................................................. 95
Variables.........................................................................................................................95
Appendix B: TEMUX/TECT3/TEMAP Error Codes.....................................................................96
Acronyms 98
List of Terms..............................................................................................................................100
Index 101
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 8 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
LIST OF FIGURES
Figure 1: Driver Interfaces................................................................................................. 13
Figure 2: Driver Architecture ............................................................................................. 15
Figure 3: State Diagram .................................................................................................... 18
Figure 4: Module Management Flow Diagram.................................................................. 21
Figure 5: Device Management Flow Diagram .................................................................. 22
Figure 6: Interrupt Service Model...................................................................................... 23
Figure 7: Polling Service Model ........................................................................................ 24
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 9 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
LIST OF TABLES
Table 1: Device Differences................................................................................................ 2
Table 2: Related Documents .............................................................................................. 3
Table 4: Module Initialization Vector: sTMX_MIV ............................................................. 27
Table 5: Device Initialization Vector: sTMX_DIV ..............................................................27
Table 6: Device Initialization Profile: sTMX_INIT_PROF.................................................. 28
Table 7: Preset Profiles: temuxInit .................................................................................... 29
Table 8: ISR Mask Vector: sTMX_MASK ......................................................................... 30
Table 9: IO Section Masks: struct tmx_mask_io............................................................... 30
Table 10: DS3 Section Masks: struct tmx_mask_ds3 ...................................................... 31
Table 11: MUX Section Masks: struct tmx_mask_mux .................................................... 31
Table 12: Framer Section Masks: struct tmx_mask_framer ............................................. 32
Table 13: Mapper Section Masks: struct tmx_mask_mapper (not
valid in TECT3 device).............................................................................................. 35
Table 14: PRGD configuration: sTMX_PRGD ..................................................................36
Table 15: PRBS configuration: sTMX_PRBS ................................................................... 36
Table 16: Module Data Block: sTMX_MDB ...................................................................... 37
Table 17: Module Status Block: sTMX_MSB .................................................................... 38
Table 18: Device Data Block: sTMX_DDB........................................................................ 39
Table 19: Device Status Block: sTMX_DSB ..................................................................... 40
Table 20: IO Section Status Block: struct tmx_dsb_io...................................................... 41
Table 21: DS3 Section Status Block: struct tmx_dsb_ds3................................................ 41
Table 22: MUX Section Status Block: struct tmx_dsb_mux............................................. 42
Table 23: Framer Section Status Block: struct tmx_dsb_framer ......................................42
Table 24: Mapper Section Status Block: struct tmx_dsb_mapper
(Not valid in TECT3) ................................................................................................. 42
Table 25: ISR Status Vector: sTMX_ISV ..........................................................................43
Table 26: IO Section ISR Status Vector: struct tmx_isv_io............................................... 44
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 10 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Table 27: DS3 Section ISR Status Vector: struct tmx_isv_ds3 ........................................ 45
Table 28: MUX Section ISR Status Vector: struct tmx_isv_mux ...................................... 45
Table 29: Framer Section ISR Status Vector: struct
tmx_isv_framer.......................................................................................................... 45
Table 30: Mapper Section ISR Status Vector: struct
tmx_isv_mapper ........................................................................................................ 47
Table 31: Deferred-Processing Vector: sTMX_DPV......................................................... 48
Table 32: Table of Parameters: temuxReadInd ................................................................ 61
Table 33: Table of Parameters: temuxWriteInd ................................................................ 63
Table 34: Driver Source Files ........................................................................................... 87
Table 35: Variable Type Definitions .................................................................................. 92
Table 36: Naming Conventions......................................................................................... 93
Table 37: TEMUX/TECT3/TEMAP Error Codes ............................................................... 96
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 11 Document ID: PMC-1991611, Issue 2
1 INTRODUCTION
The following sections of the TEMUX/TEMAP/TECT3 driver manual describe the TEMUX/TEMAP/TECT3 device driver. The code provided throughout this document is written in the ANSI C language. This has been done to promote greater driver portability to other embedded hardware and Real-Time Operating System environments.
This driver can be used for the TEMUX/TEMAP/TECT3 devices. See Table 1 for a brief description of the differences between these devices. To properly support the TEMAP device, use the compile switch DEV_IS_TEMAP during compilation. To properly support the TECT3 device, use the compile switch DEV_IS_TECT3 during compilation.
Section 2 of this document, Software Architecture, defines the software architecture of the TEMUX/TEMAP/TECT3 device driver by including a discussion of the driver’s external interfaces and its main components. The Data Structure information in Section 4 describes the elements of the driver that either configure or control its behavior. Included here are the constants, variables, and structures that the TEMUX/TEMAP/TECT3 device driver uses to store initialization, configuration, and status information. Section 5 provides a detailed description of each function that is a member of the TEMUX/TEMAP/TECT3 driver Application Programming Interface (API). This section outlines: (1) function calls that hide device-specific details and (2) application callbacks that notify the user of significant device events.
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Introduction
For your convenience, this manual provides a brief guide to porting the TEMUX/TEMAP/TECT3 device driver to your hardware and RTOS platform (page 87). In addition, an Appendix (beginning on page 92) and Index (page 101), provide you with useful reference information.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 12 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
2 SOFTWARE ARCHITECTURE
This section describes the software architecture of the TEMUX/TEMAP/TECT3 device driver. This includes a discussion of the driver’s external interfaces and its main components.
2.1 Driver External Interfaces
Figure 1 illustrates the external interfaces defined for the TEMUX/TEMAP/TECT3 device driver.
Figure 1: Driver Interfaces
Application
Software Architecture
Function Calls Application Callbacks
Service Callbacks
TEMUX/TEMAP/TECT3
Device Driver
Hardware Interrupts
TEMUX/TEMAP/TECT3 Devices
Register
Accesses
Service Calls
RTOS
Application Programming Interface
The driver’s API is a collection of high level functions that can be called by application programmers to configure, control, and monitor the TEMUX/TEMAP/TECT3 device, such as:
· Initializing the device
· Validating device configuration
· Retrieving device status and statistics information.
· Diagnosing the device
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 13 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software Architecture
The driver API functions use the driver library functions as building blocks to provide this system level functionality to the application programmer. The driver API also consists of callback functions that notify the application of significant events that take place within the device.
Real-Time RTOS Interface
The driver’s RTOS interface module provides functions that let the driver use RTOS services. The RTOS interface functions perform the following tasks for the TEMUX/TEMAP/TECT3 driver:
· Allocate and de-allocate memory
· Manage buffers for the ISR and DPR
· Timer management
· Synchronization management
· Task management
You must modify the RTOS interface code to suit your RTOS environment.
Driver Hardware Interface
The TEMUX/TEMAP/TECT3 hardware interface provides functions that read from and write to 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 TEMUX/TEMAP/TECT3 device driver. This applies to 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 five main modules:
· Module and Device management
· Driver API
· Driver library
· Interrupt processing
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 14 Document ID: PMC-1991611, Issue 2
Figure 2: Driver Architecture
A
A
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software Architecture
Indication Callbacks
Interrupt
Context
Deferred
Processing
Routine
Interrupt
Servicing
Routine
Hardware Interrupts
pplication
Driver API
Module/Device
Data Block
Hardware Interface
Function
Calls
Driver
Library
Functions
R T
Service
O
Callbacks
S I n t e
Service
r
Callbacks
f a c e
TEMUX/TEMAP/TECT3
DRIVER
Register
ccess
R T O S
TEMUX/TEMAP/TECT3 Device
Module and Device Management
Module Data Block (MDB)
The Module Data Block (MDB) and Module Status Block (MSB) are the top layer data structures, created by the TEMUX/TEMAP/TECT3 device driver to keep track of its initialization and operating parameters, modes and dynamic data. The MDB is allocated via an RTOS call, when the driver is first initialized and contains the MSB and all the Device Structures.
Device Data Block (DDB)
The Device Data Block (DDB) is contained in the MDB and is allocated when the module is opened. The DDB contains context and status information for each TEMUX/TEMAP/TECT3 device that the driver manages. It is initialized when a device is added to the module.
The DDB stores context information about the TEMUX/TEMAP/TECT3 device, such as:
· Device state
· Control information
· Initialization vector
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 15 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software Architecture
· Callback function pointers
· Statistical counts
Driver API
The driver API consists of functions used to configure and monitor the various subsystems in the TEMUX/TEMAP/TECT3 device. The API functions are divided into following sections:
Alarms, Status, and Statistics Section
This section is responsible for monitoring alarms, tracking devices status information and retrieving performance and error statistics for each device registered with (added to) the driver.
Diagnostics Section
This section is responsible for providing access to the diagnostic capabilities of the TEMUX/TEMAP/TECT3 devices. Functions are provided to various loopback modes and to test register accesses.
Device Read/Write Section
This section provides read/write access functions to the various sub-blocks of the TEMUX/TEMAP/TECT3 devices. Functions are provided to write to the T1/E1 framer block, SONET/SDH Mapper block, and the DS3 Mux/Demux block. Functions are also provided to read a block of registers and access the indirect registers.
Driver Library
The driver library module is a collection of low-level utility functions that manipulate the device registers and the contents of the driver’s DDB. The driver library functions serve as building blocks for higher level functions that constitute the driver API module. Application software does not normally call the driver library functions.
Interrupt Processing
The TEMUX/TEMAP/TECT3 driver provides an ISR called temuxISR that checks if there are any valid interrupt conditions present for the device. This function can be used by a system-specific interrupt-handler function to service interrupts raised by the device. Its main purpose is to collect information about the current interrupt condition of the device and pass this information along to the Deferred-Processing Routine for actual processing.
The low-level interrupt-handler function that traps the hardware interrupt and calls system and RTOS dependent. Therefore, it is outside the scope of the driver. Example implementations of an interrupt handler and functions that install and remove it are provided as a reference on page 69. You can customize these example implementations to suit your specific needs.
temuxISR is
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 16 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software Architecture
Deferred-Processing Routine Module
The DPR provided by the driver (temuxDPR) clears and processes interrupt conditions for the device. Typically, a system specific function, which runs as a separate task within the RTOS, executes the DPR.
See page 22 for a detailed explanation of the DPR and interrupt-servicing model.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 17 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
3 SOFTWARE STATE DESCRIPTION
Figure 3 shows the software state diagrams for the TEMUX/TEMAP/TECT3 module and device(s) as maintained by the driver
Figure 3: State Diagram
temuxModuleOpen
Software State Description
Idle
temuxModuleStart
MODULE STATES
temuxModuleClose
temuxModuleStop
Ready
Start
temuxModuleClose
temuxAdd temuxDelete
temuxReset
Inactive
Start
Present
temuxReset
temuxInit
temuxActivate
Active
temuxDeActivate
PER-DEVICE STATES
State transitions are made on the successful execution of the corresponding transition routines shown. State information helps maintain the integrity of the MDB and the DDB(s) by controlling the set of operations that are allowed in each state.
3.1 Module States
The following is a description of the TEMUX/TEMAP/TECT3 driver module states.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 18 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software State Description
Start: TMX_MOD_START
The TEMUX/TEMAP/TECT3 driver module has not been initialized. The only API function that will be accepted in this state is
temuxModuleOpen. In this state the driver does not hold any
RTOS resources (memory, timers, etc), has no running tasks, and performs no actions.
Idle: TMX_MOD_IDLE
The TEMUX/TEMAP/TECT3 driver module has been initialized successfully via the API function
temuxModuleOpen. The Module Initialization Vector (MIV) has been validated, the
Module Data Block (MDB) has been allocated and loaded with current data, the per-device data structures have been allocated, and the RTOS has responded without error to all the requests sent to it by the driver. The only API functions that will be accepted in this state are
temuxModuleStart and temuxModuleClose.
Ready: TMX_MOD_READY
This is the normal operating state for the driver module. This means that the RTOS resources have been allocated and the driver is ready for devices to be added. In order to get to this state, the API function allocating all of the RTOS resources necessary for the proper operation of the module and the devices). The API functions accepted here for module control are
temuxModuleClose. The driver module remains in this state while devices are in operation.
Devices can be added via
temuxModuleStart is called (this function is responsible for creating and/or
temuxModuleStop and
temuxAdd.
3.2 Device States
Once the driver module has progressed into the READY state, the user can begin to add individual devices into operation. The driver module remains in the READY state while devices are in operation. Devices can be added via
temuxModuleClose are always available in this state (and therefore not mentioned below)
and and if used, will cause each and every device (that is not in the START state) to be deleted, before that module function is fully executed.
The following is a description of the TEMUX/TEMAP/TECT3 driver device states:
Start: TMX_START
The TEMUX/TEMAP/TECT3 driver device has not been initialized. The only API function that will be accepted in this state is performs no actions. There is a separate flow for each device that can be added and they all start here.
temuxAdd. The module functions temuxModuleStop
temuxAdd. In this state, the device is unknown by the driver and
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 19 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software State Description
Present: TMX_PRESENT
This device state is a quiet state for the device. In order to get to this state, the API needs to be called by one of two functions:
temuxAdd: Responsible for verifying the presence of the device and for initializing the data
·
structures associated with this device.
·
temuxReset: De-activates the device and restores the device’s data structures to the
initialized condition.
In this state, devices can be initialized via
Active: TMX_ACTIVE
This is the normal operating state for the device(s). State changes can be initiated from the active state via
temuxDelete, temuxDeActivate and temuxReset.
Inactive: TMX_INACTIVE
This state is entered via the temuxDeActivate or temuxInit function calls. In this state the device remains configured but all data functions are de-activated including interrupts and status, alarms, and counter functions.
temuxReset or temuxDelete will de-configure the device.
3.3 Processing Flows
The flow diagrams presented here illustrate the sequence of operations that take place for different driver functions. The diagrams also serve as a guide to the application programmer by illustrating the sequence in which the application must invoke the driver API.
temuxInit or deleted via temuxDelete.
temuxActivate will return the device to the active state, while
Module Management
The following flow diagram illustrates the typical function call sequences that occur when initializing or shutting down the TEMUX/TEMAP/TECT3 driver module.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 20 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Figure 4: Module Management Flow Diagram
Software State Description
temuxModuleOpen
temuxModuleSt art
temuxModuleSt op
temuxModuleCl ose
START
END
Perfor ms modul e level ini tial ization of the TEMUX driver. Vali dates the Module Ini tial ization Vector (MIV). All ocates memory for t he MDB and all it s component s (i .e. al l the memory needed by the dri ver) and then ini tiali zes the content s of the MDB with t he validat ed MI V.
Perfor ms modul e level startup of the driver. This i nvolves al locati ng RTOS resources such as semaphores and ti mer s.
Perfor m all device l evel functi ons here (add, ini t, activate, de-act ivate, reset , del ete)
Perfor ms Modul e level shutdown of t he TEMUX driver. Thi s involves delet ing all devi ces current ly inst alled and de-allocati ng all t imers and semaphores as well as removing the ISR handler and DPR task.
Perfor ms modul e level shutdown of the dri ver. Delet es all devices currentl y
regi stered wit h the dr iver and de-all ocates all t he dri ver's memory.
Device Management
The following figure shows the functions and process that the driver uses to add, initialize, re­initialize, or delete devices.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 21 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
A
Figure 5: Device Management Flow Diagram
Software State Description
temuxActivate
temuxReset
temuxDeactivate
temuxReset
START
temuxAdd
temuxInit
performs a register readback test, allocates memory for storing device context information, and applies a software reset to the device (using temuxReset).
Initializes the device based on an initialization vector provided by the application. The initialization vector is validated by the application and stored by the driver as part of device context information. The device registers are then configured accordingly.
Prepares the device for normal operation by enabling interrupts and other global enables. The device is now operational and all other APIs can be invoked.
Deactivates the device; and resets the device’s context, which enables the application to once again initialize the device.
De-activates the device and removes it from normal operation. This involves disabling the device interrupts and other global enables, such as links.
pplies a software reset to the device to put it in its default startup state.
Removes the device from the list of devices being controlled by the
temuxDelete
END
TEMUX driver. This function clears the device context information for the device being deleted.
3.4 Interrupt Servicing
The TEMUX/TEMAP/TECT3 driver services device interrupts using an Interrupt-Service Routine (ISR) that traps interrupts and a deferred interrupt-processing routine (DPR) that actually processes the interrupt conditions. This lets the ISR execute quickly and exit. Most of the time-consuming processing of the interrupt conditions is deferred to the DPR by queuing the necessary interrupt-context information to the DPR task. The DPR function runs in the context of a separate task within the RTOS.
Note: Since the DPR task processes potentially serious interrupt conditions, you should set the DPR task’s priority higher than the application task interacting with the TEMUX/TEMAP/TECT3 driver.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 22 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software State Description
The driver provides system-independent functions, temuxISR and temuxDPR. You must fill in the corresponding system-specific functions,
sysTemuxISRHandler and sysTemuxDPRTask.
The system-specific functions isolate the system-specific communication mechanism (between the ISR and DPR) from the system-independent functions,
temuxISR and temuxDPR.
Figure 6 illustrates the interrupt service model used in the TEMUX/TEMAP/TECT3 driver design.
Figure 6: Interrupt Service Model
sysTemuxISRHandler
temuxISR
Interrupt
Status
sysTemuxDPRTask
temuxDPR
Indication Callbacks
Application
Note: Instead of using an interrupt service model, you can use a polling service model in the TEMUX/TEMAP/TECT3 driver to process the device’s event-indication registers.
Calling temuxISR
An interrupt handler function, which is system dependent, must call temuxISR. But first, the low-level interrupt-handler function must trap the device interrupts. You must implement this function for your system.
The interrupt handler that you implement ( vector table of the system processor. Then it is called when one or more TEMUX/TEMAP/TECT3 devices interrupt the processor. The interrupt handler then calls
temuxISR for each device in the active state that requires service.
The
temuxISR function reads from the master interrupt-status registers and the miscellaneous
interrupt-status registers of the TEMUX/TEMAP/TECT3. Then status information if valid status bits are set. The turn clears the initial cause of the interrupt. The message to the DPR task (for each device that requested service) which contains the valid interrupt status bits and the device’s context handle.
sysTemuxISRHandler) is installed in the interrupt
temuxISR returns with this
temuxISR also clears those status bits, which in
sysTemuxISRHandler function then sends a
Note: Normally you should pass the status information for deferred interrupt processing by implementing a message queue.
Calling temuxDPR
The sysTemuxDPRTask function is a system specific function that runs as a separate task within the RTOS. You should set the DPR task’s priority higher than the application task(s) interacting with the TEMUX/TEMAP/TECT3 driver. In the message-queue implementation model, this task has an associated message queue. The task waits for messages from the ISR on this message queue. When a message arrives,
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 23 Document ID: PMC-1991611, Issue 2
sysTemuxDPRTask calls the DPR (temuxDPR).
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software State Description
Then temuxDPR processes the status information and takes appropriate action based on the specific interrupt condition detected. The nature of this processing can differ from system to system. Therefore,
temuxDPR calls different indication callbacks for different interrupt
conditions.
Typically, you should implement these callback functions as simple message posting functions that post messages to an application task. However, you can implement the indication callback to perform processing within the DPR task context and return without sending any messages. In this case, ensure that the indication function does not call any API functions that change the driver’s state, such as
temuxDelete. Also, ensure that the indication function is non-blocking. You can
customize these callbacks to suit your system.
Note: Since the
temuxISR and temuxDPR routines themselves do not specify a communication
mechanism, you have full flexibility in choosing a communication mechanism between the two. A convenient way to implement this communication mechanism is to use a message queue, which is a service that most RTOSs provide.
You must implement the two system specific functions,
sysTemuxDPRTask. When the driver calls sysTemuxISRHandlerInstall for the first time,
the driver installs
sysTemuxDPRTask function is spawned as a task when sysTemuxDPRTaskInstall is called.
sysTemuxISRHandlerInstall function also creates the communication channel between
The
sysTemuxISRHandler and sysTemuxDPRTask. This communication channel is most
sysTemuxISRHandler in the interrupt vector table of the processor. The
commonly a message queue associated with the
Similarly, during removal of interrupts, the driver removes microprocessor’s interrupt vector table when
As a reference, this manual provides example implementations of the interrupt installation and removal functions on page 81. You can customize these prototypes to suit your specific needs.
3.5 Polling Servicing
sysTemuxISRHandler and
sysTemuxDPRTask.
sysTemuxISRHandler from the
sysTemuxDPRTaskRemove is called.
Instead of using an interrupt service model, you can use a polling service model in the TEMUX/TEMAP/TECT3 driver to process the device’s event-indication registers.
Figure 7 illustrates the polling service model used in the TEMUX/TEMAP/TECT3 driver design.
Figure 7: Polling Service Model
Indication Callbacks
temuxDPR
Application
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 24 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Software State Description
The polling service code includes some system specific code (prefixed by “sysTemux”), which typically you must implement for your application. The polling service code also includes some system independent code (prefixed by “
temux”) provided by the driver that does not change from
system to system.
In polling mode,
sysTemuxISRHandler and temuxISR are not used. When temuxPoll is
called, the message normally sent to the DPR is now passed internally.
The nature of this processing can differ from system to system. Therefore, the DPR calls different indication callbacks for different interrupt conditions. You can customize these callbacks to fit your application’s specific requirements. See page 75 for a description of these callback functions.
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 25 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
4 DATA STRUCTURES
4.1 Constants
The file temux.h defines the lowest level (compile time) items, generally those that are needed by any application code in order to interface with the driver. All source and header files include this file. The compile constants are defined in the file etc.
Data Structures
temux.h as UINT1, UINT2, UINT4,
The file
tmx_api.h defines the set of (run time) items needed to interface directly with the core
API functions. The following constants are defined in the file
·
TMX_MAX_DEVICES: defines the maximum number of devices that can be supported by this
driver. This constant must not be changed without a thorough analysis of the consequences to the driver code
· <
TEMUX ERROR CODES>: error codes used throughout the driver code, returned by the API
functions and (when
TMX_FAIL is returned to a function’s caller) used in the global error
number field of the MDB or DDB
·
sTMX_MIV: structure passed by the application into the temuxModuleOpen function call.
·
sTMX_DIV: structure passed by the application into the temuxAdd function call.
The remaining files should only be needed for extended interfaces that make use of the internal structures or functions of the driver.
4.2 Data Structures
The following are the main data structures employed by the TEMUX/TEMAP/TECT3 driver.
tmx_api.h.
4.3 Structures Passed by the Application
These structures are defined for use by the application and are passed by reference to functions within the driver.
Module Initialization Vector
Passed via the temuxModuleOpen call, this structure contains all the information needed by the driver to initialize the module. Special or unusual fields are described first:
·
pMDB: can be used by the application to pass the address of a pre-allocated MDB. If pMDB is
NULL, the driver will allocate sufficient memory to hold the MDB and return its address in
pMDB field.
the
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 26 Document ID: PMC-1991611, Issue 2
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Data Structures
· maxDevs: is used to inform the driver how many devices will be operating concurrently
during this session. The number is used to calculate the amount of memory that will be allocated to the driver. The maximum value that can be passed is
TMX_MAX_DEVICES.
Table 3: Module Initialization Vector: sTMX_MIV
Field Name Field Type Field Description
autoStart UINT2
pMDB void *
maxDevs UINT2
indicates to driver to start the module when opened
(pointer to) pre-allocated or (if NULL) returned MDB
number of devices that must be supported for this session
Device Initialization Vector
Passed via the temuxAdd call, this structure contains all the information needed by the driver to initialize a TEMUX/TEMAP/TECT3 device. Special or unusual fields are described first:
·
pDDB can be used by the application to pass the address of a pre-allocated DDB. If pDDB is
NULL, the driver will allocate sufficient memory to hold the DDB and return its address in the
pDDB field.
·
baseAddress: must contain the hardware base address of the device.
·
usrCtxt: this field is strictly a user field. The value passed into the function via this element
will be stored in the DDB and passed back to the application during DPR processing. The user might use it to identify ‘this’ device or point to some data related to this device.
·
autoInit: is a flag that tells the driver to automatically initialize the device being added
(calling the device left uninitialized, and the application will have to call temuxInit at a later time.
temuxInit internally does this). If the flag is zero, the DDB will be initialized and
profileNum: is used only when autoInit is set and indicates which mode the device should
·
be initialized into. The function of this element is the same as the profileNum argument to the function temuxInit. A value of zero indicates that during initialization, after the device is reset, all registers should remain unchanged (in their initial state).
cbackIO, cbackDS3, cbackFramer, cbackMapper: Passes the addresses of
·
application functions used by the DPR to inform the application code of pending events. If the user sets the element to NULL, then any events that might cause the DPR to ‘call back’ to the application will be processed during ISR processing but ignored by the DPR.
Table 4: Device Initialization Vector: sTMX_DIV
Field Name Field Type Field Description
pDDB void *
baseAddress UINT1 *
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 27 Document ID: PMC-1991611, Issue 2
(pointer to) pre-allocated or (if NULL) returned DDB
device base address
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Field Name Field Type Field Description
Data Structures
usrCtxt void *
a user-supplied value that is returned in callback functions
autoInit UINT2
profileNum UINT2
if non-zero, temuxInit is called internally
profile number to be used for initialization. A profile number of zero indicates that the driver should leave all the device registers unchanged after reset
modeISR TMX_ISR_MODE
cbackIO void *
cbackDS3 void *
cbackFramer void *
cbackMapper void *
indicates the type of ISR/polling to do
address of the callback function for IO Events
address of the callback function for DS3 Events
address of the callback function for Framer Events
address of the callback function for Mapper Events (not valid in TECT3)
Device Initialization Profile
The device initialization profile is used to initialize the TEMUX/TEMAP/TECT3 device to a specific operating mode. It is used by the profile manipulation functions
temuxGetInitProfile, etc.) and temuxInit. Important fields are given below.
(
Table 5: Device Initialization Profile: sTMX_INIT_PROF
Field Name Field Type Field Description
lineopt UINT2
sysopt UINT2
opmode UINT2
e1Mode BOOLEAN
autoActivate BOOLEAN
lineopt can be one of the following:
TMX_LINEOPT_LIU_DS3 : DS3 Mux with serial LIU interface
·
·
TMX_LINEOPT_SDH_DS3: DS3 Mux with DS3 SONET/SDH Mapper (Not valid in TECT3)
TMX_LINEOPT_SDH_E1T1: E1/T1 Mapper
·
sysopt can be one of the following:
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 28 Document ID: PMC-1991611, Issue 2
Line side configuration options
System side configuration options
Operation mode
Set device to E1 mode
Activates the device for operation
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Data Structures
· TMX_SYSOPT_CDATA: Serial Clock/Data Interface
·
TMX_SYSOPT_MVIP: H-MVIP interface (not valid in TEMAP)
·
TMX_SYSOPT_SBI: SBI Interface
TMX_SYSOPT_SBI_CCS: SBI with CAS or CCS H-MVIP (not valid in TEMAP)
·
·
TMX_SYSOPT_CDATA_CCS: Serial Clock/Data with CCS H-MVIP (not valid in TEMAP)
opmode can be one of the following:
·
TMX_OPMODE_FRAMER: High Density Framer Mode (not valid in TEMAP)
·
TMX_OPMODE_MAPPER: Mapper/Multiplexor Mode (not valid in TECT3)
·
TMX_OPMODE_TRANSMUX: TransMux mode (not valid in TECT3)
·
TMX_OPMODE_DS3_ONLY: DS3 Framer Only
Preset Profiles
There are 8 preset profiles (indexed 0-7) that can be used to initialize the device during the call to
temuxInit. They are set to the values shown in Table 6.
Table 6: Preset Profiles: temuxInit
Profile
lineopt sysopt opmode e1Mode
Number
0 TMX_LINEOPT_LIU_
DS3
1 TMX_LINEOPT_SDH_
E1T1
2 TMX_LINEOPT_SDH_
E1T1
3 TMX_LINEOPT_SDH_
E1T1
4 TMX_LINEOPT_LIU_
DS3
5 TMX_LINEOPT_LIU_
DS3
6 TMX_LINEOPT_LIU_
DS3
TMX_SYSOPT_ SBI
TMX_SYSOPT_ CDATA
TMX_SYSOPT_ MVIP
TMX_SYSOPT_ SBI
TMX_SYSOPT_ CDATA
TMX_SYSOPT_ CDATA
TMX_SYSOPT_ CDATA
TMX_OPMODE_FRAMER FALSE
TMX_OPMODE_FRAMER TRUE
TMX_OPMODE_FRAMER FALSE
TMX_OPMODE_FRAMER FALSE
TMX_OPMODE_FRAMER FALSE
TMX_OPMODE_MAPPER FALSE
TMX_OPMODE_DS3_ONLY FALSE
7 TMX_LINEOPT_LIU_
DS3
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 29 Document ID: PMC-1991611, Issue 2
TMX_SYSOPT_ CDATA
TMX_OPMODE_TRANSMUX FALSE
TEMUX/TEMAP/TECT3 (PM8315, PM5365, PM4328) Driver Manual
Data Structures
Profiles 0-4 are not valid with the TEMAP device. Profiles 1-3, 5, 7 are not valid in the TECT3 device.
Interrupt-Service Routine Mask Vector
Passed via the temuxClearMask, temuxGetMask and the temuxSetMask calls, this structure contains all the information needed by the driver to enable and disable any of the interrupts in the TEMUX/TEMAP/TECT3.
Table 7: ISR Mask Vector: sTMX_MASK
Field Name Field Type Sets / Clears Interrupt Condition
sdet0e UINT1
sdet1e UINT1
io struct tmx_mask_io
ds3 struct tmx_mask_ds3
mux[7] struct tmx_mask_mux
framer[28] struct tmx_mask_framer
mapper struct tmx_mask_mapper
SBI collision detect (register 0)
SBI collision detect (register 1)
IO Section interrupts
DS3 Section interrupts
MUX/MX12/DS2 Section interrupts
FRAMER Section interrupts
MAPPER Section interrupts (not valid in TECT3)
Mask Sub-structures
These structures also appear in sTMX_MASK (above).
Table 8: IO Section Masks: struct tmx_mask_io
Field Name Field Type Field Description
exsbi.ovre UINT1
exsbi.unde UINT1
insbi.ovre UINT1
insbi.unde UINT1
exsbi.pare UINT1
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use 30 Document ID: PMC-1991611, Issue 2
SBI bus egress overrun
SBI bus egress underrun
SBI bus ingress overrun
SBI bus ingress underrun
SBI bus parity
Loading...
+ 73 hidden pages