root/dev/pci/if_art.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: if_art.h,v 1.5 2005/10/26 09:26:56 claudio Exp $ */
    2 
    3 /*
    4  * Copyright (c) 2005  Internet Business Solutions AG, Zurich, Switzerland
    5  * Written by: Claudio Jeker <jeker@accoom.net>
    6  *
    7  * Permission to use, copy, modify, and distribute this software for any
    8  * purpose with or without fee is hereby granted, provided that the above
    9  * copyright notice and this permission notice appear in all copies.
   10  *
   11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   12  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   13  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   14  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   15  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   16  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   17  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   18  */
   19 
   20 #ifndef __IF_ART_H__
   21 #define __IF_ART_H__
   22 
   23 #define MUSYCC_FRAMER_BT8370    0x8370
   24 
   25 enum art_sbi_type {
   26         ART_SBI_SINGLE,
   27         ART_SBI_MASTER,
   28         ART_SBI_SLAVE
   29 };
   30 
   31 struct art_softc {
   32         struct device            art_dev;       /* generic device structures */
   33         struct ebus_dev          art_ebus;      /* ebus attachement */
   34         struct ifmedia           art_ifm;       /* interface media descriptor */
   35         struct timeout           art_onesec;    /* onesec timeout */
   36         struct musycc_softc     *art_parent;    /* parent hdlc controller */
   37         struct channel_softc    *art_channel;   /* channel config */
   38         void                    *art_linkstatehook;
   39 
   40         u_int                    art_media;     /* if_media media */
   41         enum art_sbi_type        art_type;      /* System Bus Type */
   42         u_int8_t                 art_gnum;      /* group number */
   43         u_int8_t                 art_port;      /* port number */
   44         char                     art_slot;      /* TDM slot */
   45 };
   46 
   47 enum art_sbi_mode {
   48         SBI_MODE_1536 = 1,      /* 24TS */
   49         SBI_MODE_1544,          /* 24TS + F bit */
   50         SBI_MODE_2048,          /* 32TS */
   51         SBI_MODE_4096_A,        /* lower 32TS */
   52         SBI_MODE_4096_B,        /* upper 32TS */
   53         SBI_MODE_8192_A,        /* first 32TS */
   54         SBI_MODE_8192_B,        /* second 32TS */
   55         SBI_MODE_8192_C,        /* third 32TS */
   56         SBI_MODE_8192_D         /* last 32TS */
   57 };
   58 
   59 enum art_linecode {
   60         ART_LIU_AMI,            /* Alternate Mark Inversion */
   61         ART_LIU_B8ZS,           /* Bipolar 8-zero Substitution */
   62         ART_LIU_HDB3            /* High Density Bipolar 3 */
   63 };
   64 
   65 enum art_loopback {
   66         ART_NOLOOP,             /* All Loopback disabled */
   67         ART_RLOOP_PAYLOAD,      /* Remote Payload Loopback */
   68         ART_RLOOP_LINE,         /* Remote Line Loopback */
   69         ART_LLOOP_PAYLOAD,      /* Local Payload Loopback */
   70         ART_LLOOP_LINE          /* Local Line Loopback */
   71 };
   72 
   73 #define ART_DL1_BOP     1
   74 #define ART_BOP_ESF     1
   75 
   76 int     bt8370_reset(struct art_softc *);
   77 int     bt8370_set_frame_mode(struct art_softc *, enum art_sbi_type, u_int,
   78             u_int);
   79 void    bt8370_intr_enable(struct art_softc *, int);
   80 void    bt8370_intr(struct art_softc *);
   81 int     bt8370_link_status(struct art_softc *);
   82 
   83 #endif

/* [<][>][^][v][top][bottom][index][help] */