| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
PM5310 DRIVER MANUAL PROPRIETARY CONFIDENTIAL RELEASE ISSUE
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 searchesXAPP1075 - 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 |