Changeset e4acf68 in rtems


Ignore:
Timestamp:
Jun 22, 1998, 9:59:22 AM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
547de5d
Parents:
aa0da6b
Message:

Added comments and corrected spacing.

Location:
c/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libchip/serial/z85c30.c

    raa0da6b re4acf68  
    11/*
    22 *  This file contains the console driver chip level routines for the
    3  *  z85c30 chip.
     3 *  Zilog z85c30 chip.
     4 *
     5 *  The Zilog Z8530 is also available as:
     6 *
     7 *    + Intel 82530
     8 *    + AMD ???
    49 *
    510 *  COPYRIGHT (c) 1998 by Radstone Technology
     
    3742 * Flow control is only supported when using interrupts
    3843 */
     44
    3945console_flow z85c30_flow_RTSCTS =
    4046{
     
    5258 * Exported driver function table
    5359 */
     60
    5461console_fns z85c30_fns =
    5562{
     
    347354 * These routines provide control of the RTS and DTR lines
    348355 */
     356
    349357/*
    350358 *  z85c30_assert_RTS
    351359 */
     360
    352361static int z85c30_assert_RTS(int minor)
    353362{
     
    378387 *  z85c30_negate_RTS
    379388 */
     389
    380390static int z85c30_negate_RTS(int minor)
    381391{
     
    407417 * line to the remote CTS line
    408418 */
     419
    409420/*
    410421 *  z85c30_assert_DTR
    411422 */
     423
    412424static int z85c30_assert_DTR(int minor)
    413425{
     
    438450 *  z85c30_negate_DTR
    439451 */
     452
    440453static int z85c30_negate_DTR(int minor)
    441454{
     
    713726 *
    714727 */
     728
    715729static int z85c30_write_support_int(
    716730  int   minor,
     
    775789 *  This routine polls for a character.
    776790 */
     791
    777792static int z85c30_inbyte_nonblocking_polled(
    778793  int  minor
  • c/src/lib/libchip/serial/z85c30.h

    raa0da6b re4acf68  
    1 /*  z85c30.h
    2  *
    3  *  This include file contains all console driver definations for the z85c30
     1/*
     2 *  This include file contains all console driver definitions for the
     3 *  Zilog z85c30.
    44 *
    55 *  COPYRIGHT (c) 1998 by Radstone Technology
  • c/src/lib/libchip/serial/z85c30_p.h

    raa0da6b re4acf68  
    1 /*  z85c30_p.h
    2  *
    3  *  This include file contains all private driver definations for the z85c30
     1/*
     2 *  This include file contains all private driver definitions for the
     3 *  Zilog z85c30.
    44 *
    55 *  COPYRIGHT (c) 1998 by Radstone Technology
     
    2424 *  http://www.OARcorp.com/rtems/license.html.
    2525 *
    26  *  $Id:
     26 *  $Id$
    2727 */
    2828
     
    3737/* command register */
    3838
    39 #define SCC_WR0_SEL_WR0         0x00
    40 #define SCC_WR0_SEL_WR1         0x01
    41 #define SCC_WR0_SEL_WR2         0x02
    42 #define SCC_WR0_SEL_WR3         0x03
    43 #define SCC_WR0_SEL_WR4         0x04
    44 #define SCC_WR0_SEL_WR5         0x05
    45 #define SCC_WR0_SEL_WR6         0x06
    46 #define SCC_WR0_SEL_WR7         0x07
    47 #define SCC_WR0_SEL_WR8         0x08
    48 #define SCC_WR0_SEL_WR9         0x09
    49 #define SCC_WR0_SEL_WR10        0x0a
    50 #define SCC_WR0_SEL_WR11        0x0b
    51 #define SCC_WR0_SEL_WR12        0x0c
    52 #define SCC_WR0_SEL_WR13        0x0d
    53 #define SCC_WR0_SEL_WR14        0x0e
    54 #define SCC_WR0_SEL_WR15        0x0f
    55 #define SCC_WR0_SEL_RD0         0x00
    56 #define SCC_WR0_SEL_RD1         0x01
    57 #define SCC_WR0_SEL_RD2         0x02
    58 #define SCC_WR0_SEL_RD3         0x03
    59 #define SCC_WR0_SEL_RD4         0x04
    60 #define SCC_WR0_SEL_RD5         0x05
    61 #define SCC_WR0_SEL_RD6         0x06
    62 #define SCC_WR0_SEL_RD7         0x07
    63 #define SCC_WR0_SEL_RD8         0x08
    64 #define SCC_WR0_SEL_RD9         0x09
    65 #define SCC_WR0_SEL_RD10        0x0a
    66 #define SCC_WR0_SEL_RD11        0x0b
    67 #define SCC_WR0_SEL_RD12        0x0c
    68 #define SCC_WR0_SEL_RD13        0x0d
    69 #define SCC_WR0_SEL_RD14        0x0e
    70 #define SCC_WR0_SEL_RD15        0x0f
    71 #define SCC_WR0_NULL_CODE       0x00
    72 #define SCC_WR0_RST_INT         0x10
    73 #define SCC_WR0_SEND_ABORT      0x18
    74 #define SCC_WR0_EN_INT_RX       0x20
    75 #define SCC_WR0_RST_TX_INT      0x28
    76 #define SCC_WR0_ERR_RST         0x30
    77 #define SCC_WR0_RST_HI_IUS      0x38
    78 #define SCC_WR0_RST_RX_CRC      0x40
    79 #define SCC_WR0_RST_TX_CRC      0x80
    80 #define SCC_WR0_RST_TX_UND      0xc0
     39#define SCC_WR0_SEL_WR0   0x00
     40#define SCC_WR0_SEL_WR1   0x01
     41#define SCC_WR0_SEL_WR2   0x02
     42#define SCC_WR0_SEL_WR3   0x03
     43#define SCC_WR0_SEL_WR4   0x04
     44#define SCC_WR0_SEL_WR5   0x05
     45#define SCC_WR0_SEL_WR6   0x06
     46#define SCC_WR0_SEL_WR7   0x07
     47#define SCC_WR0_SEL_WR8   0x08
     48#define SCC_WR0_SEL_WR9   0x09
     49#define SCC_WR0_SEL_WR10  0x0a
     50#define SCC_WR0_SEL_WR11  0x0b
     51#define SCC_WR0_SEL_WR12  0x0c
     52#define SCC_WR0_SEL_WR13  0x0d
     53#define SCC_WR0_SEL_WR14  0x0e
     54#define SCC_WR0_SEL_WR15  0x0f
     55#define SCC_WR0_SEL_RD0   0x00
     56#define SCC_WR0_SEL_RD1   0x01
     57#define SCC_WR0_SEL_RD2   0x02
     58#define SCC_WR0_SEL_RD3   0x03
     59#define SCC_WR0_SEL_RD4   0x04
     60#define SCC_WR0_SEL_RD5   0x05
     61#define SCC_WR0_SEL_RD6   0x06
     62#define SCC_WR0_SEL_RD7   0x07
     63#define SCC_WR0_SEL_RD8   0x08
     64#define SCC_WR0_SEL_RD9   0x09
     65#define SCC_WR0_SEL_RD10  0x0a
     66#define SCC_WR0_SEL_RD11  0x0b
     67#define SCC_WR0_SEL_RD12  0x0c
     68#define SCC_WR0_SEL_RD13  0x0d
     69#define SCC_WR0_SEL_RD14  0x0e
     70#define SCC_WR0_SEL_RD15  0x0f
     71#define SCC_WR0_NULL_CODE 0x00
     72#define SCC_WR0_RST_INT   0x10
     73#define SCC_WR0_SEND_ABORT  0x18
     74#define SCC_WR0_EN_INT_RX 0x20
     75#define SCC_WR0_RST_TX_INT  0x28
     76#define SCC_WR0_ERR_RST   0x30
     77#define SCC_WR0_RST_HI_IUS  0x38
     78#define SCC_WR0_RST_RX_CRC  0x40
     79#define SCC_WR0_RST_TX_CRC  0x80
     80#define SCC_WR0_RST_TX_UND  0xc0
    8181
    8282/* write register 2 */
     
    8686/* tx/rx interrupt and data transfer mode definition */
    8787
    88 #define SCC_WR1_EXT_INT_EN      0x01
    89 #define SCC_WR1_TX_INT_EN       0x02
    90 #define SCC_WR1_PARITY          0x04
    91 #define SCC_WR1_RX_INT_DIS      0x00
    92 #define SCC_WR1_RX_INT_FIR      0x08
    93 #define SCC_WR1_INT_ALL_RX      0x10
    94 #define SCC_WR1_RX_INT_SPE      0x18
    95 #define SCC_WR1_RDMA_RECTR      0x20
    96 #define SCC_WR1_RDMA_FUNC       0x40
    97 #define SCC_WR1_RDMA_EN         0x80
     88#define SCC_WR1_EXT_INT_EN  0x01
     89#define SCC_WR1_TX_INT_EN 0x02
     90#define SCC_WR1_PARITY    0x04
     91#define SCC_WR1_RX_INT_DIS  0x00
     92#define SCC_WR1_RX_INT_FIR  0x08
     93#define SCC_WR1_INT_ALL_RX  0x10
     94#define SCC_WR1_RX_INT_SPE  0x18
     95#define SCC_WR1_RDMA_RECTR  0x20
     96#define SCC_WR1_RDMA_FUNC 0x40
     97#define SCC_WR1_RDMA_EN   0x80
    9898
    9999/* bit values for write register 3 */
    100100/* receive parameters and control */
    101101
    102 #define SCC_WR3_RX_EN           0x01
    103 #define SCC_WR3_SYNC_CHAR       0x02
    104 #define SCC_WR3_ADR_SEARCH      0x04
    105 #define SCC_WR3_RX_CRC_EN       0x08
    106 #define SCC_WR3_ENTER_HUNT      0x10
    107 #define SCC_WR3_AUTO_EN         0x20
    108 #define SCC_WR3_RX_5_BITS       0x00
    109 #define SCC_WR3_RX_7_BITS       0x40
    110 #define SCC_WR3_RX_6_BITS       0x80
    111 #define SCC_WR3_RX_8_BITS       0xc0
     102#define SCC_WR3_RX_EN   0x01
     103#define SCC_WR3_SYNC_CHAR 0x02
     104#define SCC_WR3_ADR_SEARCH  0x04
     105#define SCC_WR3_RX_CRC_EN 0x08
     106#define SCC_WR3_ENTER_HUNT  0x10
     107#define SCC_WR3_AUTO_EN   0x20
     108#define SCC_WR3_RX_5_BITS 0x00
     109#define SCC_WR3_RX_7_BITS 0x40
     110#define SCC_WR3_RX_6_BITS 0x80
     111#define SCC_WR3_RX_8_BITS 0xc0
    112112
    113113/* bit values for write register 4 */
    114114/* tx/rx misc parameters and modes */
    115115
    116 #define SCC_WR4_PAR_EN          0x01
    117 #define SCC_WR4_PAR_EVEN        0x02
    118 #define SCC_WR4_SYNC_EN         0x00
    119 #define SCC_WR4_1_STOP          0x04
    120 #define SCC_WR4_2_STOP          0x0c
    121 #define SCC_WR4_8_SYNC          0x00
    122 #define SCC_WR4_16_SYNC         0x10
    123 #define SCC_WR4_SDLC            0x20
    124 #define SCC_WR4_EXT_SYNC        0x30
    125 #define SCC_WR4_1_CLOCK         0x00
    126 #define SCC_WR4_16_CLOCK        0x40
    127 #define SCC_WR4_32_CLOCK        0x80
    128 #define SCC_WR4_64_CLOCK        0xc0
     116#define SCC_WR4_PAR_EN    0x01
     117#define SCC_WR4_PAR_EVEN  0x02
     118#define SCC_WR4_SYNC_EN   0x00
     119#define SCC_WR4_1_STOP    0x04
     120#define SCC_WR4_2_STOP    0x0c
     121#define SCC_WR4_8_SYNC    0x00
     122#define SCC_WR4_16_SYNC   0x10
     123#define SCC_WR4_SDLC    0x20
     124#define SCC_WR4_EXT_SYNC  0x30
     125#define SCC_WR4_1_CLOCK   0x00
     126#define SCC_WR4_16_CLOCK  0x40
     127#define SCC_WR4_32_CLOCK  0x80
     128#define SCC_WR4_64_CLOCK  0xc0
    129129
    130130/* bit values for write register 5 */
    131131/* transmit parameter and controls */
    132132
    133 #define SCC_WR5_TX_CRC_EN       0x01
    134 #define SCC_WR5_RTS             0x02
    135 #define SCC_WR5_SDLC            0x04
    136 #define SCC_WR5_TX_EN           0x08
    137 #define SCC_WR5_SEND_BRK        0x10
    138 
    139 #define SCC_WR5_TX_5_BITS       0x00
    140 #define SCC_WR5_TX_7_BITS       0x20
    141 #define SCC_WR5_TX_6_BITS       0x40
    142 #define SCC_WR5_TX_8_BITS       0x60
    143 #define SCC_WR5_DTR             0x80
     133#define SCC_WR5_TX_CRC_EN 0x01
     134#define SCC_WR5_RTS   0x02
     135#define SCC_WR5_SDLC    0x04
     136#define SCC_WR5_TX_EN   0x08
     137#define SCC_WR5_SEND_BRK  0x10
     138
     139#define SCC_WR5_TX_5_BITS 0x00
     140#define SCC_WR5_TX_7_BITS 0x20
     141#define SCC_WR5_TX_6_BITS 0x40
     142#define SCC_WR5_TX_8_BITS 0x60
     143#define SCC_WR5_DTR   0x80
    144144
    145145/* write register 6 */
     
    155155/* master interrupt control */
    156156
    157 #define SCC_WR9_VIS             0x01
    158 #define SCC_WR9_NV              0x02
    159 #define SCC_WR9_DLC             0x04
    160 #define SCC_WR9_MIE             0x08
    161 #define SCC_WR9_STATUS_HI       0x10
    162 #define SCC_WR9_NO_RST          0x00
    163 #define SCC_WR9_CH_B_RST        0x40
    164 #define SCC_WR9_CH_A_RST        0x80
    165 #define SCC_WR9_HDWR_RST        0xc0
     157#define SCC_WR9_VIS   0x01
     158#define SCC_WR9_NV    0x02
     159#define SCC_WR9_DLC   0x04
     160#define SCC_WR9_MIE   0x08
     161#define SCC_WR9_STATUS_HI 0x10
     162#define SCC_WR9_NO_RST    0x00
     163#define SCC_WR9_CH_B_RST  0x40
     164#define SCC_WR9_CH_A_RST  0x80
     165#define SCC_WR9_HDWR_RST  0xc0
    166166
    167167/* bit values for write register 10 */
    168168/* misc tx/rx control bits */
    169169
    170 #define SCC_WR10_6_BIT_SYNC     0x01
    171 #define SCC_WR10_LOOP_MODE      0x02
    172 #define SCC_WR10_ABORT_UND      0x04
    173 #define SCC_WR10_MARK_IDLE      0x08
    174 #define SCC_WR10_ACT_POLL       0x10
    175 #define SCC_WR10_NRZ            0x00
    176 #define SCC_WR10_NRZI           0x20
    177 #define SCC_WR10_FM1            0x40
    178 #define SCC_WR10_FM0            0x60
    179 #define SCC_WR10_CRC_PRESET     0x80
     170#define SCC_WR10_6_BIT_SYNC 0x01
     171#define SCC_WR10_LOOP_MODE  0x02
     172#define SCC_WR10_ABORT_UND  0x04
     173#define SCC_WR10_MARK_IDLE  0x08
     174#define SCC_WR10_ACT_POLL 0x10
     175#define SCC_WR10_NRZ    0x00
     176#define SCC_WR10_NRZI   0x20
     177#define SCC_WR10_FM1    0x40
     178#define SCC_WR10_FM0    0x60
     179#define SCC_WR10_CRC_PRESET 0x80
    180180
    181181/* bit values for write register 11 */
    182182/* clock mode control */
    183183
    184 #define SCC_WR11_OUT_XTAL       0x00
    185 #define SCC_WR11_OUT_TX_CLK     0x01
    186 #define SCC_WR11_OUT_BR_GEN     0x02
    187 #define SCC_WR11_OUT_DPLL       0x03
    188 #define SCC_WR11_TRXC_OI        0x04
    189 #define SCC_WR11_TX_RTXC        0x00
    190 #define SCC_WR11_TX_TRXC        0x08
    191 #define SCC_WR11_TX_BR_GEN      0x10
    192 #define SCC_WR11_TX_DPLL        0x18
    193 #define SCC_WR11_RX_RTXC        0x00
    194 #define SCC_WR11_RX_TRXC        0x20
    195 #define SCC_WR11_RX_BR_GEN      0x40
    196 #define SCC_WR11_RX_DPLL        0x60
    197 #define SCC_WR11_RTXC_XTAL      0x80
     184#define SCC_WR11_OUT_XTAL 0x00
     185#define SCC_WR11_OUT_TX_CLK 0x01
     186#define SCC_WR11_OUT_BR_GEN 0x02
     187#define SCC_WR11_OUT_DPLL 0x03
     188#define SCC_WR11_TRXC_OI  0x04
     189#define SCC_WR11_TX_RTXC  0x00
     190#define SCC_WR11_TX_TRXC  0x08
     191#define SCC_WR11_TX_BR_GEN  0x10
     192#define SCC_WR11_TX_DPLL  0x18
     193#define SCC_WR11_RX_RTXC  0x00
     194#define SCC_WR11_RX_TRXC  0x20
     195#define SCC_WR11_RX_BR_GEN  0x40
     196#define SCC_WR11_RX_DPLL  0x60
     197#define SCC_WR11_RTXC_XTAL  0x80
    198198
    199199/* write register 12 */
     
    206206/* misc control bits */
    207207
    208 #define SCC_WR14_BR_EN          0x01
    209 #define SCC_WR14_BR_SRC         0x02
    210 #define SCC_WR14_DTR_FUNC       0x04
    211 #define SCC_WR14_AUTO_ECHO      0x08
    212 #define SCC_WR14_LCL_LOOP       0x10
    213 #define SCC_WR14_NULL           0x00
    214 #define SCC_WR14_SEARCH         0x20
    215 #define SCC_WR14_RST_CLK        0x40
    216 #define SCC_WR14_DIS_DPLL       0x60
    217 #define SCC_WR14_SRC_BR         0x80
    218 #define SCC_WR14_SRC_RTXC       0xa0
    219 #define SCC_WR14_FM_MODE        0xc0
    220 #define SCC_WR14_NRZI           0xe0
     208#define SCC_WR14_BR_EN    0x01
     209#define SCC_WR14_BR_SRC   0x02
     210#define SCC_WR14_DTR_FUNC 0x04
     211#define SCC_WR14_AUTO_ECHO  0x08
     212#define SCC_WR14_LCL_LOOP 0x10
     213#define SCC_WR14_NULL   0x00
     214#define SCC_WR14_SEARCH   0x20
     215#define SCC_WR14_RST_CLK  0x40
     216#define SCC_WR14_DIS_DPLL 0x60
     217#define SCC_WR14_SRC_BR   0x80
     218#define SCC_WR14_SRC_RTXC 0xa0
     219#define SCC_WR14_FM_MODE  0xc0
     220#define SCC_WR14_NRZI   0xe0
    221221
    222222/* bit values for write register 15 */
    223223/* external/status interrupt control */
    224224
    225 #define SCC_WR15_ZERO_CNT       0x02
    226 #define SCC_WR15_CD_IE          0x08
    227 #define SCC_WR15_SYNC_IE        0x10
    228 #define SCC_WR15_CTS_IE         0x20
    229 #define SCC_WR15_TX_UND_IE      0x40
    230 #define SCC_WR15_BREAK_IE       0x80
     225#define SCC_WR15_ZERO_CNT 0x02
     226#define SCC_WR15_CD_IE    0x08
     227#define SCC_WR15_SYNC_IE  0x10
     228#define SCC_WR15_CTS_IE   0x20
     229#define SCC_WR15_TX_UND_IE  0x40
     230#define SCC_WR15_BREAK_IE 0x80
    231231
    232232/* bit values for read register 0 */
    233233/* tx/rx buffer status and external status  */
    234234
    235 #define SCC_RR0_RX_AVAIL        0x01
    236 #define SCC_RR0_ZERO_CNT        0x02
    237 #define SCC_RR0_TX_EMPTY        0x04
    238 #define SCC_RR0_CD              0x08
    239 #define SCC_RR0_SYNC            0x10
    240 #define SCC_RR0_CTS             0x20
    241 #define SCC_RR0_TX_UND          0x40
    242 #define SCC_RR0_BREAK           0x80
     235#define SCC_RR0_RX_AVAIL  0x01
     236#define SCC_RR0_ZERO_CNT  0x02
     237#define SCC_RR0_TX_EMPTY  0x04
     238#define SCC_RR0_CD    0x08
     239#define SCC_RR0_SYNC    0x10
     240#define SCC_RR0_CTS   0x20
     241#define SCC_RR0_TX_UND    0x40
     242#define SCC_RR0_BREAK   0x80
    243243
    244244/* bit values for read register 1 */
    245245
    246 #define SCC_RR1_ALL_SENT        0x01
    247 #define SCC_RR1_RES_CD_2        0x02
    248 #define SCC_RR1_RES_CD_1        0x01
    249 #define SCC_RR1_RES_CD_0        0x08
    250 #define SCC_RR1_PAR_ERR         0x10
    251 #define SCC_RR1_RX_OV_ERR       0x20
    252 #define SCC_RR1_CRC_ERR         0x40
    253 #define SCC_RR1_END_FRAME       0x80
     246#define SCC_RR1_ALL_SENT  0x01
     247#define SCC_RR1_RES_CD_2  0x02
     248#define SCC_RR1_RES_CD_1  0x01
     249#define SCC_RR1_RES_CD_0  0x08
     250#define SCC_RR1_PAR_ERR   0x10
     251#define SCC_RR1_RX_OV_ERR 0x20
     252#define SCC_RR1_CRC_ERR   0x40
     253#define SCC_RR1_END_FRAME 0x80
    254254
    255255/* read register 2 */
     
    259259/* interrupt pending register */
    260260
    261 #define SCC_RR3_B_EXT_IP        0x01
    262 #define SCC_RR3_B_TX_IP         0x02
    263 #define SCC_RR3_B_RX_IP         0x04
    264 #define SCC_RR3_A_EXT_IP        0x08
    265 #define SCC_RR3_A_TX_IP         0x10
    266 #define SCC_RR3_A_RX_IP         0x20
     261#define SCC_RR3_B_EXT_IP  0x01
     262#define SCC_RR3_B_TX_IP   0x02
     263#define SCC_RR3_B_RX_IP   0x04
     264#define SCC_RR3_A_EXT_IP  0x08
     265#define SCC_RR3_A_TX_IP   0x10
     266#define SCC_RR3_A_RX_IP   0x20
    267267
    268268/* read register 8 */
     
    272272/* misc status bits */
    273273
    274 #define SCC_RR10_ON_LOOP        0x02
    275 #define SCC_RR10_LOOP_SEND      0x10
    276 #define SCC_RR10_2_CLK_MIS      0x40
    277 #define SCC_RR10_1_CLK_MIS      0x80
     274#define SCC_RR10_ON_LOOP  0x02
     275#define SCC_RR10_LOOP_SEND  0x10
     276#define SCC_RR10_2_CLK_MIS  0x40
     277#define SCC_RR10_1_CLK_MIS  0x80
    278278
    279279/* read register 12 */
     
    286286/* external/status ie bits */
    287287
    288 #define SCC_RR15_ZERO_CNT       0x02
    289 #define SCC_RR15_CD_IE          0x08
    290 #define SCC_RR15_SYNC_IE        0x10
    291 #define SCC_RR15_CTS_IE         0x20
    292 #define SCC_RR15_TX_UND_IE      0x40
    293 #define SCC_RR15_BREAK_IE       0x80
     288#define SCC_RR15_ZERO_CNT 0x02
     289#define SCC_RR15_CD_IE    0x08
     290#define SCC_RR15_SYNC_IE  0x10
     291#define SCC_RR15_CTS_IE   0x20
     292#define SCC_RR15_TX_UND_IE  0x40
     293#define SCC_RR15_BREAK_IE 0x80
    294294
    295295typedef struct _z85c30_context
    296296{
    297         unsigned8       ucModemCtrl;
     297  unsigned8 ucModemCtrl;
    298298} z85c30_context;
    299299
     
    304304 *       eg ((10,000,000 / 16) / (2 * Baud Rate)) - 2
    305305 */
     306
    306307#define Z85C30_Baud( _clock, _baud_rate  )   \
    307308  ( ((_clock) /(  16 * 2 * _baud_rate))  - 2)
     
    327328
    328329static int z85c30_open(
    329         int     major,
    330         int     minor,
    331         void    * arg
     330  int major,
     331  int minor,
     332  void  * arg
    332333);
    333334
    334335static int z85c30_close(
    335         int     major,
    336         int     minor,
    337         void    * arg
     336  int major,
     337  int minor,
     338  void  * arg
    338339);
    339340
    340341static void z85c30_write_polled(
    341         int   minor,
    342         char  cChar
     342  int   minor,
     343  char  cChar
    343344);
    344345
    345346static int z85c30_assert_RTS(
    346         int minor
     347  int minor
    347348);
    348349
    349350static int z85c30_negate_RTS(
    350         int minor
     351  int minor
    351352);
    352353
    353354static int z85c30_assert_DTR(
    354         int minor
     355  int minor
    355356);
    356357
    357358static int z85c30_negate_DTR(
    358         int minor
     359  int minor
    359360);
    360361
     
    364365
    365366static int z85c30_write_support_int(
    366         int   minor,
    367         const char *buf,
    368         int   len
     367  int   minor,
     368  const char *buf,
     369  int   len
    369370);
    370371
    371372static int z85c30_write_support_polled(
    372         int   minor,
    373         const char *buf,
    374         int   len
     373  int   minor,
     374  const char *buf,
     375  int   len
    375376);
    376377
    377378static int z85c30_inbyte_nonblocking_polled(
    378         int minor
     379  int minor
    379380);
    380381
  • c/src/libchip/serial/z85c30.c

    raa0da6b re4acf68  
    11/*
    22 *  This file contains the console driver chip level routines for the
    3  *  z85c30 chip.
     3 *  Zilog z85c30 chip.
     4 *
     5 *  The Zilog Z8530 is also available as:
     6 *
     7 *    + Intel 82530
     8 *    + AMD ???
    49 *
    510 *  COPYRIGHT (c) 1998 by Radstone Technology
     
    3742 * Flow control is only supported when using interrupts
    3843 */
     44
    3945console_flow z85c30_flow_RTSCTS =
    4046{
     
    5258 * Exported driver function table
    5359 */
     60
    5461console_fns z85c30_fns =
    5562{
     
    347354 * These routines provide control of the RTS and DTR lines
    348355 */
     356
    349357/*
    350358 *  z85c30_assert_RTS
    351359 */
     360
    352361static int z85c30_assert_RTS(int minor)
    353362{
     
    378387 *  z85c30_negate_RTS
    379388 */
     389
    380390static int z85c30_negate_RTS(int minor)
    381391{
     
    407417 * line to the remote CTS line
    408418 */
     419
    409420/*
    410421 *  z85c30_assert_DTR
    411422 */
     423
    412424static int z85c30_assert_DTR(int minor)
    413425{
     
    438450 *  z85c30_negate_DTR
    439451 */
     452
    440453static int z85c30_negate_DTR(int minor)
    441454{
     
    713726 *
    714727 */
     728
    715729static int z85c30_write_support_int(
    716730  int   minor,
     
    775789 *  This routine polls for a character.
    776790 */
     791
    777792static int z85c30_inbyte_nonblocking_polled(
    778793  int  minor
  • c/src/libchip/serial/z85c30.h

    raa0da6b re4acf68  
    1 /*  z85c30.h
    2  *
    3  *  This include file contains all console driver definations for the z85c30
     1/*
     2 *  This include file contains all console driver definitions for the
     3 *  Zilog z85c30.
    44 *
    55 *  COPYRIGHT (c) 1998 by Radstone Technology
  • c/src/libchip/serial/z85c30_p.h

    raa0da6b re4acf68  
    1 /*  z85c30_p.h
    2  *
    3  *  This include file contains all private driver definations for the z85c30
     1/*
     2 *  This include file contains all private driver definitions for the
     3 *  Zilog z85c30.
    44 *
    55 *  COPYRIGHT (c) 1998 by Radstone Technology
     
    2424 *  http://www.OARcorp.com/rtems/license.html.
    2525 *
    26  *  $Id:
     26 *  $Id$
    2727 */
    2828
     
    3737/* command register */
    3838
    39 #define SCC_WR0_SEL_WR0         0x00
    40 #define SCC_WR0_SEL_WR1         0x01
    41 #define SCC_WR0_SEL_WR2         0x02
    42 #define SCC_WR0_SEL_WR3         0x03
    43 #define SCC_WR0_SEL_WR4         0x04
    44 #define SCC_WR0_SEL_WR5         0x05
    45 #define SCC_WR0_SEL_WR6         0x06
    46 #define SCC_WR0_SEL_WR7         0x07
    47 #define SCC_WR0_SEL_WR8         0x08
    48 #define SCC_WR0_SEL_WR9         0x09
    49 #define SCC_WR0_SEL_WR10        0x0a
    50 #define SCC_WR0_SEL_WR11        0x0b
    51 #define SCC_WR0_SEL_WR12        0x0c
    52 #define SCC_WR0_SEL_WR13        0x0d
    53 #define SCC_WR0_SEL_WR14        0x0e
    54 #define SCC_WR0_SEL_WR15        0x0f
    55 #define SCC_WR0_SEL_RD0         0x00
    56 #define SCC_WR0_SEL_RD1         0x01
    57 #define SCC_WR0_SEL_RD2         0x02
    58 #define SCC_WR0_SEL_RD3         0x03
    59 #define SCC_WR0_SEL_RD4         0x04
    60 #define SCC_WR0_SEL_RD5         0x05
    61 #define SCC_WR0_SEL_RD6         0x06
    62 #define SCC_WR0_SEL_RD7         0x07
    63 #define SCC_WR0_SEL_RD8         0x08
    64 #define SCC_WR0_SEL_RD9         0x09
    65 #define SCC_WR0_SEL_RD10        0x0a
    66 #define SCC_WR0_SEL_RD11        0x0b
    67 #define SCC_WR0_SEL_RD12        0x0c
    68 #define SCC_WR0_SEL_RD13        0x0d
    69 #define SCC_WR0_SEL_RD14        0x0e
    70 #define SCC_WR0_SEL_RD15        0x0f
    71 #define SCC_WR0_NULL_CODE       0x00
    72 #define SCC_WR0_RST_INT         0x10
    73 #define SCC_WR0_SEND_ABORT      0x18
    74 #define SCC_WR0_EN_INT_RX       0x20
    75 #define SCC_WR0_RST_TX_INT      0x28
    76 #define SCC_WR0_ERR_RST         0x30
    77 #define SCC_WR0_RST_HI_IUS      0x38
    78 #define SCC_WR0_RST_RX_CRC      0x40
    79 #define SCC_WR0_RST_TX_CRC      0x80
    80 #define SCC_WR0_RST_TX_UND      0xc0
     39#define SCC_WR0_SEL_WR0   0x00
     40#define SCC_WR0_SEL_WR1   0x01
     41#define SCC_WR0_SEL_WR2   0x02
     42#define SCC_WR0_SEL_WR3   0x03
     43#define SCC_WR0_SEL_WR4   0x04
     44#define SCC_WR0_SEL_WR5   0x05
     45#define SCC_WR0_SEL_WR6   0x06
     46#define SCC_WR0_SEL_WR7   0x07
     47#define SCC_WR0_SEL_WR8   0x08
     48#define SCC_WR0_SEL_WR9   0x09
     49#define SCC_WR0_SEL_WR10  0x0a
     50#define SCC_WR0_SEL_WR11  0x0b
     51#define SCC_WR0_SEL_WR12  0x0c
     52#define SCC_WR0_SEL_WR13  0x0d
     53#define SCC_WR0_SEL_WR14  0x0e
     54#define SCC_WR0_SEL_WR15  0x0f
     55#define SCC_WR0_SEL_RD0   0x00
     56#define SCC_WR0_SEL_RD1   0x01
     57#define SCC_WR0_SEL_RD2   0x02
     58#define SCC_WR0_SEL_RD3   0x03
     59#define SCC_WR0_SEL_RD4   0x04
     60#define SCC_WR0_SEL_RD5   0x05
     61#define SCC_WR0_SEL_RD6   0x06
     62#define SCC_WR0_SEL_RD7   0x07
     63#define SCC_WR0_SEL_RD8   0x08
     64#define SCC_WR0_SEL_RD9   0x09
     65#define SCC_WR0_SEL_RD10  0x0a
     66#define SCC_WR0_SEL_RD11  0x0b
     67#define SCC_WR0_SEL_RD12  0x0c
     68#define SCC_WR0_SEL_RD13  0x0d
     69#define SCC_WR0_SEL_RD14  0x0e
     70#define SCC_WR0_SEL_RD15  0x0f
     71#define SCC_WR0_NULL_CODE 0x00
     72#define SCC_WR0_RST_INT   0x10
     73#define SCC_WR0_SEND_ABORT  0x18
     74#define SCC_WR0_EN_INT_RX 0x20
     75#define SCC_WR0_RST_TX_INT  0x28
     76#define SCC_WR0_ERR_RST   0x30
     77#define SCC_WR0_RST_HI_IUS  0x38
     78#define SCC_WR0_RST_RX_CRC  0x40
     79#define SCC_WR0_RST_TX_CRC  0x80
     80#define SCC_WR0_RST_TX_UND  0xc0
    8181
    8282/* write register 2 */
     
    8686/* tx/rx interrupt and data transfer mode definition */
    8787
    88 #define SCC_WR1_EXT_INT_EN      0x01
    89 #define SCC_WR1_TX_INT_EN       0x02
    90 #define SCC_WR1_PARITY          0x04
    91 #define SCC_WR1_RX_INT_DIS      0x00
    92 #define SCC_WR1_RX_INT_FIR      0x08
    93 #define SCC_WR1_INT_ALL_RX      0x10
    94 #define SCC_WR1_RX_INT_SPE      0x18
    95 #define SCC_WR1_RDMA_RECTR      0x20
    96 #define SCC_WR1_RDMA_FUNC       0x40
    97 #define SCC_WR1_RDMA_EN         0x80
     88#define SCC_WR1_EXT_INT_EN  0x01
     89#define SCC_WR1_TX_INT_EN 0x02
     90#define SCC_WR1_PARITY    0x04
     91#define SCC_WR1_RX_INT_DIS  0x00
     92#define SCC_WR1_RX_INT_FIR  0x08
     93#define SCC_WR1_INT_ALL_RX  0x10
     94#define SCC_WR1_RX_INT_SPE  0x18
     95#define SCC_WR1_RDMA_RECTR  0x20
     96#define SCC_WR1_RDMA_FUNC 0x40
     97#define SCC_WR1_RDMA_EN   0x80
    9898
    9999/* bit values for write register 3 */
    100100/* receive parameters and control */
    101101
    102 #define SCC_WR3_RX_EN           0x01
    103 #define SCC_WR3_SYNC_CHAR       0x02
    104 #define SCC_WR3_ADR_SEARCH      0x04
    105 #define SCC_WR3_RX_CRC_EN       0x08
    106 #define SCC_WR3_ENTER_HUNT      0x10
    107 #define SCC_WR3_AUTO_EN         0x20
    108 #define SCC_WR3_RX_5_BITS       0x00
    109 #define SCC_WR3_RX_7_BITS       0x40
    110 #define SCC_WR3_RX_6_BITS       0x80
    111 #define SCC_WR3_RX_8_BITS       0xc0
     102#define SCC_WR3_RX_EN   0x01
     103#define SCC_WR3_SYNC_CHAR 0x02
     104#define SCC_WR3_ADR_SEARCH  0x04
     105#define SCC_WR3_RX_CRC_EN 0x08
     106#define SCC_WR3_ENTER_HUNT  0x10
     107#define SCC_WR3_AUTO_EN   0x20
     108#define SCC_WR3_RX_5_BITS 0x00
     109#define SCC_WR3_RX_7_BITS 0x40
     110#define SCC_WR3_RX_6_BITS 0x80
     111#define SCC_WR3_RX_8_BITS 0xc0
    112112
    113113/* bit values for write register 4 */
    114114/* tx/rx misc parameters and modes */
    115115
    116 #define SCC_WR4_PAR_EN          0x01
    117 #define SCC_WR4_PAR_EVEN        0x02
    118 #define SCC_WR4_SYNC_EN         0x00
    119 #define SCC_WR4_1_STOP          0x04
    120 #define SCC_WR4_2_STOP          0x0c
    121 #define SCC_WR4_8_SYNC          0x00
    122 #define SCC_WR4_16_SYNC         0x10
    123 #define SCC_WR4_SDLC            0x20
    124 #define SCC_WR4_EXT_SYNC        0x30
    125 #define SCC_WR4_1_CLOCK         0x00
    126 #define SCC_WR4_16_CLOCK        0x40
    127 #define SCC_WR4_32_CLOCK        0x80
    128 #define SCC_WR4_64_CLOCK        0xc0
     116#define SCC_WR4_PAR_EN    0x01
     117#define SCC_WR4_PAR_EVEN  0x02
     118#define SCC_WR4_SYNC_EN   0x00
     119#define SCC_WR4_1_STOP    0x04
     120#define SCC_WR4_2_STOP    0x0c
     121#define SCC_WR4_8_SYNC    0x00
     122#define SCC_WR4_16_SYNC   0x10
     123#define SCC_WR4_SDLC    0x20
     124#define SCC_WR4_EXT_SYNC  0x30
     125#define SCC_WR4_1_CLOCK   0x00
     126#define SCC_WR4_16_CLOCK  0x40
     127#define SCC_WR4_32_CLOCK  0x80
     128#define SCC_WR4_64_CLOCK  0xc0
    129129
    130130/* bit values for write register 5 */
    131131/* transmit parameter and controls */
    132132
    133 #define SCC_WR5_TX_CRC_EN       0x01
    134 #define SCC_WR5_RTS             0x02
    135 #define SCC_WR5_SDLC            0x04
    136 #define SCC_WR5_TX_EN           0x08
    137 #define SCC_WR5_SEND_BRK        0x10
    138 
    139 #define SCC_WR5_TX_5_BITS       0x00
    140 #define SCC_WR5_TX_7_BITS       0x20
    141 #define SCC_WR5_TX_6_BITS       0x40
    142 #define SCC_WR5_TX_8_BITS       0x60
    143 #define SCC_WR5_DTR             0x80
     133#define SCC_WR5_TX_CRC_EN 0x01
     134#define SCC_WR5_RTS   0x02
     135#define SCC_WR5_SDLC    0x04
     136#define SCC_WR5_TX_EN   0x08
     137#define SCC_WR5_SEND_BRK  0x10
     138
     139#define SCC_WR5_TX_5_BITS 0x00
     140#define SCC_WR5_TX_7_BITS 0x20
     141#define SCC_WR5_TX_6_BITS 0x40
     142#define SCC_WR5_TX_8_BITS 0x60
     143#define SCC_WR5_DTR   0x80
    144144
    145145/* write register 6 */
     
    155155/* master interrupt control */
    156156
    157 #define SCC_WR9_VIS             0x01
    158 #define SCC_WR9_NV              0x02
    159 #define SCC_WR9_DLC             0x04
    160 #define SCC_WR9_MIE             0x08
    161 #define SCC_WR9_STATUS_HI       0x10
    162 #define SCC_WR9_NO_RST          0x00
    163 #define SCC_WR9_CH_B_RST        0x40
    164 #define SCC_WR9_CH_A_RST        0x80
    165 #define SCC_WR9_HDWR_RST        0xc0
     157#define SCC_WR9_VIS   0x01
     158#define SCC_WR9_NV    0x02
     159#define SCC_WR9_DLC   0x04
     160#define SCC_WR9_MIE   0x08
     161#define SCC_WR9_STATUS_HI 0x10
     162#define SCC_WR9_NO_RST    0x00
     163#define SCC_WR9_CH_B_RST  0x40
     164#define SCC_WR9_CH_A_RST  0x80
     165#define SCC_WR9_HDWR_RST  0xc0
    166166
    167167/* bit values for write register 10 */
    168168/* misc tx/rx control bits */
    169169
    170 #define SCC_WR10_6_BIT_SYNC     0x01
    171 #define SCC_WR10_LOOP_MODE      0x02
    172 #define SCC_WR10_ABORT_UND      0x04
    173 #define SCC_WR10_MARK_IDLE      0x08
    174 #define SCC_WR10_ACT_POLL       0x10
    175 #define SCC_WR10_NRZ            0x00
    176 #define SCC_WR10_NRZI           0x20
    177 #define SCC_WR10_FM1            0x40
    178 #define SCC_WR10_FM0            0x60
    179 #define SCC_WR10_CRC_PRESET     0x80
     170#define SCC_WR10_6_BIT_SYNC 0x01
     171#define SCC_WR10_LOOP_MODE  0x02
     172#define SCC_WR10_ABORT_UND  0x04
     173#define SCC_WR10_MARK_IDLE  0x08
     174#define SCC_WR10_ACT_POLL 0x10
     175#define SCC_WR10_NRZ    0x00
     176#define SCC_WR10_NRZI   0x20
     177#define SCC_WR10_FM1    0x40
     178#define SCC_WR10_FM0    0x60
     179#define SCC_WR10_CRC_PRESET 0x80
    180180
    181181/* bit values for write register 11 */
    182182/* clock mode control */
    183183
    184 #define SCC_WR11_OUT_XTAL       0x00
    185 #define SCC_WR11_OUT_TX_CLK     0x01
    186 #define SCC_WR11_OUT_BR_GEN     0x02
    187 #define SCC_WR11_OUT_DPLL       0x03
    188 #define SCC_WR11_TRXC_OI        0x04
    189 #define SCC_WR11_TX_RTXC        0x00
    190 #define SCC_WR11_TX_TRXC        0x08
    191 #define SCC_WR11_TX_BR_GEN      0x10
    192 #define SCC_WR11_TX_DPLL        0x18
    193 #define SCC_WR11_RX_RTXC        0x00
    194 #define SCC_WR11_RX_TRXC        0x20
    195 #define SCC_WR11_RX_BR_GEN      0x40
    196 #define SCC_WR11_RX_DPLL        0x60
    197 #define SCC_WR11_RTXC_XTAL      0x80
     184#define SCC_WR11_OUT_XTAL 0x00
     185#define SCC_WR11_OUT_TX_CLK 0x01
     186#define SCC_WR11_OUT_BR_GEN 0x02
     187#define SCC_WR11_OUT_DPLL 0x03
     188#define SCC_WR11_TRXC_OI  0x04
     189#define SCC_WR11_TX_RTXC  0x00
     190#define SCC_WR11_TX_TRXC  0x08
     191#define SCC_WR11_TX_BR_GEN  0x10
     192#define SCC_WR11_TX_DPLL  0x18
     193#define SCC_WR11_RX_RTXC  0x00
     194#define SCC_WR11_RX_TRXC  0x20
     195#define SCC_WR11_RX_BR_GEN  0x40
     196#define SCC_WR11_RX_DPLL  0x60
     197#define SCC_WR11_RTXC_XTAL  0x80
    198198
    199199/* write register 12 */
     
    206206/* misc control bits */
    207207
    208 #define SCC_WR14_BR_EN          0x01
    209 #define SCC_WR14_BR_SRC         0x02
    210 #define SCC_WR14_DTR_FUNC       0x04
    211 #define SCC_WR14_AUTO_ECHO      0x08
    212 #define SCC_WR14_LCL_LOOP       0x10
    213 #define SCC_WR14_NULL           0x00
    214 #define SCC_WR14_SEARCH         0x20
    215 #define SCC_WR14_RST_CLK        0x40
    216 #define SCC_WR14_DIS_DPLL       0x60
    217 #define SCC_WR14_SRC_BR         0x80
    218 #define SCC_WR14_SRC_RTXC       0xa0
    219 #define SCC_WR14_FM_MODE        0xc0
    220 #define SCC_WR14_NRZI           0xe0
     208#define SCC_WR14_BR_EN    0x01
     209#define SCC_WR14_BR_SRC   0x02
     210#define SCC_WR14_DTR_FUNC 0x04
     211#define SCC_WR14_AUTO_ECHO  0x08
     212#define SCC_WR14_LCL_LOOP 0x10
     213#define SCC_WR14_NULL   0x00
     214#define SCC_WR14_SEARCH   0x20
     215#define SCC_WR14_RST_CLK  0x40
     216#define SCC_WR14_DIS_DPLL 0x60
     217#define SCC_WR14_SRC_BR   0x80
     218#define SCC_WR14_SRC_RTXC 0xa0
     219#define SCC_WR14_FM_MODE  0xc0
     220#define SCC_WR14_NRZI   0xe0
    221221
    222222/* bit values for write register 15 */
    223223/* external/status interrupt control */
    224224
    225 #define SCC_WR15_ZERO_CNT       0x02
    226 #define SCC_WR15_CD_IE          0x08
    227 #define SCC_WR15_SYNC_IE        0x10
    228 #define SCC_WR15_CTS_IE         0x20
    229 #define SCC_WR15_TX_UND_IE      0x40
    230 #define SCC_WR15_BREAK_IE       0x80
     225#define SCC_WR15_ZERO_CNT 0x02
     226#define SCC_WR15_CD_IE    0x08
     227#define SCC_WR15_SYNC_IE  0x10
     228#define SCC_WR15_CTS_IE   0x20
     229#define SCC_WR15_TX_UND_IE  0x40
     230#define SCC_WR15_BREAK_IE 0x80
    231231
    232232/* bit values for read register 0 */
    233233/* tx/rx buffer status and external status  */
    234234
    235 #define SCC_RR0_RX_AVAIL        0x01
    236 #define SCC_RR0_ZERO_CNT        0x02
    237 #define SCC_RR0_TX_EMPTY        0x04
    238 #define SCC_RR0_CD              0x08
    239 #define SCC_RR0_SYNC            0x10
    240 #define SCC_RR0_CTS             0x20
    241 #define SCC_RR0_TX_UND          0x40
    242 #define SCC_RR0_BREAK           0x80
     235#define SCC_RR0_RX_AVAIL  0x01
     236#define SCC_RR0_ZERO_CNT  0x02
     237#define SCC_RR0_TX_EMPTY  0x04
     238#define SCC_RR0_CD    0x08
     239#define SCC_RR0_SYNC    0x10
     240#define SCC_RR0_CTS   0x20
     241#define SCC_RR0_TX_UND    0x40
     242#define SCC_RR0_BREAK   0x80
    243243
    244244/* bit values for read register 1 */
    245245
    246 #define SCC_RR1_ALL_SENT        0x01
    247 #define SCC_RR1_RES_CD_2        0x02
    248 #define SCC_RR1_RES_CD_1        0x01
    249 #define SCC_RR1_RES_CD_0        0x08
    250 #define SCC_RR1_PAR_ERR         0x10
    251 #define SCC_RR1_RX_OV_ERR       0x20
    252 #define SCC_RR1_CRC_ERR         0x40
    253 #define SCC_RR1_END_FRAME       0x80
     246#define SCC_RR1_ALL_SENT  0x01
     247#define SCC_RR1_RES_CD_2  0x02
     248#define SCC_RR1_RES_CD_1  0x01
     249#define SCC_RR1_RES_CD_0  0x08
     250#define SCC_RR1_PAR_ERR   0x10
     251#define SCC_RR1_RX_OV_ERR 0x20
     252#define SCC_RR1_CRC_ERR   0x40
     253#define SCC_RR1_END_FRAME 0x80
    254254
    255255/* read register 2 */
     
    259259/* interrupt pending register */
    260260
    261 #define SCC_RR3_B_EXT_IP        0x01
    262 #define SCC_RR3_B_TX_IP         0x02
    263 #define SCC_RR3_B_RX_IP         0x04
    264 #define SCC_RR3_A_EXT_IP        0x08
    265 #define SCC_RR3_A_TX_IP         0x10
    266 #define SCC_RR3_A_RX_IP         0x20
     261#define SCC_RR3_B_EXT_IP  0x01
     262#define SCC_RR3_B_TX_IP   0x02
     263#define SCC_RR3_B_RX_IP   0x04
     264#define SCC_RR3_A_EXT_IP  0x08
     265#define SCC_RR3_A_TX_IP   0x10
     266#define SCC_RR3_A_RX_IP   0x20
    267267
    268268/* read register 8 */
     
    272272/* misc status bits */
    273273
    274 #define SCC_RR10_ON_LOOP        0x02
    275 #define SCC_RR10_LOOP_SEND      0x10
    276 #define SCC_RR10_2_CLK_MIS      0x40
    277 #define SCC_RR10_1_CLK_MIS      0x80
     274#define SCC_RR10_ON_LOOP  0x02
     275#define SCC_RR10_LOOP_SEND  0x10
     276#define SCC_RR10_2_CLK_MIS  0x40
     277#define SCC_RR10_1_CLK_MIS  0x80
    278278
    279279/* read register 12 */
     
    286286/* external/status ie bits */
    287287
    288 #define SCC_RR15_ZERO_CNT       0x02
    289 #define SCC_RR15_CD_IE          0x08
    290 #define SCC_RR15_SYNC_IE        0x10
    291 #define SCC_RR15_CTS_IE         0x20
    292 #define SCC_RR15_TX_UND_IE      0x40
    293 #define SCC_RR15_BREAK_IE       0x80
     288#define SCC_RR15_ZERO_CNT 0x02
     289#define SCC_RR15_CD_IE    0x08
     290#define SCC_RR15_SYNC_IE  0x10
     291#define SCC_RR15_CTS_IE   0x20
     292#define SCC_RR15_TX_UND_IE  0x40
     293#define SCC_RR15_BREAK_IE 0x80
    294294
    295295typedef struct _z85c30_context
    296296{
    297         unsigned8       ucModemCtrl;
     297  unsigned8 ucModemCtrl;
    298298} z85c30_context;
    299299
     
    304304 *       eg ((10,000,000 / 16) / (2 * Baud Rate)) - 2
    305305 */
     306
    306307#define Z85C30_Baud( _clock, _baud_rate  )   \
    307308  ( ((_clock) /(  16 * 2 * _baud_rate))  - 2)
     
    327328
    328329static int z85c30_open(
    329         int     major,
    330         int     minor,
    331         void    * arg
     330  int major,
     331  int minor,
     332  void  * arg
    332333);
    333334
    334335static int z85c30_close(
    335         int     major,
    336         int     minor,
    337         void    * arg
     336  int major,
     337  int minor,
     338  void  * arg
    338339);
    339340
    340341static void z85c30_write_polled(
    341         int   minor,
    342         char  cChar
     342  int   minor,
     343  char  cChar
    343344);
    344345
    345346static int z85c30_assert_RTS(
    346         int minor
     347  int minor
    347348);
    348349
    349350static int z85c30_negate_RTS(
    350         int minor
     351  int minor
    351352);
    352353
    353354static int z85c30_assert_DTR(
    354         int minor
     355  int minor
    355356);
    356357
    357358static int z85c30_negate_DTR(
    358         int minor
     359  int minor
    359360);
    360361
     
    364365
    365366static int z85c30_write_support_int(
    366         int   minor,
    367         const char *buf,
    368         int   len
     367  int   minor,
     368  const char *buf,
     369  int   len
    369370);
    370371
    371372static int z85c30_write_support_polled(
    372         int   minor,
    373         const char *buf,
    374         int   len
     373  int   minor,
     374  const char *buf,
     375  int   len
    375376);
    376377
    377378static int z85c30_inbyte_nonblocking_polled(
    378         int minor
     379  int minor
    379380);
    380381
Note: See TracChangeset for help on using the changeset viewer.