The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

PM5310 DRIVER MANUAL PROPRIETARY CONFIDENTIAL RELEASE ISSUE


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



(PM5310) Driver Manual
PM5310
DRIVER MANUAL
PROPRIETARY CONFIDENTIAL RELEASE ISSUE NOVEMBER, 2001
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
ABOUT THIS MANUAL
This manual describes device driver. describes driver's functions, data structures, architecture. This manual focuses driver's interfaces your application, real-time operating system, device. also describes general terms modify port driver your software hardware platform.
Audience
This manual written people need Evaluate test devices Modify driver's functions Port driver particular platform.
References
more information about driver, driver's release Notes. more information about device, documents listed Table related errata documents. Table Related Documents Document Number PMC-1991257 Document Name TelecomBus serializer (TBS) Telecom Standard Product Data Sheet
Note: Ensure that document that PMC-Sierra issued your version device driver.
Revision History
Issue Issue Issue Issue Date August 2000 October, 2000 Details Change Document created description overwrite mode mapping
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Issue Issue
Issue Date November 2001
Details Change expand definition function tbsIsMulticast update tbsReadIndirect tbsWriteIndirect prototypes changes sTBS_EVT_RX8D, sTBS_EVT_PRBS, sTBS_CNTR, sTBS_CFG_DEVICE data structures. update field include PRBS STS-1 Path configuration argument function tbsPayloadCfg allow configuration block retrieval descriptions data structures sTBS_CFG_PRBS sTBS_CFG_PRBSPORT mutual exclusion semaphore protect statistics access tbsUpdate() function, errStat tbsIX8EforceLcv() tbsIX8EcenterFIFO() retired tbsPrbsGenEnable() tbsPrbsMonEnable() renamed tbsPrbsGenCfg() tbsPrbsMonCfg() remove ot8d_ofaais field tbsGenAIS() configures only Rx8D blocks remove fields sysclki, refclki changei change sTBS_STATUS_IO structure field DDB, BOOL tsiOverwrite control operating mode driver mapping.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Legal Issues
None information contained this document constitutes express implied warranty PMC-Sierra, Inc. sufficiency, fitness suitability particular purpose such information fitness, suitability particular purpose, merchantability, performance, compatibility with other parts systems, products PMC-Sierra, Inc., portion thereof, referred this document. PMC-Sierra, Inc. expressly disclaims representations warranties kind regarding contents information, including, limited express implied warranties accuracy, completeness, merchantability, fitness particular use, non-infringement. event will PMC-Sierra, Inc. liable direct, indirect, special, incidental consequential damages, including, limited lost profits, lost business lost data resulting from reliance upon information, whether PMC-Sierra, Inc. been advised possibility such damage. information proprietary confidential PMC-Sierra, Inc., customers' internal use. event, part this document reproduced form without express written consent PMC-Sierra, Inc. 2000 PMC-Sierra, Inc. PMC-2001251, (P2), PMC-1991228 (P1)
Contacting PMC-Sierra
PMC-Sierra, Inc. 105-8555 Baxter Place Burnaby, Canada 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 Site: http://www.pmc-sierra.com
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
TABLE CONTENTS
About this Manual TBS. Audience References. Revision History Legal Issues. Contacting PMC-Sierra. Table Contents Introduction Driver Functions Features General Driver Functions. Open/Close Driver Module Start/Stop Driver Module Add/Delete Device. Device Initialization. Activate/De-Activate Device Read/Write Device Registers Interrupt Servicing/Polling. Statistics Collection. Specific Driver Functions Time Slot Interchange Incoming 8B/10B Encoder. Transmit Disparity Encoder Receive 8B/10B Decoder. PRBS Processors. Device Diagnostics. Statistics Alarm Monitoring Specific Callback Functions. Software Architecture. Driver External Interfaces. Application Programming Interface. Real-Time Operating System (RTOS) Interface Hardware Interface. Main Components. Module Data-Block Device(s) Data-Blocks. Interrupt-Service Routine. Deferred-Processing Routine Alarms, Status, Statistics
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Input/Output Configuration. Time Slot Interchange Incoming 8B/10B Encoder. Receive 8B/10B Decoder. Disparity Decoder PRBS Processors. Software States. Module States. Device States. Processing Flows Module Management Device Management. Interrupt Servicing Calling tbsISR Calling tbsDPR Calling tbsPoll. Theory Operation. Overview. Time Slot Mapping. FIFO Centering Alarms, Status Statistics Diagnostics. Data Structures Constants. Data Structures. Structures Passed Application Module Initialization Vector: MIV. Device Initialization Vector: Device Configuration Block: DEVICE. Payload Configuration Block: PYLD Connection Map: CONMAP. Connection Page: CONPAGE Space-Time Slot: SPTSLOT Enable/Disable Mask 8B/10B Decoder Events: EVT_RX8D. PRBS Processor Events: EVT_PRBS. Structures Driver's Allocated Memory Module Data Block: Device Data Block: DDB. Statistics Block: STAT Event/Statistics Counter Structure: CNTR. Device Status Block: STATUS.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Status Block: STATUS_IO 8B/10B Decoder Status Block: STATUS_RX8D. PRBS Monitor Status Block: STATUS_PRBS PRBS Generator/Monitor Configuration Block: CFG_PRBS PORT PRBS Generator/Monitor STS-1 Configuration Parameters: CFG_PRBS. Structures Passed through RTOS Buffers. Interrupt Service Vector: ISV. Deferred Processing Vector: DPV. Global Variable Application Programming Interface Module Management Opening Driver Module: tbsModuleOpen Closing Driver Module: tbsModuleClose Starting Driver Module: tbsModuleStart. Stopping Driver Module: tbsModuleStop Device Management Adding Device: tbsAdd Deleting Device: tbsDelete. Initializing Device: tbsInit. Updating Configuration Device: tbsUpdate. Resetting Device: tbsReset. Activating Device: tbsActivate De-Activating Device: tbsDeActivate. Device Read Write Reading from Device Registers: tbsRead. Writing Device Registers: tbsWrite. Reading from block Device Registers: tbsReadBlock Writing Block Device Registers: tbsWriteBlock Indirect reading from Device Registers: tbsReadIndirect Indirect writing Device Registers: tbsWriteIndirect Device Configuration. Setting Device Configuration Block: tbsDeviceSetConfig. Getting Device Configuration Block: tbsDeviceGetConfig. Time Slot Interchange Setting global mapping mode: tbsSetMapMode Getting global mapping mode: tbsGetMapMode. Setting active connection page TSI: tbsSetPage Getting active connection page TSI: tbsGetPage. Mapping source destination slot(s) TSI: tbsMapSlot. Retrieving source space-time Slot TSI: tbsGetSrcSlot Retrieving destination space-time Slot TSI: tbsGetDestSlot Copying connection from page another TSI: tbsCopyPage
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Inserting Idle Data TSI: tbsInsIdleData Removing established connection TSI: tbsRmSlot. Clearing established connections TSI: tbsClrSlot. Verifying multicast connection TSI: tbsIsMulticast Verifying connection setting TSI: tbsIsValidMap 8B/10B Decoder. Forcing character alignment 8B/10B decoder: tbsForceOutofChar Forcing frame alignment 8B/10B decoder: tbsForceOutofFrm. Disparity Encoder Forcing line code violation disparity encoder: tbsTXDEForceLcv Centering FIFO disparity encoder: tbsTXDECenterFIFO Inserting test pattern disparity encoder: tbsInsertTP. PRBS Processors. Configuring retrieving payload PRBS processor: tbsPayloadCfg Configuring PRBS generator: tbsPrbsGenCfg. Forcing error PRBS generator: tbsPrbsForceBitErr. Configuring PRBS monitor: tbsPrbsMonCfg Resynchronizing PRBS monitor: tbsPrbsResync. Interrupt Service Functions. Configuring Processing: tbsISRConfig. Getting Interrupt Status Mask: tbsGetMask. Setting Interrupt Enable Mask: tbsSetMask. Clearing Interrupt Enable Mask: tbsClearMask. Polling Interrupt Status Registers: tbsPoll. Interrupt Service Routine: tbsISR Deferred Processing Routine: tbsDPR
5.10 Alarm, Status, Statistics Functions. Getting Cumulative Device Statistics: tbsGetStats Clearing Device Statistics: tbsClrStats. Getting Status Device tbsGetStatus Getting Delta Statistics Counter Device tbsGetDelta Getting Event Threshold Device tbsGetThresh Setting Event Threshold Device tbsSetThresh. Controlling Generation Device tbsGenAIS 5.11 Device Diagnostics Testing Register Accesses: tbsTestReg. Testing Accesses: tbsTestRAM Enabling outgoing incoming parallel TelecomBus Loopbacks: tbsLoopOut2InTCB Enabling incoming outgoing parallel TelecomBus Loopbacks: tbsLoopIn2OutTCB Enabling receive transmit serial TelecomBus Loopbacks: tbsLoopRx2TxLVDS Enabling transmit receive serial TelecomBus Loopbacks: tbsLoopTx2RxLVDS 5.12 Callback Functions.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Calling Back Application events: cbackIO Calling Back Application events: cbackTSI. Calling Back Application PRBS events: cbackPRBS Calling Back Application TXDE events: cbackTXDE. Calling Back Application RX8D events: cbackRX8D. Hardware Interface Device I/O. Reading from Device Register: sysTbsRead. Writing Device Register: sysTbsWrite. System-Specific Interrupt Servicing Installing Handler sysTbsISRHandlerInstall Handler: sysTbsISRHandler Removing Handler sysTbsISRHandlerRemove. RTOS Interface. Memory Allocation De-Allocation Allocating Memory: sysTbsMemAlloc. Freeing Memory: sysTbsMemFree Buffer Management Starting Buffer Management sysTbsBufferStart Getting Buffer: sysTbsISVBufferGet. Returning Buffer: sysTbsISVBufferRtn. Getting Buffer: sysTbsDPVBufferGet Returning Buffer: sysTbsDPVBufferRtn Stopping Buffer Management sysTbsBufferStop Timers Sleeping Task: sysTbsTimerSleep. Semaphores Creating Semaphore: sysTbsSemCreate. Taking Semaphore: sysTbsSemTake. Giving Semaphore: sysTbsSemGive. Deleting Semaphore: sysTbsSemDelete. Preemption Disabling Preemption sysTbsPreemptDisable Re-Enabling Preemption sysTbsPreemptEnable. System-Specific Routine Installing Task: sysTbsDPRTaskInstall Task: sysTbsDPRTask Removing Task: sysTbsDPRTaskRemove.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Porting Driver. Driver Source Files Driver Porting Procedures. Procedure Porting Driver Extensions. Procedure Porting Drivers Hardware Platforms Procedure Porting Driver Application-Specific Elements Procedure Building Driver
Appendix Coding Conventions Variable Type Definitions. Naming Conventions. Macros. Constants. Structures. Functions. Variables. File Organization. Files Hardware Dependent Files. RTOS Dependent Files. Other Driver Files Appendix Error Codes. Appendix Event Codes. List Terms Acronyms. Index
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
LIST FIGURES
Figure Driver External Interfaces Figure Driver Architecture. Figure Driver Software States. Figure Module Management Flow Diagram. Figure Device Management Flow Diagram. Figure Interrupt Service Model. Figure Polling Service Model Figure Device Traffic Flow Illustration Figure Time Slot Interchange Model Figure Space-time Slot Mapping, Multicast Unicast Figure PRBS Processor Model
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
LIST TABLES
Table Block Description Table Module Initialization Vector: sTBS_MIV Table Device Initialization Vector: sTBS_DIV Table Device Configuration Data Structure: sTBS_CFG_DEVICE Table Payload Configuration Block: sTBS_CFG_PYLD Table Connection Data Structure: sTBS_TSI_CONMAP. Table Connection Page Data Structure: sTBS_TSI_CONPAGE. Table Space-time Slot Data Structure: sTBS_SPTSLOT Table Mask: sTBS_MASK. Table 8B/10B Decoder Event: sTBS_EVT_RX8D Table PRBS Monitor Event: sTBS_EVT_PRBS. Table Module Data Block: sTBS_MDB. Table Device Data Block: sTBS_DDB. Table Event Statistics Block: sTBS_STAT Table Events Counter Block: sTBS_CNTR Table Device Status Block sTBS_STATUS. Table Block Status: sTBS_STATUS Table 8B/10B Decoder Block Status: sTBS_STATUS _RX8D. Table PRBS Monitor Status: sTBS_STATUS _PRBS. Table PRBS Generator/Monitor Configuration Block Port: sTBS_CFG_PRBS PORT Table PRBS Generator/Monitor Configuration Parameters Time Slot sTBS_CFG_PRBS. Table Interrupt Service Vector: sTBS_ISV.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual
Table Deferred Processing Vector: sTBS_DPV. Table Variable Type Definitions. Table Naming Conventions. Table File Naming Conventions Table Error Codes. Table Event Codes
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Introduction
INTRODUCTION
following sections Device Driver Manual describe device driver. code provided throughout this document written language. This been done promote greater driver portability other embedded hardware (Section Real Time Operating System environments (Section Section this document, Software Architecture, defines software architecture device driver including discussion driver's external interfaces main components. Data Structure information Section describes elements driver that configure control behavior. Included here constants, variables structures that device driver uses store initialization, configuration, status information. Section provides detailed description each function that member driver Application Programming Interface (API). section outlines function calls that hide device-specific details application callbacks that notify user significant device events. your convenience, Section this manual provides brief guide porting device driver your hardware RTOS platform. addition, extensive Appendix (page 109) Index (page 123) provides with useful reference information.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Driver Functions Features
DRIVER FUNCTIONS FEATURES
This section summarizes main functions features supported driver. more detailed description will follow later sections.
General Driver Functions
Open/Close Driver Module
Opening driver module allocates memory needed driver initializes module level data structures. Closing driver module shuts down driver module gracefully after deleting devices that currently registered with driver; also releases memory allocated driver.
Start/Stop Driver Module
Starting driver module involves allocating RTOS resources needed driver, such timers semaphores (except memory, which allocated during Open call). Closing driver module involves de-allocating RTOS resources allocated driver without changing amount memory allocated
Add/Delete Device
Adding device involves verifying that device exists, associating device handle device, storing context information about driver uses this context information control monitor device. Deleting device involves shutting down device clearing memory used storing context information about this device.
Device Initialization
initialization function resets then initializes device associated context information about driver uses this context information control monitor device.
Activate/De-Activate Device
Activating device puts into normal mode operation enabling interrupts other global registers. successful device activation also enables other invocations.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Driver Functions Features
contrary, de-activating device removes from operating state; also disables interrupts other global registers.
Read/Write Device Registers
These functions provide `raw' interface device. Device registers that both directly indirectly accessible available both inspection modification these functions. applicable, block reads writes also available.
Interrupt Servicing/Polling
Interrupt Servicing optional feature. user disable device interrupts instead poll device periodically monitor status check alarm/error conditions. Both polling interrupt driven approaches detect change device status report status Deferred Processing Routine (DPR). then invokes application callback functions based status information retrieved. This allows driver report significant events that occur within device application.
Statistics Collection
Functions provided retrieve snapshot various counts that accumulated device. Routines should invoked often enough avoid letting counters rollover.
Specific Driver Functions
These functions provide control monitoring various sections device. These sections generally enabled disabled configured MODE specified during device initialization. Changes these registers that would violate characteristics initialized mode should disallowed. following sub-sections list major blocks their features. Functions will designed configure, control and/or monitor those main blocks. last sub-section devoted callback functions specific application interface.
Time Slot Interchange
Functions provided control/configure time-slot interchange blocks including transmit working, protection, auxiliary TSI, well receive working, protection, auxiliary TSI. These functions perform: read/write from dual connection memory pages (pages each block switch between connection pages (active inactive) software control
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Driver Functions Features
Incoming 8B/10B Encoder
function provided control/configure 8B/10B encoders TBS: configure mode incoming TelecomBus data stream (MST, HPT)
Transmit Disparity Encoder
Functions available controlling three transmit disparity encoders, namely working, protection, auxiliary. These functions perform: insertion line code violation into data stream insertion test patterns idle data insertion
Receive 8B/10B Decoder
This section composed three receive 8B/10B decoders, namely working, protection, auxiliary. Functions available for: reporting out-of-character alignment out-of-frame alignment conditions controlling insertion alarm reporting line code violation counts
PRBS Processors
This section consists PRBS processors including four incoming TelecomBus PRBS processors working, protection, auxiliary receive PRBS processors. These functions perform following: configure control PRBS Generator facilitate downstream equipment diagnostics) insert PRBS data pattern, B1/E1 byte, single error configure data stream payload (STS-48c, STS-36c, STS-24c, STS-12c, STS-3c STS-1) configure monitor PRBS Detector facilitate upstream equipment diagnostics) resynchronize PRBS sequence, control PRBS pattern, compare B1/E1 byte, report error count enable/disable event/error monitor interrupts, such B1/E1 mismatch, byte error interrupts, synchronized status change
Device Diagnostics
device register read/write test outgoing incoming TelecomBus loopback; incoming outgoing TelecomBus loopback;
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Driver Functions Features
LVDS loopback LVDS loopback
Statistics Alarm Monitoring
Functions provided gather statistics alarm monitoring; they are: get/clear cumulative statistics delta statistics get/set thresholds
Specific Callback Functions
Callback functions available application event notification from device driver. application will notified callback functions selected events interest, such events.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
SOFTWARE ARCHITECTURE
This section describes software architecture device driver. This includes discussion driver's external interfaces main components.
Driver External Interfaces
Figure illustrates external interfaces defined device driver. Figure Driver External Interfaces
Application
Function Calls
Application Callbacks
Service Callbacks
Device Driver
RTOS
Service Calls
Hardware Interrupts
Register Accesses
Devices
Application Programming Interface
Driver Application Programming Interface (API) list high-level functions that invoked application programmers configure, control, monitor devices. functions perform operations that more meaningful from systems perspective. includes functions such initialize device(s)
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
perform diagnostic tests validate configuration information retrieve status statistics information
driver functions services other driver components provide this system-level functionality application programmer. driver also consists callback routines that used notify application significant events that take place within device(s) module.
Real-Time Operating System (RTOS) Interface
driver's RTOS interface provides functions that driver RTOS services. driver requires memory, interrupt, preemption services from RTOS. RTOS interface functions perform following tasks driver: allocate de-allocate memory manage buffers take give semaphores enable disable preemption
RTOS interface also includes service callbacks. These functions installed driver using RTOS service calls, such installing interrupts starting timers. These service callbacks invoked when interrupt occurs timer expires. Note: Users must modify RTOS interface code suit their RTOS.
Hardware Interface
hardware interface provides functions that read from write device registers; also provides template that driver calls when device raises hardware interrupt. must modify this function based interrupt configuration your system.
Main Components
Figure illustrates top-level architectural components device driver. This applies both polled interrupt driven operation. polled operation, called periodically. interrupt operation, interrupt directly triggers ISR. driver includes following main components: Module device(s) data-blocks Interrupt-service routine
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Deferred-processing routine Alarm, status, statistics Configuration Time Slot Interchange 8B/10B Encoder/Decoder Disparity Encoder PRBS Processor
Figure Driver Architecture
Application Function Calls Service Callbacks RTOS Interface Service Calls RTOS Application Callbacks Driver
Deferred Processing Routine
Alarm, Status Statistics
Configuration Time slot Interchange
Interrupt Context
Module Data Block Device Data Blocks
8B/10B Encoder/ Decoder Disparity Encoder
Interrupt Service Routine
PRBS Processor
Hardware Interface Hardware Interrupts Devices Register Accesses
Module Data-Block Device(s) Data-Blocks
Module Data-Block (MDB) top-layer data structure; created driver store context information about driver module, such Module state Maximum number devices DDB(s)
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Device Data-Block (DDB) contained initialized driver module each device that registered. There device, there limit number DDBs; that limit user when module initialized. used store context information about device, such Device state Control information Initialization parameters Callback function pointers
Interrupt-Service Routine
driver provides called tbsISR that checks there valid interrupt condition present device. This function used system-specific interrupt-handler function service interrupts raised device. low-level interrupt-handler function that traps hardware interrupt calls tbsISR system RTOS dependent. Therefore, outside scope driver. Example implementations interrupt handler, well functions that install remove provided reference section 6.2. customize these example implementations suit your specific needs. section detailed explanation interrupt-servicing model.
Deferred-Processing Routine
driver provides called tbsDPR that processes interrupt condition gathered that device. Typically, this system-specific function, which runs separate task within RTOS, will call tbsDPR. Example implementations task, well functions that install remove provided reference section 7.6. customize these example implementations suit your specific needs. section detailed explanation interrupt-servicing model.
Alarms, Status, Statistics
alarm, status, statistics section responsible monitoring alarms, tracking device status information, retrieving statistical counts each device registered with (added driver.
Input/Output Configuration
This section controls data traffic both transmit receive side TelecomBus LVDS serial links. Attributes such data parity, traffic concatenation level (STS-48c, STS-12c, STS-3c STS-1), byte processing delay correctly proper operation.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Time Slot Interchange
section controls time-slot interchange modules including transmit working, protection, auxiliary TSI, well receive working, protection auxiliary TSI. operates independent entity possesses dual-connection memory page mechanism. This two-page setup allows users switch alternate timeslot mapping without disrupting current operation. Memory page switching achieved either software control external hardware pins.
Incoming 8B/10B Encoder
This section controls 8B/10B encoders configure mode incoming TelecomBus data stream (MST,
Receive 8B/10B Decoder
This section controls three receive 8B/10B decoders, namely working, protection, auxiliary. decoders responsible alarm insertion, character frame alignment, out-of-character out-of-frame alignment monitoring, line code violation counting.
Disparity Decoder
This section controls three transmit disparity encoders, namely working, protection auxiliary TBS; handles insertion line code violations, test patterns, idle data.
PRBS Processors
This section controls PRBS processors TBS, including four incoming TelecomBus PRBS processors, well working, protection, auxiliary receive PRBS processors. PRBS processor further subdivided into PRBS generator PRBS monitor. PRBS generator used facilitate downstream equipment diagnostics. handles PRBS data pattern, B1/E1 byte, single-bit error insertion. Proper payload configuration (STS-48c, STS-36c, STS-24c, STS-12c, STS-3c, STS-1) necessary ensure correct operation. PRBS monitor used upstream equipment diagnostics; does this through operations such PRBS pattern monitoring, comparison B1/E1 byte, PRBS sequence resynchronization. also requires correct payload configuration function properly.
Software States
Figure shows software state diagram driver. State transitions occur successful execution corresponding transition functions shown. State information helps maintain integrity DDB(s) controlling operations allowed each state.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Figure Driver Software States
tbsModuleOpen Idle tbsModuleClose Start
tbsModuleStop
tbsModuleStart
tbsModuleClose
Ready
MODULE STATES
Start
tbsAdd
tbsDelete
Present tbsReset tbsInit tbsActivate Inactive tbsDeActivate PER-DEVICE STATES Active tbsReset
Module States
following description module states. section detailed description functions that used change module state. Start driver Module been initialized. this state, driver does hold RTOS resources (memory, timers, etc.), running tasks, performs actions.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Idle driver module been initialized successfully. Module Initialization Vector (MIV) been validated, Module Data Block (MDB) been allocated loaded with current data, per-device data structures have been allocated, RTOS responded without error requests sent driver. Ready This normal operating state driver module. This means that RTOS resources have been allocated driver ready devices added. driver module remains this state while devices operation.
Device States
following description per-device states. state that mentioned here software state maintained driver; software state maintained inside device itself. section detailed description functions that used change per-device state. Start device been initialized. this state device unknown driver performs actions. There separate flow each device that added, they start here. Present device been successfully added. Device Data Block (DDB) been associated device updated with user context; addition, device handle been given user. this state, device performs actions. Inactive this state, device configured data functions de-activated, including interrupts alarms, status statistics functions. Active This normal operating state device. this state, interrupt servicing polling enabled.
Processing Flows
This section describes main processing flows TBS's driver components. flow diagrams presented here illustrate sequence operations that take place different driver functions. diagrams also serve guide application programmer illustrating sequence which application must invoke driver API.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Module Management
following diagram illustrates typical function call sequences that occur when initializing shutting down driver module. Figure Module Management Flow Diagram
START Performs module level initialization driver. Validates Module Initialization Vector (MIV). Allocates memory components (i.e. memory needed driver) then initializes contents with validated MIV. Performs module level startup driver. This involves allocating RTOS resources such semaphores timers installing handler task.
tbsModuleOpen
tbsModuleStart
Perform device level functions here (add, init, activate, de-activate, reset, delete,.) tbsModuleStop Performs Module level shutdown driver. This involves deleting devices currently installed de-allocating timers semaphores well removing handler task. Performs module level shutdown driver. De-allocates driver's memory.
tbsModuleClose
Device Management
following figure shows typical function call sequences that driver uses add, initialize, reinitialize, delete device.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Figure Device Management Flow Diagram
START
tbsAdd
Detects device hardware, assigns device stores user's context device. Returns device handle user.
tbsInit
Applies reset device initializes device registers associated RAMs based passed user.
tbsActivate
Prepares device normal operation enabling interrupts other global enables. routines installed when module started using sysTbsISRInstallHandler. device operational other invoked.
tbsReset
order re-initialize device, reset device using tbsReset through initialization sequence again.
tbsDeactivate
De-activates device removes from normal operation. This involves disabling device interrupts. routines this device removed using sysTbsISRRemoveHandler when module closed.
tbsReset
Applies software reset device default startup state.
tbsDelete
Removes device from list devices being controlled driver. This function de-allocates device context information device being deleted.
Interrupt Servicing
driver services device interrupts using interrupt service routine (ISR) that traps interrupts; driver also uses deferred processing routine (DPR) that processes interrupt conditions clears them; this lets execute quickly exit. Most time-consuming processing interrupt conditions deferred queuing necessary interrupt-context information task. function runs context separate task within RTOS. Note: Since task processes potentially serious interrupt conditions, should task's priority higher than application task interacting with driver.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
driver provides system-independent functions, tbsISR tbsDPR. must fill corresponding system-specific functions, sysTbsISRHandler sysTbsDPRTask. system-specific functions isolate system-specific communication mechanism (between DPR) from system-independent functions, tbsISR tbsDPR. Figure illustrates interrupt service model used driver design. Figure Interrupt Service Model
Interrupt Context Information
sysTbsISRHandler tbsISR
sysTbsDPRTask tbsDPR
Indication Callbacks Application
Note: Instead using interrupt service model, polling service model driver process device's event-indication registers (see page 39).
Calling tbsISR
interrupt handler function, which system dependent, must call tbsISR. first, low-level interrupt-handler function must trap device interrupts. must implement this function your system. reference, example implementation interrupt handler (sysTbsISRHandler) appears page customize this example implementation suit your needs. interrupt handler that implement (sysTbsISRHandler) installed interrupt vector table system processor. called when more devices interrupt processor. interrupt handler then calls tbsISR each device that active state that interrupt processing enabled. tbsISR function reads from master interrupt-status registers disables interrupt cause. least valid interrupt condition found, then tbsISR fills Interrupt Service Vector (ISV) with this status information well current device handle. tbsISR function also clears disables device's detected interrupts. sysTbsISRHandler function then responsible sending this buffer task. Note: Normally should save status information deferred processing implementing message queue. interrupt handler sends status information queue using
sysTbsISRHandler.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Calling tbsDPR
sysTbsDPRTask function system-specific function that runs separate task within RTOS. should task's priority higher than that application tasks that interacting with driver. message-queue implementation model, this task associated message queue. task waits messages from this message queue. When message arrives, sysTbsDPRTask calls (tbsDPR) with received ISV. that point, tbsDPR processes status information takes appropriate action based specific interrupt condition detected; also reads miscellaneous interrupt-status registers then reenables interrupt cause. nature this processing differ from system system. Therefore, tbsDPR calls different indication callbacks different interrupt conditions. Typically, should implement these callback functions simple message posting functions that post messages application task. However, implement indication callback perform processing within task context return without sending messages. this case, ensure that this callback function does call functions that would change driver's state, such tbsDelete. Also, ensure that callback function non-blocking because task executes while interrupts disabled. customize these callbacks suit your system. page example implementations callback functions. Note: Since tbsISR tbsDPR routines themselves specify communication mechanism, have full flexibility choosing communication mechanism between two. convenient implement this communication mechanism message queue, which service that most RTOSs provide. must implement system specific functions, sysTbsISRHandler sysTbsDPRTask. When driver calls sysTbsISRHandlerInstall, application installs sysTbsISRHandler interrupt vector table processor, sysTbsDPRTask function spawned task application. sysTbsISRHandlerInstall function also creates communication channel between sysTbsISRHandler sysTbsDPRTask. This communication channel most commonly message queue associated with sysTbsDPRTask. Similarly, during removal interrupts, driver removes sysTbsISRHandler from microprocessor's interrupt vector table deletes task associated with sysTbsDPRTask. reference, this manual provides example implementations interrupt installation removal functions pages 101. Users customize these prototypes suit their specific needs.
Calling tbsPoll
Instead using interrupt service model, polling service model TBSdriver process device's event-indication registers. Figure illustrates polling service model used driver design.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Figure Polling Service Model
Interrupt Context Information tbsDPR
tbsPoll tbsISR
Indication Callbacks Application
polling mode, application responsible calling tbsPoll often enough service pending error alarm conditions. When tbsPoll called, tbsISR function called internally. tbsISR function reads from master interrupt-status registers miscellaneous interrupt-status registers TBS. least valid interrupt condition found, then tbsISR fills Interrupt Service Vector (ISV) with this status information, well current device handle. tbsISR function also clears disables device's detected interrupts. polling mode, this buffer passed task calling tbsDPR internally.
Theory Operation
Overview
Figure Device Traffic Flow Illustration
Incoming TeleCombus (byte-parallel) ITPP transmit ID8E IP8E
TWTI TPTI TATI
TWDE TPDE TADE
Working Protection Serial LVDS Working Protection Serial LVDS
RWTI OTPG OT8D RPTI RATI Outgoing TeleCombus (byte-parallel)
RWPM RPPM RAPM receive
RW8D RP8D RA8D
Traffic Flow
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Table Block Description Logical Block Name ITPP ID8E IP8E TWTI TPTI TATI TWDE TPDE TADE RW8D RP8D RA8D OT8D RWPM RPPM RAPM RWTI RPTI RATI OTPG Software Block Name PRBS[TRANSMIT][x]* IX8E TSI[TRANSMIT] [WORKING] TSI[TRANSMIT] [PROTECTION] TSI[TRANSMIT][AUX] TXDE[WORKING] TXDE[PROTECTION] TXDE[AUX] RX8D[WORKING] RX8D[PROTECTION] RX8D[AUX] OT8D PRBS[RECEIVE] [WORKING] PRBS[RECEIVE] [PROTECTION] PRBS[RECEIVE][AUX] TSI[RECEIVE] [WORKING] TSI[RECEIVE] [PROTECTION] TSI[RECEIVE][AUX] PRBS[RECEIVE][x]* Definition Incoming TelecomBus PRBS processor Incoming 8B/10B encoders Transmit working Transmit protection Transmit auxiliary Transmit disparity encoder Transmit disparity encoder Transmit disparity encoder Receive working 8B/10B decoder Receive protection 8B/10B decoder Receive auxiliary 8B/10B decoder Outgoing 8B/10B decoder Receive working PRBS monitor Receive protection PRBS monitor Receive auxiliary PRBS monitor Receive working Receive protection Receive auxiliary Outgoing PRBS generator
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Notes: denotes don't-care terms channel type; they either WORKING, PROTECTION, AUX. implements byte-parallel TelecomBus bit-serial 8B/10B-based TelecomBus conversion. transmit (ingress) side, connects incoming, parallel TelecomBus data stream three (working, protection, auxiliary) serial LVDS (TelecomBus) streams. 8B/10B encoders (IX8E) present encode incoming data into extended 8B/10B characters. Special 8B/10B characters encode transport payload frame boundaries, pointer justification events, alarm conditions. PRBS processor (ITPP) present monitor incoming payloads overwrite PRBS patterns diagnosis downstream equipment. three time-slot interchanges (TSI) designed arbitrary mapping time slots STS-1 granularity. Multicast supported. Disparity encoders (TXDE) present handle polarity change after possible time slot re-mapping. receive (egress) side, connects three independent serial TelecomBus links outgoing byte-parallel TelecomBus. 8B/10B decoders (Rx8D) employed decode received 8B/10B characters control signals. There three TSIs that used handle arbitrary time slot remapping from received data outgoing TelecomBus. PRBS processors (OTPG RxPM) also available monitor decoded payload generate PRBS traffic patterns diagnosis downstream equipment.
Time Slot Mapping
Figure Time Slot Interchange Model
TSI[tdir][chnlType] timeslot# inPort outPort timeslot#
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
total time-slot interchange units (TSI) time-slot mapping; each these capable handling STS-48 data stream. described parameters, tdir chnlType; these denote traffic direction (TRANSMIT RECEIVE) channel type (WORKING, PROTECTION, AUX) respectively. Mapping defined STS-1 granularity; however, valid mapping must still into required time slot manner mandated channel's data rate. user responsibility maintain data integrity when redefining connection map. Time-slot interchange viewed process mapping source time slots destination time slots. equivalent establishing one-to-one mapping many mapping between source slots destination slots, depending whether connection unicast multicast. model appears switching both space time (i.e., STS-1 timeslot from port#1, timeslot#1 port#3, timeslot#10). important point that actually performing only timeslot remapping. apparent space switching STS-48 stream multiplexing across STS-12 links (one re-label timeslots from instead ports each with timeslots from #12). will, however, retain this space- time-switching view; view that matches hardware layout. Figure Space-time Slot Mapping, Multicast Unicast
source slots Unicast
destination slots
Multicast
tbsMapSlot establishes mapping between source space-time slot destination space-time slot(s). tbsRmSlot disconnects established connection between given source destination slots. tbsClrSlot clears connections given source slot.
user must modes when mapping slots: normal overwrite. user switch modes will calling function tbsDeviceSetConfig.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
normal mode, driver keeps track connections. Before connecting already occupied time slot, user must first remove connection tbsRmSlot tbsClrSlot. This provides additional protection setting tearing down connections. overwrite mode, user more autonomy connection management. driver does check existing connections prior setting ones, because tbsMapSlot essentially overwrites existing connections. user fully responsible keeping track. Note that necessary update active pages application, using overwrite mode guarantees hitless updates. function tbsGetDestSlot returns destination slot(s) when given source slot. tbsGetSrcSlot returns source slot when given destination slot. tbsIsMulticast verifies given slot mapped multiple destination slots. tbsSetMapMode sets global mapping mode TSIs device. There valid modes: user-defined bypass. Bypass mode puts chip through mode; when this mode, time-slot rearrangement will take place. user-defined mode selected, time slots will re-arranged based connection inside device. tbsGetMapMode retrieves current mapping mode device. There connection pages each TSI, page tbsSetPage provides software control active connection memory page TSI. given page exclusive-ORed with either hardware TCMP (controls ingress TSIs) OCMP (controls egress TSIs) determine which active page currently active. tbsGetPage queries current active connection page. connection page synchronization, tbsCopyPage overwrites connection page with other within block. Software select page Hardware xCMP Active page
each time slot outgoing TelecomBus, accept data from only source time slot from either working, protection, auxiliary TSI. tbsIsValidMap verifies connection setting receive TSIs more than source time slot (from receive TSIs) been assigned outgoing TelecomBus time slot. important point that even multiple RxTSEN bits high, RWTSEN will take precedence data from working channel will selected over that other channels. essence, tbsIsValidMap looks multiple ones settings RxTSEN bits TSIs.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
When mapping time slots transmit side, there extra parameter selecting where data source (either from ID8E IP8E blocks). transmit side, data stream flows from ITPP block both ID8E IP8E block. result, TxTI blocks have choice selecting data either from ID8E IP8E block time-slot basis. Hence, there extra field, srcSel, data structure sTBS_SPTSLOT, governing where data drawn from when mapping slots TxTI. implementation, srcSel=0 selects ID8E non-zero value srcSel chooses IP8E data source. This extra control allows users PRBS data and/or clear data coming from ITPP single TxTI block. addition, tbsGetSrcSlot tbsGetDestSlot this specify timeslot belongs ID8E IP8E block transmit side. parameter ignored when performing RxTI mapping.
FIFO Centering
tbsTXDECenterFIFO forces FIFO depth transmit disparity encoders 8B/10B
characters deep current FIFO depth range characters. current FIFO depth range, this function effect. This function should invoked when either: external system clock stabilizes after FIFO overrun/underrun error detected part recovery procedure.
Alarms, Status Statistics
This section handles alarm generation, retrieval maintenance statistics/event counters, status retrieval. Statistics accumulated events counted inside status block. each statistic/event, cumulative well delta counters kept. delta counter contains statistic/event count since last query. tbsGetStats tbsGetDelta retrieve cumulative delta statistics counters respectively. Delta statistics counters cleared after query. tbsClrStats clears cumulative statistics counters when invoked. Instead having callbacks each every event statistic), user wish only have callbacks after user-specified count/occurrence detected/encountered. tbsGetThresh tbsSetThresh dynamically retrieving setting event/statistic thresholds, respectively. addition, zero threshold particular event, callbacks will made every event occurrence. Device status retrieved invoking tbsGetStatus. Many signals such synchronization state 8B/10B decoder, B1/E1 byte received PRBS monitor, activity indicator instantly read back using this function. tbsGenAIS enables/disables insertion alarms event out-of-frame alignment being detected receive 8B/10B decoders.
Diagnostics
purpose this section perform system/device diagnostics. These diagnostics would include loopbacks, generation line-code violations TelecomBus, PRBS traffic insertion, error insertion.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Loopback Functions loopback functions allow several blocks inside placed diagnostic loopback operation. tbsLoopOut2InTCB loops back outgoing TelecomBus incoming one; while tbsLoopIn2OutTCB loops back incoming TelecomBus outgoing one. tbsLoopRx2TxLVDS loops back receive serial LVDS links transmit serial LVDS tbsLoopTx2RxLVDS loops back transmit serial LVDS links receive serial LVDS. PRBS Processor Figure PRBS Processor Model
timeslot# inPort
outPort
timeslot#
PRBS processors (generators monitors) present perform device/system diagnostics. There total PRBS generators, transmit side receive side. There total four PRBS monitors, transmit side three receive side (i.e., working, protection auxiliary). Individual PRBS generators monitors specified following arguments: tdir chnlType. Each port PRBS processor configured separately handle different traffic payloads. PRBS processor handle traffic from STS-1 STS-48c. tbsPayloadCfg configures each port PRBS processor different traffic payload configuration.
tbsPrbsGenCfg configures controls PRBS generator. user command generator operate autonomous TelecomBus mode, generate PRBS sequential patterns, invert PRBS bytes prior insertion, replace B1/E1 bytes, access LFSR. addition, current PRBS generator setting also retrieved using this function. Moreover, user also force errors generator using tbsPrbsForceBitErr.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Software Architecture
Similarly, tbsPrbsMonCfg functions similar fashion PRBS monitor; setup operate autonomous TelecomBus mode, invert PRBS byte monitoring, monitor B1/E1 bytes, monitor either PRBS sequential patterns. addition, user force monitor resynchronize using tbsPrbsResync. Error Insertion user force line-code violation (LCV) transmit side disparity encoders calling tbsTXDEForceLcv. addition, user insert known test patterns into following blocks further diagnostics: disparity encoders transmit TSIs. user-defined test pattern inserted into data stream disparity encoder using tbsInsertTP. transmit TSIs, tbsInsIdleData introduces known data pattern (should 8B/10B character) into data stream. Finally, user also introduce series out-of-synchronization conditions 8B/10B decoders. tbsForceOutOfChar forces character alignment block which will then attempt realign with alignment character (K28.5) data stream. addition, out-of-frame errors introduced invoking tbsForceOutOfFrm. decoder will again attempt resynchronize with alignment character (K28.5).
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
DATA STRUCTURES
This section describes elements driver that configure control behavior therefore should interest application programmer. Included here constants, variables, structures that device driver uses store initialization, configuration, statistics information. more information naming convention, reader referred section
Constants
following Constants used throughout driver code:
<TBS ERROR CODES>: error codes used throughout driver code, returned functions, used global error number field DDB.
TBS_MAX_DEVS: defines maximum number devices that supported this driver. This
constant must changed without thorough analysis consequences driver code.
TBS_MOD_START, TBS_MOD_IDLE, TBS_MOD_READY: three possible module states (stored stateModule). TBS_START, TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE: four possible device states (stored stateDevice). TBS_NUM_TSIPAGE: defines number connection memory pages present block.
device. stream.
TBS_NUM_CHNLTYPE: defines number channels (working, protection, egress side TBS_NUM_TSLOTS: value this constant minus defines number time slots data
TBS_NUM_TCBSTM: value this constant minus defines number data streams both ingress side egress side channel. eTBS_TSIMODE: this enumerated type that defines mapping modes. eTBS_PTMODE: this enumerated type that defines path termination modes. eTBS_TRAFFICDIR: this enumerated type that defines traffic flow direction. eTBS_CHNLTYPE: this enumerated type that defines channel types (working, protection,
auxiliary).
Data Structures
following main data structures used driver. There three types: Structures that passed application Structures that driver's allocated memory
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Structures that passed through RTOS buffers
Structures Passed Application
These structures defined application passed arguments functions within driver. structures are: module Initialization Vector (MIV), Device Initialization Vector (DIV), mask.
Module Initialization Vector:
Passed tbsModuleOpen call, this structure contains information needed driver initialize connect RTOS.
perrModule pointer errModule which indicates last error encountered operation. maxDevs used inform driver many devices will operating concurrently during this
session. number used calculate amount memory that will allocated driver. maximum value that passed TBS_MAX_DEVS (see section 4.1).
Table Module Initialization Vector: sTBS_MIV Field Name
perrModule
Field Type INT4 UINT2
Field Description (pointer errModule MDB) (see description
maxDevs
Maximum number devices supported during this session
Device Initialization Vector:
Passed tbsInit call, this structure contains information needed driver initialize device. NULL pointer supplied, device will left power hardware reset state software initialization will take place. detailed description hardware reset state, please refer Engineering Document (PMC-990522).
valid: Reserved. Driver accesses this field. write pollISR flag that indicates type interrupt servicing driver use. choices `polling' (TBS_POLL_MODE), `interrupt driven' (TBS_ISR_MODE). When configured `polling,'
Interrupt capability device used, user responsible calling devicePoll periodically. actual processing event information same both modes.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
cbackIO, cbackTSI, cbackPRBS, cbackTXDE, cbackRX8D used pass address application functions that will used inform application code pending events. these fields NULL, then events that might cause `call back' application will processed during processing ignored DPR. cfgDev device configuration block. intrmask
interrupt mask.
initPayloadCfg Boolean variable indicating whether PRBS processor payload configuration will take place. TRUE, following PRBS payload configuration parameters will used configure PRBS generators monitors. Otherwise, following parameter blocks will ignored. cfgIgPrbsGen [TBS_NUM_TCBSTM] ingress PRBS generator's payload configuration blocks cfgIgPrbsMon [TBS_NUM_TCBSTM] ingress PRBS monitor's payload configuration blocks. cfgEgPrbsGen [TBS_NUM_TCBSTM] egress PRBS generator's payload configuration blocks. cfgEgPrbsMon egress PRBS monitor's payload configuration blocks. initTSImap
Boolean variable indicating whether connection maps will initialized. TRUE, connection maps will initialized with following connection maps. Otherwise, there will initialization following connection maps ignored.
txtiConMap[TBS_NUM_CHNLTYPE] connection transmit TSIs rxtiConMap [TBS_NUM_CHNLTYPE] connection receive TSIs
Table Device Initialization Vector: sTBS_DIV Field Name
valid pollISR
Field Type UINT2
TBS_POLL
Field Description Unused Indicates type polling Address callback function events Address callback function time slot interchange events Address callback function PRBS processor events
cbackIO
sTBS_CBACK
cbackTSI
sTBS_CBACK
cbackPRBS
sTBS_CBACK
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
cbackTXDE
Field Type
sTBS_CBACK
Field Description Address callback function disparity encoder events Address callback function 8B/10B decoder events Device configuration block Interrupt mask Payload configuration indicator. configured, configured with given payload configuration blocks Ingress(transmit) PRBS generator payload configuration block Ingress(transmit) PRBS monitor payload configuration block Egress(receive) PRBS generator payload configuration block Egress(receive) PRBS monitor payload configuration block connection initialization indicator. initialized, initialized with given Transmit connection Receive connection
cbackRX8D
sTBS_CBACK
cfgDev intrmask initPayloadCfg
sTBS_CFG_DEVICE sTBS_MASK
BOOL
cfgIgPrbsGen [TBS_NUM_TCBSTM]
sTBS_CFG_PYLD
cfgIgPrbsMon [TBS_NUM_TCBSTM] cfgEgPrbsGen [TBS_NUM_TCBSTM] cfgEgPrbsMon [TBS_NUM_CHNLTYPE] [TBS_NUM_TCBSTM] initTSImap
sTBS_CFG_PYLD
sTBS_CFG_PYLD
sTBS_CFG_PYLD
BOOL
txtiConMap [TBS_NUM_CHNLTYPE] rxtiConMap [TBS_NUM_CHNLTYPE]
sTBS_TSI_CONMAP sTBS_TSI_CONMAP
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Device Configuration Block: DEVICE
Used storing device configuration. Table Device Configuration Data Structure: sTBS_CFG_DEVICE Field Name
Field Type UINT1 UINT1 UINT1 UINT1 UINT1 UINT1 UINT1 UINT2 UINT1
Field Description Incoming parity inclusion, even, Incoming composite frame pulse inclusion, included, included Incoming payload active inclusion, included, included Outgoing parity inclusion, even, Outgoing composite frame pulse inclusion, included, included Outgoing payload active inclusion, included, included Device rwsel enable, disable, enable byte processing delay cycles insertion enable Rx8D blocks, insertion, insertion ID8E block termination mode each time slot: MST, IP8E block termination mode each time slot: MST, enable control bit. This active logic zero enables CSU.
incij0j1
incipl
incoj0j1
incopl
rwsel_en rj0dly rx8d_ofaais [TBS_NUM_CHNLTYPE] [TBS_NUM_TCBSTM] id8e_tmode [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] ip8e_tmode [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] csu_ena
eTBS_PTMODE
eTBS_PTMODE
UINT1
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
csu_rstb
Field Type UINT1
Field Description reset, holds this least microseconds proper reset. This provides mean force reset user. Software register that retains user word even after reset. Controls track phase offset between SYSCLK REFCLK when this field low, ignores phase offset when high mapping mode: normal, overwrite
notepad
UINT2 UINT1
dll_lock
tsiOverwrite
BOOL
Payload Configuration Block: PYLD
This used store payload configuration PRBS generators monitors. Table Payload Configuration Block: sTBS_CFG_PYLD Field Name
sts12csl
Field Type UINT1
Field Description Selects slave payload configuration. time slots part concatenated master payload, time slots part slave payload Selects payload configuration. STS-1 paths defined sts3c bits, time slots part same concatenated payload defined msslen bits. Selects payload configuration processed. STS12c below STS-24c STS-36c STS-48c STS-3c payload configuration bits. LSBs used (sts3c[3.0]). sts3c[x] STS-1 time slot #(1+x), #(5+x), #(9+x) part STS-3c payload sts3c[x] STS-1 time slot #(1+x), #(5+x), #(9+x) independent STS-1 payload
sts12c
UINT1
msslen
UINT1
sts3c
UINT1
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Connection Map: CONMAP
Used storing connection maps. Table Connection Data Structure: sTBS_TSI_CONMAP Field Name
[TBS_NUM_TSIPAGE]
Field Type
sTBS_TSI_CONPAGE
Field Description Connection maps consist multiple connection pages
Connection Page: CONPAGE
Used CONMAP storing connection maps. Table Connection Page Data Structure: sTBS_TSI_CONPAGE Field Name
destSlot [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS]
Field Type
sTBS_SPTSLOT
Field Description Connection pages consist slots mapping
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Space-Time Slot: SPTSLOT
Used CONPAGE represent space-time slot mapping. Table Space-time Slot Data Structure: sTBS_SPTSLOT Field Name
numPort numTS srcSel
Field Type UINT2 UINT2 UINT1
Field Description Port number Time slot number Data source control (applicable only when dealing with TxTI blocks)
Enable/Disable Mask
Passed tbsSetMask, tbsGetMask tbsClearMask calls, this structure contains information needed driver either enable disable interrupts Table Mask: sTBS_MASK Field Name
io_ipe [TBS_NUM_TCBSTM]
Field Type UINT2
Field Description Interrupt enable incoming data parity error interrupts disable, enable) Interrupt enable change active connection page transmit TSIs interrupts disable, enable) Interrupt enable change active connection page receive TSIs interrupts disable, enable) Interrupt enable transmit disparity encoder FIFO error interrupts disable, enable) Interrupt enable receive 8B/10B decoder block. Individual interrupt that corresponds each event data structure enabled/disabled separately. disable, enable)
txti_coap [TBS_NUM_CHNLTYPE]
UINT2
rxti_coap [TBS_NUM_CHNLTYPE]
UINT2
txde_fifoerr [TBS_NUM_CHNLTYPE][TBS_ NUM_TCBSTM] rx8d [TBS_NUM_CHNLTYPE]
UINT2
sTBS_EVT_RX8D
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
itpp
Field Type
sTBS_EVT_PRBS
Field Description Interrupt enable incoming PRBS monitor block. Individual interrupt that corresponds each event data structure enabled/disabled separately. disable, enable) Interrupt enable receive PRBS monitor block. Individual interrupt that corresponds each event data structure enabled/disabled separately. disable, enable) Interrupt enable lock state change interrupt disable, enable) Interrupt enable block disable, enable)
rxpm [TBS_NUM_CHNLTYPE]
sTBS_EVT_PRBS
csuLocke
UINT2
dllError
UINT2
8B/10B Decoder Events: EVT_RX8D
This structure encompasses events receive 8B/10B decoder block. fields interpreted ways. context interrupt masking, fields set/clear corresponding hardware interrupt bits. context event counting, fields serve occurrence counters threshold levels particular event/interrupt. Data field lcvCt[] only exception. Since there hardware interrupts associated with line code violation counters. This field applicable interrupt masking. Table 8B/10B Decoder Event: sTBS_EVT_RX8D Field Name
[TBS_NUM_TCBSTM] [TBS_NUM_TCBSTM] [TBS_NUM_TCBSTM] [TBS_NUM_TCBSTM]
Field Type UINT4 UINT4 UINT4 UINT4
Field Description character alignment interrupt port. frame alignment interrupt port. FIFO underrun/overrun interrupt port Line code violation interrupt port.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
lcvCt [TBS_NUM_TCBSTM]
Field Type UINT4
Field Description Line code violation counter port. defined context interrupt mask. Only defined event counting.
PRBS Processor Events: EVT_PRBS
This structure includes events PRBS monitor block. data fields interpreted ways. context interrupt masking, fields set/clear corresponding hardware interrupt bits. context event counting, fields serve occurrence counters threshold levels particular event/interrupt. Data field byteErrCt[][] only exception, since there hardware interrupts associated with line code violation counters. This field applicable interrupt masking. Table PRBS Monitor Event: sTBS_EVT_PRBS Field Name
monerr [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] monb1e1 [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] monsync [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] byteErrCt [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS]
Field Type UINT4
Field Description Monitor byte error interrupt slot
UINT4
Monitors B1/E1 byte mismatch interrupt slot Monitors synchronization state change interrupt slot Monitors byte error counter detected block defined event counting, applicable context interrupt masking.
UINT4
UINT4
Structures Driver's Allocated Memory
These structures defined used driver; they part context memory allocated when driver opened. structures are: Module Data Block (MDB), Device Data Block (DDB).
Module Data Block:
top-level structure module. contains configuration data about module level code pointers configuration data about device level codes.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
errModule Most module functions return specific error code directly. When returned code TBS_FAILURE, this indicates that top-level function able carry specified error code back application. Under those circumstances, proper error code recorded this element. element first structure that user cast pointer into INT4 pointer retrieve local error (this eliminates need include template into application code). valid indicates that this structure been properly initialized read user. stateModule contains current state module could TBS_MOD_START, TBS_MOD_IDLE TBS_MOD_READY. maxDev indicates maximum number devices supported driver numDevs indicates number devices currently registered driver pddb pointer array device data blocks (DDB) inside driver.
Table Module Data Block: sTBS_MDB Field Name
errModule valid stateModule
Field Type INT4 UINT2
TBS_MOD_STATE
Field Description Global error Indicator module calls Indicates that this structure been initialized Module state; following IDLE READY Maximum number devices supported Number devices currently registered (array Device Data Blocks (DDB) context memory
maxDevs numDevs pddb
UINT2 UINT2
sTBS_DDB
Device Data Block:
top-level structure each device. contains configuration data about device level code pointers configuration data about device level sub-blocks.
errDevice Most device functions return specific error code directly. When returned code TBS_FAILURE, this indicates that top-level function able carry
specific error code back application. addition, some device functions return error code. Under those circumstances, proper error code recorded this element. element first structure that user cast pointer INT4 pointer retrieve local error (this eliminates need include template application code).
valid indicates that this structure been properly initialized read user.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
stateDevice contains current state Device could TBS_START, TBS_PRESENT, TBS_ACTIVE TBS_INACTIVE. usrCtxt value that used user identify device during execution callback functions. passed driver when tbsAdd called returned user
when callback function invoked. element unused driver itself contain value. rest members inside structure, please refer their respective description fields inside table.
Table Device Data Block: sTBS_DDB Field Name
errDevice
Field Type INT4 UINT2
eTBS_DEV_STATE
Field Description Global error indicator device calls Indicates that this structure been initialized Device State following PRESENT, ACTIVE INACTIVE Base address Device Stores user's context device. passed input parameter when driver invokes application callback Indicates current type polling Address callback function events Address callback function time slot interchange events Address callback function PRBS processor events Address callback function disparity encoder events Address callback function 8B/10B decoder events
valid
stateDevice
baseAddr usrCtxt
void*
sTBS_USR_CTXT
pollISR
sTBS_POLL
cbackIO
sTBS_CBACK
cbackTSI
sTBS_CBACK
cbackPRBS
sTBS_CBACK
cbackTXDE
sTBS_CBACK
cbackRX8D
sTBS_CBACK
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
txtiMap [TBS_NUM_CHNLTYPE]
Field Type
sTBS_DIV sTBS_TSI_CONMAP
Field Description copy given initialization Mirror copy transmit TSIs connection residing driver memory Mirror copy receive TSIs connection residing driver memory Pointer mutual exclusion semaphore event statistics block protection Error indicator statistics retrieval Current interrupt mask Device event statistics block mapping mode: normal, overwrite
rxtiMap [TBS_NUM_CHNLTYPE]
sTBS_TSI_CONMAP
muxSemStat
void*
errStat
INT4
sTBS_MASK sTBS_STAT BOOL
intrmask evtCntr tsiOverwrite
Statistics Block: STAT
This level structure statistics. Table Event Statistics Block: sTBS_STAT Field Name
actual delta thresh threshCtr
Field Type
sTBS_CNTR sTBS_CNTR sTBS_CNTR sTBS_CNTR
Field Description Cumulative count events Delta count events Threshold setting events Threshold counter events (internal use)
Event/Statistics Counter Structure: CNTR
This structure contains counter events statistics.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Table Events Counter Block: sTBS_CNTR Field Name
sysclka
Field Type UINT4 UINT4
Field Description System clock inactivity event event) Interrupt event data parity error each incoming TelecomBus byte stream event) Interrupt event lock state change event) Interrupt event block error condition Tributary control inactivity each incoming TelecomBus byte stream High order path control inactivity each incoming TelecomBus byte stream Data inactivity each incoming TelecomBus byte stream Interrupt event change active connection page each transmit block event) Interrupt event change active memory page each receive block event) FIFO error interrupt event each transmit disparity encoder TXDE event) Events each receive 8B/10B decoder block RX8D event) Events transmit PRBS monitor PRBS event) Events receive PRBS monitor PRBS event)
io_ipe [TBS_NUM_TCBSTM]
csuLocke
UINT4 UINT4 UINT4 UINT4 UINT4 UINT4
dllError
itca [TBS_NUM_TCBSTM] ipca [TBS_NUM_TCBSTM] [TBS_NUM_TCBSTM] txti_coap [TBS_NUM_CHNLTYPE]
rxti_coap [TBS_NUM_CHNLTYPE]
UINT4
txde_fifoerr [TBS_NUM_CHNLTYPE] [TBS_NUM_TCBSTM] rx8d [TBS_NUM_CHNLTYPE] itpp
UINT4
sTBS_EVT_RX8D
sTBS_EVT_PRBS
rxpm [TBS_NUM_CHNLTYPE]
sTBS_EVT_PRBS
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Device Status Block: STATUS
This structure encompasses relevant status device instant read back. Table Device Status Block sTBS_STATUS Field Name
rx8d [TBS_NUM_CHNLTYPE] rxpm [TBS_NUM_CHNLTYPE] itpp
Field Type
sTBS_STATUS_ sTBS_STATUS_ RX8D
Field Description Current status block Current status receive 8B/10B decoders Current status receive PRBS monitor blocks Current status incoming PRBS monitor block Current status reference clock lock. locked, locked
sTBS_STATUS_ PRBS
sTBS_STATUS_ PRBS
csuLockv
UINT2
Status Block: STATUS_IO
This sub-structure contains block status. Table Block Status: sTBS_STATUS Field Name
sysclka itca [TBS_NUM_TCBSTM] ipca [TBS_NUM_TCBSTM] [TBS_NUM_TCBSTM] dll_run
Field Type UINT1 UINT1 UINT1 UINT1 UINT1
Field Description System clock activity inactive, active) Tributary control active each incoming TelecomBus stream inactive, active) High order path control active each incoming TelecomBus stream inactive, active) Data active each incoming TelecomBus stream inactive, active) block lock status. phase detector lock, reads logic high; otherwise, reads logic low.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
dll_error
Field Type UINT1
Field Description error indicator. normally reads logic unless runs dynamic range.
8B/10B Decoder Status Block: STATUS_RX8D
This sub-structure contains 8B/10B decoder status. Table 8B/10B Decoder Block Status: sTBS_STATUS _RX8D Field Name
ocav [TBS_NUM_TCBSTM] ofav [TBS_NUM_TCBSTM]
Field Type UINT1 UINT1
Field Description Current out-of-character alignment status, aligned, aligned Current out-of-frame alignment status, aligned, aligned
PRBS Monitor Status Block: STATUS_PRBS
This sub-structure encompasses PRBS monitor's status. Table PRBS Monitor Status: sTBS_STATUS _PRBS Field Name
monsyncv [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] prbs_lfsr [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] rec_b1 [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS] rec_e1 [TBS_NUM_TCBSTM] [TBS_NUM_TSLOTS]
Field Type UINT1
Field Description Current monitor synchronization status, unsynchronized, synchronized Current PRBS linear feedback shifted register (LFSR) content Received bytes
UINT4
UINT1
UINT1
Received bytes
PRBS Generator/Monitor Configuration Block: CFG_PRBS PORT
This sub-structure encompasses PRBS generator/monitor configuration block.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Table PRBS Generator/Monitor Configuration Block Port: sTBS_CFG_PRBS PORT Field Name
sts1PathCfg [TBS_NUM_TSLOTS]
Field Type
sTBS_CFG_PRBS
Field Description STS-1 path configuration parameter time slot
PRBS Generator/Monitor STS-1 Configuration Parameters: CFG_PRBS
This sub-structure encompasses PRBS generator/monitor STS-1 path configuration parameters. Table PRBS Generator/Monitor Configuration Parameters Time Slot sTBS_CFG_PRBS Field Name
amode
Field Type UINT1 UINT1 UINT1 UINT1 UINT1 UINT4 UINT1 UINT1
Field Description TelecomBus Mode, TelecomBus mode, autonomous mode PRBS inversion. unmodified, inverted B1/E1 byte replacement generator monitoring monitor. inactive, active General purpose output, only used OTPG (OCOUT bit) Pattern selection. PRBS, sequential Linear feedback shift register (LFSR) PRBS byte inserted generator monitored monitor value inserted byte only used autonomous mode when processing concatenated payload (for generator only) Enable/disable PRBS pattern insertion generator monitoring monitor. disable, enable This field provides additional control PRBS generator (ITPP) transmit side. disable, Prbs data sent ID8E, Prbs data sent IP8E, Prbs data sent both ID8E IP8E blocks
inv_prbs b1e1_enb
seq_prbs prbs_lfsr
prbs_ena
UINT1
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Structures Passed through RTOS Buffers Interrupt Service Vector:
This buffer structure used capture status device (during poll processing) Deferred Processing Routine (DPR). template device registers that involved exception processing. application's responsibility create pool buffers (using this template determine buffer's size) when driver calls user-supplied sysTbsBufferStart function. individual buffer then obtained driver sysTbsISVBufferGet returned `pool' sysTbsISVBufferRtn. Table Interrupt Service Vector: sTBS_ISV Field Name
deviceHandle parityErrIntrStat
Field Type
sTBS_HNDL
Field Description Handle device cause Master accumulation transfer parity error interrupt status Master interrupt status#1 Master interrupt status#2 Master interrupt status#3 Master interrupt status#4 Master interrupt status
UINT2 UINT2 UINT2 UINT2 UINT2 UINT2
masterIntrStat_1 masterIntrStat_2 masterIntrStat_3 masterIntrStat_4 tsiIntrStat
Deferred Processing Vector:
This block used ways. First, used determine size buffer required RTOS driver. Second, template data that assembled sent application code. Note: application code responsible returning this buffer RTOS buffer pool. divides into sections: TSI, PRBS, TXDE, RX8D. Five user-supplied callback routines (one section) used inform application which section device caused event being reported. size this buffer should kept short possible. Table Deferred Processing Vector: sTBS_DPV Field Name Field Type Field Description
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Data Structures
Field Name
event cause
Field Type
TBS_DPR_EVENT
Field Description Event being reported Reason Event
UINT2
Global Variable
Although most variables within driver meant used application code, there global variable that great
tbsMdb: This global pointer Module Data Block (MDB). content this global variable should considered read-only application.
errModule: This structure element used store error code that specifies reason function's failure. field only valid functions that return error code when value TBS_FAILURE returned. stateModule: This structure element used store module state shown Figure pddb[ array pointers individual Device Data Block user cautioned that only valid valid flag set. Note that array DDBs particular order.
errDevice: This structure element used store error code that specifies reason function's failure. field only valid functions that return error code when value TBS_FAILURE returned. stateDevice: This structure element used store device state shown Figure
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
APPLICATION PROGRAMMING INTERFACE
This section provides detailed description each function that member driver Application Programming Interface (API). functions typically execute context application task. Note: These functions re-entrant. This means that application tasks cannot invoke same same time. However, driver protects data structures from concurrent accesses application task.
Module Management
module management functions that used application open, start, stop, close driver module. These functions will take care initializing driver, well allocating memory other RTOS resources needed driver. They also used change module state. more information module states state diagram page typical module management flow diagram page
Opening Driver Module: tbsModuleOpen
Performs module level initialization device driver. This involves allocating memory needed driver initializing internal structures. Prototype Inputs Outputs Returns
INT4 tbsModuleOpen( sTBS_MIV *pmiv) pmiv
(pointer Module Initialization Vector
Places address into passed Application. Success TBS_SUCCESS Failure TBS_ERR_MODULE_ALREADY_OPEN
TBS_ERR_INVALID_MIV TBS_ERR_MEM_ALLOC
Valid States Side Effects
TBS_MOD_START
Changes MODULE state TBS_MOD_IDLE
Closing Driver Module: tbsModuleClose
Performs module level shutdown driver. This involves deleting devices being controlled driver calling tbsDelete each device) de-allocating memory allocated driver. Prototype
INT4 tbsModuleClose( void)
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Inputs Outputs Returns
None None Success TBS_SUCCESS Failure TBS_ERR_MODULE_NOT_OPEN
TBS_FAILURE
Valid States Side Effects
STATES Changes MODULE state TBS_MOD_START
Starting Driver Module: tbsModuleStart
Connects RTOS resources driver. This involves allocating semaphores timers, initializing buffers, installing handler task. Upon successful return from this function, driver ready devices.
Prototype INT4 tbsModuleStart(void)
Inputs Outputs Returns
None None Success TBS_SUCCESS Failure TBS_ERR_MODULE_NOT_OPEN
TBS_ERR_INVALID_STATE TBS_ERR_MEM_ALLOC TBS_ERR_INT_INSTALL TBS_FAILURE
Valid States Side Effects
TBS_MOD_IDLE
Changes MODULE state TBS_MOD_READY
Stopping Driver Module: tbsModuleStop
Disconnects RTOS resources from driver. This involves de-allocating semaphores timers, freeing-up buffers, uninstalling handler task. there registered devices, tbsDelete called each. Prototype Inputs Outputs Returns
INT4 tbsModuleStop( void)
None None Success TBS_SUCCESS MODULE OPEN
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Failure TBS_ERR_MODULE_NOT_OPEN
TBS_ERR_INVALID_STATE TBS_FAILURE
Valid States Side Effects
TBS_MOD_READY
Changes MODULE state TBS_MOD_IDLE
Device Management
device management functions that used application control device. These functions take care initializing device specific configuration, enabling device's general activity, well enabling interrupt processing that device. These functions also used change software state that device. more information device states, state diagram page typical device management flow diagram, page
Adding Device: tbsAdd
This verifies presence device hardware then returns handle back user. device handle passed parameter most device functions. used driver identify device which operation performed. Prototype Inputs
sTBS_HNDL tbsAdd(void *usrCtxt, void *baseAddr, INT4 **pperrDevice) usrCtxt user context this device baseAddr base address device pperrDevice (pointer area memory pperrDevice (pointer errDevice (inside DDB)
Outputs
ERROR code written failure
TBS_ERR_INVALID_STATE TBS_ERR_DEVS_FULL TBS_ERR_DEV_ALREADY_ADDED TBS_ERR_INVALID_TYPE_ID TBS_FAILURE
Returns Valid States Side Effects
device handle
TBS_MOD_READY
Changes DEVICE state TBS_PRESENT
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Deleting Device: tbsDelete
This function used remove specified device from list devices being controlled driver. Deleting device involves un-registering that device releasing associated device handle. Prototype Inputs Outputs Returns
INT4 tbsDelete(sTBS_HNDL deviceHandle) deviceHandle
device Handle (from tbsAdd)
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_FAILURE TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
Valid States Side Effects
Changes device state TBS_PRESENT
Initializing Device: tbsInit
This initializes Device Data Block (DDB) associated with that device during tbsAdd, applies soft reset device, configures according passed application. passed NULL, profile number used. profile number zero indicates that register bits left their default state (after soft reset). Note that profile number ignored UNLESS passed NULL. Prototype Inputs
INT4 tbsInit(sTBS_HNDL deviceHandle, sTBS_DIV *pdiv, UINT2 profileNum) deviceHandle pdiv profileNum
device Handle (from tbsAdd) (pointer Device Initialization Vector profile number (not supported this device)
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG TBS_ERR_CONNECT_EXIST TBS_ERR_POLL_TIMEOUT
Valid States Side Effects
TBS_PRESENT
Changes DEVICE state TBS_INACTIVE
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Updating Configuration Device: tbsUpdate
Updates configuration device, well Device Data Block (DDB) associated with that device according passed application. only difference between tbsUpdate tbsInit that soft reset will applied device. Prototype Inputs
INT4 tbsUpdate(sTBS_HNDL deviceHandle, sTBS_DIV *pdiv, UINT2 profileNum) deviceHandle pdiv profileNum
device Handle (from tbsAdd) (pointer Device Initialization Vector profile number (not supported this device)
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ACTIVE, TBS_INACTIVE
Valid States Side Effects
None
Resetting Device: tbsReset
This applies software reset device. Also resets contents (except user context). This function typically called before re-initializing device (via tbsInit). Prototype Inputs Outputs Returns Valid States Side Effects
INT4 tbsReset(sTBS HNDL deviceHandle) deviceHandle
device Handle (from tbsAdd)
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
Changes DEVICE state TBS_PRESENT
Activating Device: tbsActivate
This restores state device after de-activate. Interrupts re-enabled. Prototype
INT4 tbsActivate(sTBS_HNDL deviceHandle)
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Inputs Outputs Returns
deviceHandle
device Handle (from tbsAdd)
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_INACTIVE
Valid States Side Effects
Changes DEVICE state TBS_ACTIVE
De-Activating Device: tbsDeActivate
De-activates device from operation. Interrupts masked device into quiet state enable bits. Prototype Inputs Outputs Returns
INT4 tbsDeActivate(sTBS_HNDL deviceHandle) deviceHandle
device Handle (from tbsAdd)
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ACTIVE
Valid States Side Effects
Changes DEVICE state TBS_INACTIVE
Device Read Write
Reading from Device Registers: tbsRead
This function used read register specific device providing register number. function derives actual address location based device handle register number inputs. then reads contents this address location using system-specific macro, sysTbsRead. Note that failure read returns zero that error indication written associated DDB. Prototype Inputs
UINT2 tbsRead( sTBS_HNDL deviceHandle, UINT2 regNum) deviceHandle regNum
device Handle (from tbsAdd) register number
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Outputs
ERROR code written MDB:
TBS_ERR_INVALID_DEV
ERROR code written DDB:
TBS_ERR_INVALID_REG
Returns Valid States Side Effects
Success value read Failure
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
affect registers that change after read operation
Writing Device Registers: tbsWrite
This function used write register specific device providing register number. function derives actual address location based device handle register number inputs. then writes contents this address location using system specific macro, sysTbsWrite. Note that failure write returns zero error indication written DDB. Prototype Inputs
UINT2 tbsWrite( sTBS_HNDL deviceHandle, UINT2 regNum, UINT2 value) deviceHandle regNum value
device Handle (from tbsAdd) register number value written
TBS_ERR_INVALID_DEV
Outputs
ERROR code written MDB: ERROR code written DDB:
TBS_ERR_INVALID_REG
Returns Valid States Side Effects
Success value written Failure
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
change configuration Device
Reading from block Device Registers: tbsReadBlock
This function used read register block specific device giving starting register number size read. function derives actual start address location based device handle starting register number inputs. then reads contents this data block using multiple calls system specific macro, sysTbsRead. Note that failure read returns zero error indication written DDB. user's responsibility allocate enough memory block read.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Prototype Inputs
UINT2 tbsReadBlock( sTBS_HNDL deviceHandle, UINT2 startRegNum, UINT2 size, UINT2 *pblock) deviceHandle startRegNum size pblock
device Handle (from tbsAdd) starting register number size block read (pointer block read
TBS_ERR_INVALID_DEV
Outputs
ERROR code written ERROR code written pblock
TBS_ERR_INVALID_ARG TBS_ERR_INVALID_REG
(pointer block read
Returns Valid States Side Effects
Success Last register value read Failure
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
affect registers that change after read operation
Writing Block Device Registers: tbsWriteBlock
This function used write register block specific device giving starting register number block size. function derives actual starting address location based device handle starting register number inputs. then writes contents this data block using multiple calls system specific macro, sysTbsWrite. from passed block only modified device's registers corresponding passed mask. Note that error indication written Prototype Inputs
UINT2 tbsWriteBlock( sTBS_HNDL deviceHandle, UINT2 startRegNum, UINT2 size, UINT2 *pblock, UINT2 *pmask) deviceHandle startRegNum size pblock pmask
device Handle (from tbsAdd) starting register number size block read (pointer block write (pointer mask
TBS_ERR_INVALID_DEV
Outputs
ERROR code written ERROR code written
TBS_ERR_INVALID_ARG TBS_ERR_INVALID_REG
Returns
Success Last register value written Failure
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Valid States Side Effects
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
change configuration Device
Indirect reading from Device Registers: tbsReadIndirect
This function used perform indirect read from indirect register device giving register location indirect address read from. function derives actual start address location based device handle. then reads data pointed indirect address using calls system specific macro, sysTbsRead. Note that failure read returns zero error indication written DDB. Prototype Inputs
UINT2 tbsReadIndirect( sTBS_HNDL deviceHandle, UINT2 iaddrReg, UINT2 idataReg, UINT2 iaddr, UINT2 *pData) deviceHandle iaddrReg idataReg indirAddr pData
device Handle (from tbsAdd) indirect address register number indirect data register number indirect address read (pointer data read
TBS_ERR_INVALID_DEV
Outputs
ERROR code written ERROR code written
TBS_ERR_INVALID_REG TBS_ERR_POLL_TIMEOUT pData
(pointer block read
Returns Valid States Side Effects
Success value read Failure
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
affect registers that change after read operation
Indirect writing Device Registers: tbsWriteIndirect
This function used perform indirect write indirect access register device giving register location indirect address written function derives actual start address location based device handle. then writes data location pointed indirect address using calls system specific macro, sysTbsWrite. Note that failure write returns zero that error indication written DDB. Prototype Inputs
UINT2 tbsWriteIndirect( sTBS_HNDL deviceHandle, UINT2 iaddrReg, UINT2 idataReg, UINT2 iaddr, UINT2 Data) deviceHandle iaddrReg
device Handle (from tbsAdd) indirect address register number
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
idataReg iaddr data
indirect data register number indirect address read data
TBS_ERR_INVALID_DEV
Outputs
ERROR code written ERROR code written
TBS_ERR_INVALID_REG TBS_ERR_POLL_TIMEOUT
Returns Valid States Side Effects
Success value written Failure
TBS_PRESENT, TBS_ACTIVE, TBS_INACTIVE
affect registers that change after read operation
Device Configuration
following functions control dynamic configuration device.
Setting Device Configuration Block: tbsDeviceSetConfig
This function sets device configuration dynamically through sTBS_CFG_DEVICE data structure. Prototype Inputs Outputs Returns
INT4 tbsDeviceSetConfig( sTBS_HNDL deviceHandle, sTBS_CFG_DEVICE *pCfgParam) deviceHandle pCfgParam
device Handle (from tbsAdd) device configuration block
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
affect data flow
Getting Device Configuration Block: tbsDeviceGetConfig
This function gets current device configuration.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Prototype Inputs Outputs Returns
INT4 tbsDeviceGetConfig( sTBS_HNDL deviceHandle, sTBS_CFG_DEVICE *pCfgParam) deviceHandle pCfgParam pCfgParam
device Handle (from tbsAdd) device configuration block device configuration block
Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Time Slot Interchange
main objective time slot interchange remapping time slots. Functions provided connect disconnect calls. There also functions housekeeping, such altering mapping mode, verifying unicast multicast calls, checking mapping patterns, etc.
Setting global mapping mode: tbsSetMapMode
global mapping mode TSIs device (user-defined bypass). Bypass mode puts chip through mode user-defined mode activates TSIs inside device. Prototype Inputs
INT4 tbsSetMapMode( sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_TSIMODE mode) deviceHandle tdir mode
device Handle (from tbsAdd) traffic direction mapping mode
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Getting global mapping mode: tbsGetMapMode
current global mapping mode TSIs device (user-defined bypass). Prototype Inputs
INT4 tbsGetMapMode( sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_TSIMODE *pMode) deviceHandle tdir pMode
device Handle (from tbsAdd) traffic direction current mapping mode
Outputs Returns
pMode current mapping mode Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Setting active connection page TSI: tbsSetPage
conjunction with external hardware xCMP (TCMP transmit side OCMP receive side), this function selects active connection memory page TSI. Prototype
INT4 tbsSetPage(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum) deviceHandle tdir chnlType pgNum
Inputs
device Handle (from tbsAdd) traffic direction channel type memory page number
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Getting active connection page TSI: tbsGetPage
Obtain current active connection memory page TSI. Prototype
INT4 tbsGetPage(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 *pPgNum) deviceHandle tdir chnlType pPgNum
Inputs
device Handle (from tbsAdd) traffic direction channel type pointer active memory page number
Outputs Returns
Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Mapping source destination slot(s) TSI: tbsMapSlot
source slot destination slot(s). parameter numSlots greater than one, function maps given srcSlot group destSlot. error code will returned there attempt into occupied destination space-time slot. Prototype
INT4 tbsMapSlot( sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *psrcSlot, sTBS_SPTSLOT destSlot[], UINT4 numSlots) deviceHandle tdir chnlType pgNum psrcSlot destSlot[] numSlots
Inputs
device Handle (from tbsAdd) traffic direction channel type connection page number updated pointer source space-time slot array destination space-time slot(s) number destination slot(s) mapped
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
TBS_ERR_CONNECT_EXIST
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Retrieving source space-time Slot TSI: tbsGetSrcSlot
Retrieves source space-time slot given destination slot. NULL slot will returned there match NULL slot port time slot numbers equal zero). Prototype
INT4 tbsGetSrcSlot(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *pdestSlot, sTBS_SPTSLOT *psrcSlot) deviceHandle tdir chnlType pgNum pdestSlot psrcSlot
Inputs
device Handle (from tbsAdd) traffic direction channel type connection page number updated pointer destination space-time slot(s) pointer source space-time slot
Outputs Returns
Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Retrieving destination space-time Slot TSI: tbsGetDestSlot
Retrieves destination space-time slot given source space-time slot. number destinations less than equal one, connection unicast; otherwise, multicast. NULL slot, along with *pNumSlot will returned there match. NULL slot port time slot numbers equal zero) Prototype
INT4 tbsGetDestSlot(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *psrcSlot, sTBS_SPTSLOT destSlot[], UINT4 *pNumSlot) deviceHandle tdir chnlType pgNum
Inputs
device Handle (from tbsAdd) traffic direction channel type connection page number updated
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
psrcSlot
pointer source space-time slot(s) array destination space-time slots pointer number destination time slots
Outputs Returns
destSlot[] pNumSlot
Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Copying connection from page another TSI: tbsCopyPage
Copy connection memory from page another TSI. This also applies page copying across different TSIs same traffic direction. instance, page working copied page protection using this function. Prototype
INT4 tbsCopyPage(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE srcChnlType, UINT2 srcPage, eTBS_CHNLTYPE destChnlType, UINT2 destPage) deviceHandle tdir srcChnlType srcPage destChnlType destPage
Inputs
device Handle (from tbsAdd) traffic direction source channel type source connection page number destination channel type destination connection page number
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG TBS_FAILURE
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Inserting Idle Data TSI: tbsInsIdleData
Insert arbitrary idle data pattern into given destination space-time slot. pattern should valid 8b/10b character most cases. This function valid only transmit TSIs.
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Prototype
INT4 tbsInsIdleData(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *pdestSlot, BOOL insert, UINT2 idleDat) deviceHandle tdir chnlType pgNum pdestSlot insert idleDat
Inputs
device Handle (from tbsAdd) traffic direction channel type connection page updated pointer destination space-time slot idle data insertion control. disable, enable idle data pattern. valid range: (0-1023)
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG TBS_ERR_POLL_TIMEOUT
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Removing established connection TSI: tbsRmSlot
Disconnect established connection between given source destination space-time slot(s). Prototype
INT4 tbsRmSlot(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *psrcSlot, sTBS_SPTSLOT destSlot[], UINT2 numSlot) deviceHandle tdir chnlType pgNum psrcSlot destSlot[] numSlot
Inputs
device Handle (from tbsAdd) traffic direction channel type connection page updated pointer source space-time slot array destination space-time slot(s) number destination space-time slot(s) removed
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG TBS_ERR_CONNECT_NONEXISTENT TBS_FAILURE
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Clearing established connections TSI: tbsClrSlot
Disconnect established connection(s) given source space-time slot. This function very useful disconnecting multicast calls given source space-time slot. Prototype
INT4 tbsClrSlot(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *psrcSlot) deviceHandle tdir chnlType pgNum psrcSlot
Inputs
device Handle (from tbsAdd) traffic direction channel type connection page updated pointer source space-time slot
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG TBS_ERR_CONNECT_NONEXISTENT
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Verifying multicast connection TSI: tbsIsMulticast
Query given source space-time slot multi-casting. returned value this function either total number connections non-negative number error code negative number. Prototype
INT4 tbsIsMulticast(sTBS_HNDL deviceHandle, eTBS_TRAFFICDIR tdir, eTBS_CHNLTYPE chnlType, UINT2 pgNum, sTBS_SPTSLOT *psrcSlot) deviceHandle tdir chnlType
Inputs
device Handle (from tbsAdd) traffic direction channel type
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
pgNum psrcSlot
connection page updated pointer source space-time slot
Outputs Returns
None Success Total number connections. greater than one, multicast. Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Verifying connection setting TSI: tbsIsValidMap
This function acts sanity check connection setting receive side TSIs; verifies current RWTSEN, RPTSEN, RASTEN setting receive working, protection auxiliary TSIs. When RWSEL_EN (accessible tbsDeviceSetConfig tbsDeviceGetConfig) low, RxTSEN chooses which timeslot from RxTI will data source outgoing TelecomBus. purpose this function detect multiple RxTSEN settings possible error setting map. (Note: multiple RxTSEN bits set, RWTSEN will override others; this means that working-channel data will selected.) Prototype Inputs
INT4 tbsIsValidMap( sTBS_HNDL deviceHandle, BOOL activePage) deviceHandle activePage
device Handle (from tbsAdd) high check active page, check inactive page
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_MAP TBS_FAILURE
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
8B/10B Decoder
8B/10B decoder (Rx8D) frames receive data stream find 8B/10B character boundaries. Functions, mainly diagnostics nature, available interacting with these decoders.
Forcing character alignment 8B/10B decoder: tbsForceOutofChar
Force character alignment block 8B/10B decoder (Rx8D) into out-of-character alignment state. block will search synchronize with alignment character (K28.5) data stream. Prototype Inputs
INT4 tbsForceOutofChar(sTBS_HNDL deviceHandle, eTBS_CHNLTYPE chnlType, UINT2 portNum) deviceHandle chnlType portNum
device Handle (from tbsAdd) channel type port number, valid range from
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Forcing frame alignment 8B/10B decoder: tbsForceOutofFrm
Force frame alignment block 8B/10B decoder (Rx8D) into out-of-frame alignment state. block will search synchronize with alignment character (K28.5) data stream. Prototype Inputs
INT4 tbsForceOutofFrm(sTBS_HNDL deviceHandle, eTBS_CHNLTYPE chnlType, UINT2 blkType, UINT2 portNum) deviceHandle chnlType portNum blkType
device Handle (from tbsAdd) channel type port number, valid range from obsolete, value ignored
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Disparity Encoder
Disparity encoders ensure disparity integrity 8B/10B character streams after possible time slot remapping. Diagnostic functions available these encoders.
Forcing line code violation disparity encoder: tbsTXDEForceLcv
Generate line code violation inverting data generate complementary running disparity disparity encoder blocks. Prototype Inputs
INT4 tbsTXDEForceLcv(sTBS_HNDL deviceHandle, eTBS_CHNLTYPE chnlType, UINT2 portNum, BOOL activate) deviceHandle chnlType portNum activate
device Handle (from tbsAdd) channel type port number, valid range from disable, enable
Outputs Returns
None Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_ERR_INVALID_STATE TBS_ERR_INVALID_ARG
Valid States Side Effects
TBS_ACTIVE, TBS_INACTIVE
None
Centering FIFO disparity encoder: tbsTXDECenterFIFO
Force FIFO depth 8B/10B characters deep when current FIFO depth range characters. current FIFO depth range this function effect. Prototype Inputs
INT4 tbsTXDECenterFIFO(sTBS_HNDL deviceHandle, eTBS_CHNLTYPE chnlType, UINT2 portNum) deviceHandle chnlType portNum
device Handle (from tbsAdd) channel type port number, valid range from
Outputs
None
Proprietary Confidential PMC-Sierra, Inc., Customers' Internal Document PMC-2001251, Issue
(PM5310) Driver Manual Application Programming Interface
Returns
Success TBS_SUCCESS Failure TBS_ERR_INVALID_DEV
TBS_

Other recent searches


XAPP1075 - XAPP1075   XAPP1075 Datasheet
TLV2221 - TLV2221   TLV2221 Datasheet
TLV2221Y - TLV2221Y   TLV2221Y Datasheet
SK55GARL065E - SK55GARL065E   SK55GARL065E Datasheet
Si7129DN - Si7129DN   Si7129DN Datasheet
MPDS092A - MPDS092A   MPDS092A Datasheet
KBPC50005-W - KBPC50005-W   KBPC50005-W Datasheet
KBPC5010-W - KBPC5010-W   KBPC5010-W Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive