Provided by: freebsd-manpages_9.2+1-1_all bug

NAME

       utopia — driver module for ATM PHY chips

SYNOPSIS

       To compile this driver into the kernel, place the following line in your kernel configuration file:

             device utopia

       Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

             utopia_load="YES"

DESCRIPTION

       This module is used by all ATM drivers for cards that use PMC-Sierra S/Uni and IDT77105/IDT77155 chips to
       provide  uniform  functionality.   The module implements status monitoring in either interrupt or polling
       mode, media option handling and application access to chip registers.

       The driver implements several sysctls that are accessible under the hw.atm.iface. tree, where iface  is
       the name of the ATM interface:

       phy_regs
               When  reading  this  sysctl  an  array  of  8-bit  unsigned  integers  is returned containing all
               accessible chip registers starting at register 0.  A register can be  written  by  writing  three
               8-bit  unsigned  integers to the sysctl: the register number, the new value and a bit mask.  This
               changes all bits in the register for which the corresponding bit in the mask is one  to  the  bit
               values from value.  Note that not all registers may be writeable.

       phy_loopback
               allows to put the interface in one of several loopback modes.  Not all modes and all combinations
               of modes are supported on all chips.  The possible modes are:

               UTP_LOOP_NONE (0x00)
                       No loopback, normal operation.

               UTP_LOOP_TIME (0x01)
                       Timing  source  loopback.   When  this is set the transmitter's clock is derived from the
                       receiver's clock.

               UTP_LOOP_DIAG (0x02)
                       Diagnostic loopback.  In this mode the receiver's input is connected to the transmitter's
                       output.  The receiver gets back  everything  that  is  sent.   The  transmitter  operates
                       normally.

               UTP_LOOP_LINE (0x04)
                       Serial line loopback.  This connects the line receiver to the line transmitter.  The chip
                       transmits all cells back that it receives.  The receiver operates normally.

               UTP_LOOP_PARAL (0x08)
                       Parallel  diagnostic  loopback.   This feeds back all transmitted cells into the receiver
                       between the parallel/serial converters.  The transmitter operates normally.

               UTP_LOOP_TWIST (0x10)
                       Twisted pair diagnostic loopback.  Connects the high speed receive data to the high speed
                       transmit data.  All received data is sent back.  The receiver operates normally.

               UTP_LOOP_PATH (0x20)
                       Diagnostic path loopback.  This connects the receiver input  to  the  transmitter  output
                       just  between  the  path  overhead  processor and the byte mux.  The transmitter operates
                       normally.

       phy_type
               This is the detected type of the phy chip.  Currently the following chips are supported:

               UTP_TYPE_UNKNOWN (0)
                       The module could not determine the type of the PHY chip.

               UTP_TYPE_SUNI_LITE (1)
                       PMC-5346 (S/Uni-Lite)

               UTP_TYPE_SUNI_ULTRA (2)
                       PMC-5350 (S/Uni-Ultra)

               UTP_TYPE_SUNI_622 (3)
                       PMC-5355 (S/Uni-622)

               UTP_TYPE_IDT77105 (4)
                       IDT77105 (25.6MBit UTP interface)

               UTP_TYPE_IDT77155 (5)
                       IDT77155 (155MBit interface)

       phy_name
               This is a string describing the type of the PHY chip.

       phy_stats
               Physical and some ATM layer statistics.  These are the statistics usually provided by  the  chip.
               The data is a returned in the following structure:

               struct utopia_stats1 {
                       uint32_t version;       /* version of this struct */
                       uint32_t fill;
                       uint64_t rx_sbip;       /* rx section BIP errors */
                       uint64_t rx_lbip;       /* rx line BIP errors */
                       uint64_t rx_lfebe;      /* rx line far end block errors */
                       uint64_t rx_pbip;       /* rx path BIP errors */
                       uint64_t rx_pfebe;      /* rx path far end block errors */
                       uint64_t rx_cells;      /* received cells */
                       uint64_t rx_corr;       /* correctable cell errors */
                       uint64_t rx_uncorr;     /* uncorrectable cell errors */
                       uint64_t rx_symerr;     /* symbol errors */
                       uint64_t tx_cells;      /* transmitted cells */
               };

               The  current  version is 1.  The statistics are updated from the chip once a second.  On overflow
               the counters wrap to zero.  Note that not all counters are meaningful for  all  PHY  chips.   The
               statistics are cleared by writing an arbitrary new value (the value is ignored).

       The  utopia  module also interfaces with the ifmedia system.  The module reports the current state of the
       carrier and will issue a warning message when the carrier state changes.  While the physical media itself
       cannot be changed, several media options can:

       SDH     If the PHY is a Sonet/SDH chip this flag switches the interface into SDH mode.  If this option is
               not set (the default) the interface is in Sonet mode.

       noscramb
               If the PHY is a Sonet/SDH chip disable scrambling.  This may be useful for debugging purposes.

       unassigned
               Normally the interface emits idle cells when there are no other cells to transmit.  This  changes
               the  default  cell  type  to  unassigned  cells.  This may be needed for interworking with public
               networks.

SEE ALSO

       en(4), fatm(4), hatm(4), patm(4), utopia(9)

AUTHORS

       Harti Brandt <harti@FreeBSD.org>

Debian                                          November 22, 2006                                      UTOPIA(4)