6 * @brief Header file for the IXP400 ATM Manager component (IxAtmm)
10 * IXP400 SW Release version 2.0
12 * -- Copyright Notice --
15 * Copyright 2001-2005, Intel Corporation.
16 * All rights reserved.
19 * SPDX-License-Identifier: BSD-3-Clause
21 * -- End of Copyright Notice --
26 * @defgroup IxAtmm IXP400 ATM Manager (IxAtmm) API
28 * @brief IXP400 ATM Manager component Public API
37 * Put the user defined include files required
40 #include "IxOsalTypes.h"
43 * #defines and macros used in this file.
47 * @def IX_ATMM_RET_ALREADY_INITIALIZED
49 * @brief Component has already been initialized
51 #define IX_ATMM_RET_ALREADY_INITIALIZED 2
54 * @def IX_ATMM_RET_INVALID_PORT
56 * @brief Specified port does not exist or is out of range */
57 #define IX_ATMM_RET_INVALID_PORT 3
60 * @def IX_ATMM_RET_INVALID_VC_DESCRIPTOR
62 * @brief The VC description does not adhere to ATM standards */
63 #define IX_ATMM_RET_INVALID_VC_DESCRIPTOR 4
66 * @def IX_ATMM_RET_VC_CONFLICT
68 * @brief The VPI/VCI values supplied are either reserved, or they
69 * conflict with a previously registered VC on this port */
70 #define IX_ATMM_RET_VC_CONFLICT 5
73 * @def IX_ATMM_RET_PORT_CAPACITY_IS_FULL
75 * @brief The virtual connection cannot be established on the port
76 * because the remaining port capacity is not sufficient to
78 #define IX_ATMM_RET_PORT_CAPACITY_IS_FULL 6
81 * @def IX_ATMM_RET_NO_SUCH_VC
83 * @brief No registered VC, as described by the supplied VCI/VPI or
84 * VC identifier values, exists on this port */
85 #define IX_ATMM_RET_NO_SUCH_VC 7
88 * @def IX_ATMM_RET_INVALID_VC_ID
90 * @brief The specified VC identifier is out of range. */
91 #define IX_ATMM_RET_INVALID_VC_ID 8
94 * @def IX_ATMM_RET_INVALID_PARAM_PTR
96 * @brief A pointer parameter was NULL. */
97 #define IX_ATMM_RET_INVALID_PARAM_PTR 9
100 * @def IX_ATMM_UTOPIA_SPHY_ADDR
102 * @brief The phy address when in SPHY mode */
103 #define IX_ATMM_UTOPIA_SPHY_ADDR 31
106 * @def IX_ATMM_THREAD_PRI_HIGH
108 * @brief The value of high priority thread */
109 #define IX_ATMM_THREAD_PRI_HIGH 90
112 * Typedefs whose scope is limited to this file.
115 /** @brief Definition for use in the @ref IxAtmmVc structure.
116 * Indicates the direction of a VC */
119 IX_ATMM_VC_DIRECTION_TX=0, /**< Atmm Vc direction transmit*/
120 IX_ATMM_VC_DIRECTION_RX, /**< Atmm Vc direction receive*/
121 IX_ATMM_VC_DIRECTION_INVALID /**< Atmm Vc direction invalid*/
124 /** @brief Definition for use with @ref IxAtmmVcChangeCallback
125 * callback. Indicates that the event type represented by the
126 * callback for this VC. */
129 IX_ATMM_VC_CHANGE_EVENT_REGISTER=0, /**< Atmm Vc event register*/
130 IX_ATMM_VC_CHANGE_EVENT_DEREGISTER, /**< Atmm Vc event de-register*/
131 IX_ATMM_VC_CHANGE_EVENT_INVALID /**< Atmm Vc event invalid*/
132 } IxAtmmVcChangeEvent;
134 /** @brief Definitions for use with @ref ixAtmmUTOPIAInit interface to
135 * indicate that UTOPIA loopback should be enabled or disabled
136 * on initialisation. */
139 IX_ATMM_UTOPIA_LOOPBACK_DISABLED=0, /**< Atmm Utopia loopback mode disabled*/
140 IX_ATMM_UTOPIA_LOOPBACK_ENABLED, /**< Atmm Utopia loopback mode enabled*/
141 IX_ATMM_UTOPIA_LOOPBACK_INVALID /**< Atmm Utopia loopback mode invalid*/
142 } IxAtmmUtopiaLoopbackMode;
144 /** @brief This structure describes the required attributes of a
145 * virtual connection.
148 unsigned vpi; /**< VPI value of this virtual connection */
149 unsigned vci; /**< VCI value of this virtual connection. */
150 IxAtmmVcDirection direction; /**< VC direction */
152 /** Traffic descriptor of this virtual connection. This structure
153 * is defined by the @ref IxAtmSch component. */
154 IxAtmTrafficDescriptor trafficDesc;
158 /** @brief Definitions for use with @ref ixAtmmUtopiaInit interface to
159 * indicate that UTOPIA multi-phy/single-phy mode is used.
163 IX_ATMM_MPHY_MODE = 0, /**< Atmm phy mode mphy*/
164 IX_ATMM_SPHY_MODE, /**< Atmm phy mode sphy*/
165 IX_ATMM_PHY_MODE_INVALID /**< Atmm phy mode invalid*/
169 /** @brief Structure contains port-specific information required to
170 * initialize IxAtmm, and specifically, the IXP400 UTOPIA
173 unsigned reserved_1:11; /**< [31:21] Should be zero */
174 unsigned UtopiaTxPhyAddr:5; /**< [20:16] Address of the
175 * transmit (Tx) PHY for this
176 * port on the 5-bit UTOPIA
177 * Level-2 address bus */
178 unsigned reserved_2:11; /**< [15:5] Should be zero */
179 unsigned UtopiaRxPhyAddr:5; /**< [4:0] Address of the receive
180 * (Rx) PHY for this port on the
181 * 5-bit UTOPIA Level-2
185 /** @brief Callback type used with @ref ixAtmmVcChangeCallbackRegister interface
186 * Defines a callback type which will be used to notify registered
187 * users of registration/deregistration events on a particular port
189 * @param eventType @ref IxAtmmVcChangeEvent [in] - Event indicating
190 * whether the VC supplied has been added or
193 * @param port @ref IxAtmLogicalPort [in] - Specifies the port on which the event has
196 * @param vcChanged @ref IxAtmmVc* [in] - Pointer to a structure which gives
197 * details of the VC which has been added
198 * or removed on the port
200 typedef void (*IxAtmmVcChangeCallback) (IxAtmmVcChangeEvent eventType,
201 IxAtmLogicalPort port,
202 const IxAtmmVc* vcChanged);
205 * Variable declarations global to this file only. Externs are followed by
210 * Extern function prototypes
214 * Function declarations
221 * @fn ixAtmmInit (void)
223 * @brief Interface to initialize the IxAtmm software component. Can
224 * be called once only.
226 * Must be called before any other IxAtmm API is called.
230 * @return @li IX_SUCCESS : IxAtmm has been successfully initialized.
231 * Calls to other IxAtmm interfaces may now be performed.
232 * @return @li IX_FAIL : IxAtmm has already been initialized.
240 * @fn ixAtmmUtopiaInit (unsigned numPorts,
241 IxAtmmPhyMode phyMode,
242 IxAtmmPortCfg portCfgs[],
243 IxAtmmUtopiaLoopbackMode loopbackMode)
245 * @brief Interface to initialize the UTOPIA Level-2 ATM coprocessor
246 * for the specified number of physical ports. The function
247 * must be called before the ixAtmmPortInitialize interface
248 * can operate successfully.
250 * @param numPorts unsigned [in] - Indicates the total number of logical
251 * ports that are active on the device. Up to 12 ports are
254 * @param phyMode @ref IxAtmmPhyMode [in] - Put the Utopia coprocessor in SPHY
257 * @param portCfgs[] @ref IxAtmmPortCfg [in] - Pointer to an array of elements
258 * detailing the UTOPIA specific port characteristics. The
259 * length of the array must be equal to the number of ports
260 * activated. ATM ports are referred to by the relevant
261 * offset in this array in all subsequent IxAtmm interface
264 * @param loopbackMode @ref IxAtmmUtopiaLoopbackMode [in] - Value must be one of
265 * @ref IX_ATMM_UTOPIA_LOOPBACK_ENABLED or @ref
266 * IX_ATMM_UTOPIA_LOOPBACK_DISABLED indicating whether
267 * loopback should be enabled on the device. Loopback can
268 * only be supported on a single PHY, therefore the numPorts
269 * parameter must be 1 if loopback is enabled.
271 * @return @li IX_SUCCESS : Indicates that the UTOPIA device has been
272 * successfully initialized for the supplied ports.
273 * @return @li IX_ATMM_RET_ALREADY_INITIALIZED : The UTOPIA device has
274 * already been initialized.
275 * @return @li IX_FAIL : The supplied parameters are invalid or have been
276 * rejected by the UTOPIA-NPE device.
279 * This interface may only be called once.
280 * Port identifiers are assumed to range from 0 to (numPorts - 1) in all
282 * In all subsequent calls to interfaces supplied by IxAtmm, the specified
283 * port value is expected to represent the offset in the portCfgs array
284 * specified in this interface. i.e. The first port in this array will
285 * subsequently be represented as port 0, the second port as port 1,
288 ixAtmmUtopiaInit (unsigned numPorts,
289 IxAtmmPhyMode phyMode,
290 IxAtmmPortCfg portCfgs[],
291 IxAtmmUtopiaLoopbackMode loopbackMode);
297 * @fn ixAtmmPortInitialize (IxAtmLogicalPort port,
301 * @brief The interface is called following @ref ixAtmmUtopiaInit ()
302 * and before calls to any other IxAtmm interface. It serves
303 * to activate the registered ATM port with IxAtmm.
305 * The transmit and receive port rates are specified in bits per
306 * second. This translates to ATM cells per second according to the
307 * following formula: CellsPerSecond = portRate / (53*8) The
308 * IXP400 device supports only 53 byte cells. The client shall make
309 * sure that the off-chip physical layer device has already been
312 * IxAtmm will configure IxAtmdAcc and IxAtmSch to enable scheduling
315 * This interface must be called once for each active port in the
316 * system. The first time the interface is invoked, it will configure
317 * the mechanism by which the handling of transmit, transmit-done and
318 * receive are driven with the IxAtmdAcc component.
320 * This function is reentrant.
322 * @note The minimum tx rate that will be accepted is 424 bit/s which equates
323 * to 1 cell (53 bytes) per second.
325 * @param port @ref IxAtmLogicalPort [in] - Identifies the port which is to be
328 * @param txPortRate unsigned [in] - Value specifies the
329 * transmit port rate for this port in
330 * bits/second. This value is used by the ATM Scheduler
331 * component is evaluating VC access requests for the port.
333 * @param rxPortRate unsigned [in] - Value specifies the
334 * receive port rate for this port in bits/second.
336 * @return @li IX_SUCCESS : The specificed ATM port has been successfully
337 * initialized. IxAtmm is ready to accept VC registrations on
340 * @return @li IX_ATMM_RET_ALREADY_INITIALIZED : ixAtmmPortInitialize has
341 * already been called successfully on this port. The current
344 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
345 * input is not valid. The request is rejected.
347 * @return @li IX_FAIL : IxAtmm could not initialize the port because the
348 * inputs are not understood.
350 * @sa ixAtmmPortEnable, ixAtmmPortDisable
354 ixAtmmPortInitialize (IxAtmLogicalPort port,
356 unsigned rxPortRate);
361 * @fn ixAtmmPortModify (IxAtmLogicalPort port,
365 * @brief A client may call this interface to change the existing
366 * port rate (expressed in bits/second) on an established ATM
369 * @param port @ref IxAtmLogicalPort [in] - Identifies the port which is to be
372 * @param txPortRate unsigned [in] - Value specifies the``
373 * transmit port rate for this port in
374 * bits/second. This value is used by the ATM Scheduler
375 * component is evaluating VC access requests for the port.
377 * @param rxPortRate unsigned [in] - Value specifies the
378 * receive port rate for this port in
381 * @return @li IX_SUCCESS : The indicated ATM port rates have been
382 * successfully modified.
384 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
385 * input is not valid. The request is rejected.
387 * @return @li IX_FAIL : IxAtmm could not update the port because the
388 * inputs are not understood, or the interface was called before
389 * the port was initialized. */
391 ixAtmmPortModify (IxAtmLogicalPort port,
393 unsigned rxPortRate);
398 * @fn ixAtmmPortQuery (IxAtmLogicalPort port,
399 unsigned *txPortRate,
400 unsigned *rxPortRate);
403 * @brief The client may call this interface to request details on
404 * currently registered transmit and receive rates for an ATM
407 * @param port @ref IxAtmLogicalPort [in] - Value identifies the port from which the
408 * rate details are requested.
410 * @param *txPortRate unsigned [out] - Pointer to a value
411 * which will be filled with the value of the transmit port
412 * rate specified in bits/second.
414 * @param *rxPortRate unsigned [out] - Pointer to a value
415 * which will be filled with the value of the receive port
416 * rate specified in bits/second.
418 * @return @li IX_SUCCESS : The information requested on the specified
419 * port has been successfully supplied in the output.
421 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
422 * input is not valid. The request is rejected.
424 * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was
427 * @return @li IX_FAIL : IxAtmm could not update the port because the
428 * inputs are not understood, or the interface was called before
429 * the port was initialized. */
431 ixAtmmPortQuery (IxAtmLogicalPort port,
432 unsigned *txPortRate,
433 unsigned *rxPortRate);
438 * @fn ixAtmmPortEnable(IxAtmLogicalPort port)
440 * @brief The client call this interface to enable transmit for an ATM
441 * port. At initialisation, all the ports are disabled.
443 * @param port @ref IxAtmLogicalPort [in] - Value identifies the port
445 * @return @li IX_SUCCESS : Transmission over this port is started.
447 * @return @li IX_FAIL : The port parameter is not valid, or the
448 * port is already enabled
450 * @note - When a port is disabled, Rx and Tx VC Connect requests will fail
452 * @note - This function uses system resources and should not be used
453 * inside an interrupt context.
455 * @sa ixAtmmPortDisable */
457 ixAtmmPortEnable(IxAtmLogicalPort port);
462 * @fn ixAtmmPortDisable(IxAtmLogicalPort port)
464 * @brief The client call this interface to disable transmit for an ATM
465 * port. At initialisation, all the ports are disabled.
467 * @param port @ref IxAtmLogicalPort [in] - Value identifies the port
469 * @return @li IX_SUCCESS : Transmission over this port is stopped.
471 * @return @li IX_FAIL : The port parameter is not valid, or the
472 * port is already disabled
474 * @note - When a port is disabled, Rx and Tx VC Connect requests will fail
476 * @note - This function call does not stop RX traffic. It is supposed
477 * that this function is invoked when a serious problem
478 * is detected (e.g. physical layer broken). Then, the RX traffic
481 * @note - This function is blocking until the hw acknowledge that the
482 * transmission is stopped.
484 * @note - This function uses system resources and should not be used
485 * inside an interrupt context.
487 * @sa ixAtmmPortEnable */
489 ixAtmmPortDisable(IxAtmLogicalPort port);
494 * @fn ixAtmmVcRegister (IxAtmLogicalPort port,
496 IxAtmSchedulerVcId *vcId)
498 * @brief This interface is used to register an ATM Virtual
499 * Connection on the specified ATM port.
501 * Each call to this interface registers a unidirectional virtual
502 * connection with the parameters specified. If a bi-directional VC
503 * is needed, the function should be called twice (once for each
504 * direction, Tx & Rx) where the VPI and VCI and port parameters in
505 * each call are identical.
507 * With the addition of each new VC to a port, a series of
508 * callback functions are invoked by the IxAtmm component to notify
509 * possible external components of the change. The callback functions
510 * are registered using the @ref ixAtmmVcChangeCallbackRegister interface.
512 * The IxAtmSch component is notified of the registration of transmit
515 * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the specified VC is
518 * @param *vcToAdd @ref IxAtmmVc [in] - Pointer to an @ref IxAtmmVc structure
519 * containing a description of the VC to be registered. The
520 * client shall fill the vpi, vci and direction and relevant
521 * trafficDesc members of this structure before calling this
524 * @param *vcId @ref IxAtmSchedulerVcId [out] - Pointer to an integer value which is filled
525 * with the per-port unique identifier value for this VC.
526 * This identifier will be required when a request is
527 * made to deregister or change this VC. VC identifiers
528 * for transmit VCs will have a value between 0-43,
529 * i.e. 32 data Tx VCs + 12 OAM Tx Port VCs.
530 * Receive VCs will have a value between 44-66,
531 * i.e. 32 data Rx VCs + 1 OAM Rx VC.
533 * @return @li IX_SUCCESS : The VC has been successfully registered on
534 * this port. The VC is ready for a client to configure IxAtmdAcc
535 * for receive and transmit operations on the VC.
536 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
537 * input is not valid or has not been initialized. The request
539 * @return @li IX_ATMM_RET_INVALID_VC_DESCRIPTOR : The descriptor
540 * pointed to by vcToAdd is invalid. The registration request
542 * @return @li IX_ATMM_RET_VC_CONFLICT : The VC requested conflicts with
543 * reserved VPI and/or VCI values or with another VC already activated
545 * @return @li IX_ATMM_RET_PORT_CAPACITY_IS_FULL : The VC cannot be
546 * registered in the port becuase the port capacity is
547 * insufficient to support the requested ATM traffic contract.
548 * The registration request is rejected.
549 * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was
552 * @warning IxAtmm has no capability of signaling or negotiating a virtual
553 * connection. Negotiation of the admission of the VC to the network
554 * is beyond the scope of this function. This is assumed to be
555 * performed by the calling client, if appropriate,
556 * before or after this function is called.
559 ixAtmmVcRegister (IxAtmLogicalPort port,
561 IxAtmSchedulerVcId *vcId);
566 * @fn ixAtmmVcDeregister (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId)
568 * @brief Function called by a client to deregister a VC from the
571 * With the removal of each new VC from a port, a series of
572 * registered callback functions are invoked by the IxAtmm component
573 * to notify possible external components of the change. The callback
574 * functions are registered using the @ref ixAtmmVcChangeCallbackRegister.
576 * The IxAtmSch component is notified of the removal of transmit VCs.
578 * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the VC to be
579 * removed is currently registered.
581 * @param vcId @ref IxAtmSchedulerVcId [in] - VC identifier value of the VC to
582 * be deregistered. This value was supplied to the client when
583 the VC was originally registered. This value can also be
584 queried from the IxAtmm component through the @ref ixAtmmVcQuery
587 * @return @li IX_SUCCESS : The specified VC has been successfully
588 * removed from this port.
589 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
590 * input is not valid or has not been initialized. The request
592 * @return @li IX_FAIL : There is no registered VC associated with the
593 * supplied identifier registered on this port. */
595 ixAtmmVcDeregister (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId);
600 * @fn ixAtmmVcQuery (IxAtmLogicalPort port,
603 IxAtmmVcDirection direction,
604 IxAtmSchedulerVcId *vcId,
607 * @brief This interface supplies information about an active VC on a
608 * particular port when supplied with the VPI, VCI and
609 * direction of that VC.
611 * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the VC to be
612 * queried is currently registered.
614 * @param vpi unsigned [in] - ATM VPI value of the requested VC.
616 * @param vci unsigned [in] - ATM VCI value of the requested VC.
618 * @param direction @ref IxAtmmVcDirection [in] - One of @ref
619 * IX_ATMM_VC_DIRECTION_TX or @ref IX_ATMM_VC_DIRECTION_RX
620 * indicating the direction (Tx or Rx) of the requested VC.
622 * @param *vcId @ref IxAtmSchedulerVcId [out] - Pointer to an integer value which will be
623 * filled with the VC identifier value for the requested
624 * VC (as returned by @ref ixAtmmVcRegister), if it
625 * exists on this port.
627 * @param *vcDesc @ref IxAtmmVc [out] - Pointer to an @ref IxAtmmVc structure
628 * which will be filled with the specific details of the
629 * requested VC, if it exists on this port.
631 * @return @li IX_SUCCESS : The specified VC has been found on this port
632 * and the requested details have been returned.
633 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
634 * input is not valid or has not been initialized. The request
636 * @return @li IX_ATMM_RET_NO_SUCH_VC : No VC exists on the specified
637 * port which matches the search criteria (VPI, VCI, direction)
638 * given. No data is returned.
639 * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was
644 ixAtmmVcQuery (IxAtmLogicalPort port,
647 IxAtmmVcDirection direction,
648 IxAtmSchedulerVcId *vcId,
655 * @fn ixAtmmVcIdQuery (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId, IxAtmmVc *vcDesc)
657 * @brief This interface supplies information about an active VC on a
658 * particular port when supplied with a vcId for that VC.
660 * @param port @ref IxAtmLogicalPort [in] - Identifies port on which the VC to be
661 * queried is currently registered.
663 * @param vcId @ref IxAtmSchedulerVcId [in] - Value returned by @ref ixAtmmVcRegister which
664 * uniquely identifies the requested VC on this port.
666 * @param *vcDesc @ref IxAtmmVc [out] - Pointer to an @ref IxAtmmVc structure
667 * which will be filled with the specific details of the
668 * requested VC, if it exists on this port.
670 * @return @li IX_SUCCESS : The specified VC has been found on this port
671 * and the requested details have been returned.
672 * @return @li IX_ATMM_RET_INVALID_PORT : The port value indicated in the
673 * input is not valid or has not been initialized. The request
675 * @return @li IX_ATMM_RET_NO_SUCH_VC : No VC exists on the specified
676 * port which matches the supplied identifier. No data is
678 * @return @li IX_ATMM_RET_INVALID_PARAM_PTR : A pointer parameter was
682 ixAtmmVcIdQuery (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId, IxAtmmVc *vcDesc);
687 * @fn ixAtmmVcChangeCallbackRegister (IxAtmmVcChangeCallback callback)
689 * @brief This interface is invoked to supply a function to IxAtmm
690 * which will be called to notify the client if a new VC is
691 * registered with IxAtmm or an existing VC is removed.
693 * The callback, when invoked, will run within the context of the call
694 * to @ref ixAtmmVcRegister or @ref ixAtmmVcDeregister which caused
695 * the change of state.
697 * A maximum of 32 calbacks may be registered in with IxAtmm.
699 * @param callback @ref IxAtmmVcChangeCallback [in] - Callback which complies
700 * with the @ref IxAtmmVcChangeCallback definition. This
701 * function will be invoked by IxAtmm with the appropiate
702 * parameters for the relevant VC when any VC has been
703 * registered or deregistered with IxAtmm.
705 * @return @li IX_SUCCESS : The specified callback has been registered
706 * successfully with IxAtmm and will be invoked when appropriate.
707 * @return @li IX_FAIL : Either the supplied callback is invalid, or
708 * IxAtmm has already registered 32 and connot accommodate
709 * any further registrations of this type. The request is
712 * @warning The client must not call either the @ref
713 * ixAtmmVcRegister or @ref ixAtmmVcDeregister interfaces
714 * from within the supplied callback function. */
715 PUBLIC IX_STATUS ixAtmmVcChangeCallbackRegister (IxAtmmVcChangeCallback callback);
721 * @fn ixAtmmVcChangeCallbackDeregister (IxAtmmVcChangeCallback callback)
723 * @brief This interface is invoked to deregister a previously supplied
726 * @param callback @ref IxAtmmVcChangeCallback [in] - Callback which complies
727 * with the @ref IxAtmmVcChangeCallback definition. This
728 * function will removed from the table of callbacks.
730 * @return @li IX_SUCCESS : The specified callback has been deregistered
731 * successfully from IxAtmm.
732 * @return @li IX_FAIL : Either the supplied callback is invalid, or
733 * is not currently registered with IxAtmm.
736 ixAtmmVcChangeCallbackDeregister (IxAtmmVcChangeCallback callback);
741 * @fn ixAtmmUtopiaStatusShow (void)
743 * @brief Display utopia status counters
747 * @return @li IX_SUCCESS : Show function was successful
748 * @return @li IX_FAIL : Internal failure
751 ixAtmmUtopiaStatusShow (void);
756 * @fn ixAtmmUtopiaCfgShow (void)
758 * @brief Display utopia information(config registers and status registers)
762 * @return @li IX_SUCCESS : Show function was successful
763 * @return @li IX_FAIL : Internal failure
766 ixAtmmUtopiaCfgShow (void);