Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * hd64572.h    Description of the Hitachi HD64572 (SCA-II), valid for 
0004  *      CPU modes 0 & 2.
0005  *
0006  * Author:  Ivan Passos <ivan@cyclades.com>
0007  *
0008  * Copyright:   (c) 2000-2001 Cyclades Corp.
0009  *
0010  * $Log: hd64572.h,v $
0011  * Revision 3.1  2001/06/15 12:41:10  regina
0012  * upping major version number
0013  *
0014  * Revision 1.1.1.1  2001/06/13 20:24:49  daniela
0015  * PC300 initial CVS version (3.4.0-pre1)
0016  *
0017  * Revision 1.0 2000/01/25 ivan
0018  * Initial version.
0019  */
0020 
0021 #ifndef __HD64572_H
0022 #define __HD64572_H
0023 
0024 /* Illegal Access Register */
0025 #define ILAR    0x00
0026 
0027 /* Wait Controller Registers */
0028 #define PABR0L  0x20    /* Physical Addr Boundary Register 0 L */
0029 #define PABR0H  0x21    /* Physical Addr Boundary Register 0 H */
0030 #define PABR1L  0x22    /* Physical Addr Boundary Register 1 L */
0031 #define PABR1H  0x23    /* Physical Addr Boundary Register 1 H */
0032 #define WCRL    0x24    /* Wait Control Register L */
0033 #define WCRM    0x25    /* Wait Control Register M */
0034 #define WCRH    0x26    /* Wait Control Register H */
0035 
0036 /* Interrupt Registers */
0037 #define IVR 0x60    /* Interrupt Vector Register */
0038 #define IMVR    0x64    /* Interrupt Modified Vector Register */
0039 #define ITCR    0x68    /* Interrupt Control Register */
0040 #define ISR0    0x6c    /* Interrupt Status Register 0 */
0041 #define ISR1    0x70    /* Interrupt Status Register 1 */
0042 #define IER0    0x74    /* Interrupt Enable Register 0 */
0043 #define IER1    0x78    /* Interrupt Enable Register 1 */
0044 
0045 /* Register Access Macros (chan is 0 or 1 in _any_ case) */
0046 #define M_REG(reg, chan)    (reg + 0x80*chan)       /* MSCI */
0047 #define DRX_REG(reg, chan)  (reg + 0x40*chan)       /* DMA Rx */
0048 #define DTX_REG(reg, chan)  (reg + 0x20*(2*chan + 1))   /* DMA Tx */
0049 #define TRX_REG(reg, chan)  (reg + 0x20*chan)       /* Timer Rx */
0050 #define TTX_REG(reg, chan)  (reg + 0x10*(2*chan + 1))   /* Timer Tx */
0051 #define ST_REG(reg, chan)   (reg + 0x80*chan)       /* Status Cnt */
0052 #define IR0_DRX(val, chan)  ((val)<<(8*(chan)))     /* Int DMA Rx */
0053 #define IR0_DTX(val, chan)  ((val)<<(4*(2*chan + 1)))   /* Int DMA Tx */
0054 #define IR0_M(val, chan)    ((val)<<(8*(chan)))     /* Int MSCI */
0055 
0056 /* MSCI Channel Registers */
0057 #define MSCI0_OFFSET 0x00
0058 #define MSCI1_OFFSET 0x80
0059 
0060 #define MD0 0x138   /* Mode reg 0 */
0061 #define MD1 0x139   /* Mode reg 1 */
0062 #define MD2 0x13a   /* Mode reg 2 */
0063 #define MD3 0x13b   /* Mode reg 3 */
0064 #define CTL 0x130   /* Control reg */
0065 #define RXS 0x13c   /* RX clock source */
0066 #define TXS 0x13d   /* TX clock source */
0067 #define EXS 0x13e   /* External clock input selection */
0068 #define TMCT    0x144   /* Time constant (Tx) */
0069 #define TMCR    0x145   /* Time constant (Rx) */
0070 #define CMD 0x128   /* Command reg */
0071 #define ST0 0x118   /* Status reg 0 */
0072 #define ST1 0x119   /* Status reg 1 */
0073 #define ST2 0x11a   /* Status reg 2 */
0074 #define ST3 0x11b   /* Status reg 3 */
0075 #define ST4 0x11c   /* Status reg 4 */
0076 #define FST 0x11d   /* frame Status reg  */
0077 #define IE0 0x120   /* Interrupt enable reg 0 */
0078 #define IE1 0x121   /* Interrupt enable reg 1 */
0079 #define IE2 0x122   /* Interrupt enable reg 2 */
0080 #define IE4 0x124   /* Interrupt enable reg 4 */
0081 #define FIE 0x125   /* Frame Interrupt enable reg  */
0082 #define SA0 0x140   /* Syn Address reg 0 */
0083 #define SA1 0x141   /* Syn Address reg 1 */
0084 #define IDL 0x142   /* Idle register */
0085 #define TRBL    0x100   /* TX/RX buffer reg L */ 
0086 #define TRBK    0x101   /* TX/RX buffer reg K */ 
0087 #define TRBJ    0x102   /* TX/RX buffer reg J */ 
0088 #define TRBH    0x103   /* TX/RX buffer reg H */ 
0089 #define TRC0    0x148   /* TX Ready control reg 0 */ 
0090 #define TRC1    0x149   /* TX Ready control reg 1 */ 
0091 #define RRC 0x14a   /* RX Ready control reg */ 
0092 #define CST0    0x108   /* Current Status Register 0 */ 
0093 #define CST1    0x109   /* Current Status Register 1 */ 
0094 #define CST2    0x10a   /* Current Status Register 2 */ 
0095 #define CST3    0x10b   /* Current Status Register 3 */ 
0096 #define GPO 0x131   /* General Purpose Output Pin Ctl Reg */
0097 #define TFS 0x14b   /* Tx Start Threshold Ctl Reg */
0098 #define TFN 0x143   /* Inter-transmit-frame Time Fill Ctl Reg */
0099 #define TBN 0x110   /* Tx Buffer Number Reg */
0100 #define RBN 0x111   /* Rx Buffer Number Reg */
0101 #define TNR0    0x150   /* Tx DMA Request Ctl Reg 0 */
0102 #define TNR1    0x151   /* Tx DMA Request Ctl Reg 1 */
0103 #define TCR 0x152   /* Tx DMA Critical Request Reg */
0104 #define RNR 0x154   /* Rx DMA Request Ctl Reg */
0105 #define RCR 0x156   /* Rx DMA Critical Request Reg */
0106 
0107 /* Timer Registers */
0108 #define TIMER0RX_OFFSET 0x00
0109 #define TIMER0TX_OFFSET 0x10
0110 #define TIMER1RX_OFFSET 0x20
0111 #define TIMER1TX_OFFSET 0x30
0112 
0113 #define TCNTL   0x200   /* Timer Upcounter L */
0114 #define TCNTH   0x201   /* Timer Upcounter H */
0115 #define TCONRL  0x204   /* Timer Constant Register L */
0116 #define TCONRH  0x205   /* Timer Constant Register H */
0117 #define TCSR    0x206   /* Timer Control/Status Register */
0118 #define TEPR    0x207   /* Timer Expand Prescale Register */
0119 
0120 /* DMA registers */
0121 #define PCR     0x40        /* DMA priority control reg */
0122 #define DRR     0x44        /* DMA reset reg */
0123 #define DMER        0x07        /* DMA Master Enable reg */
0124 #define BTCR        0x08        /* Burst Tx Ctl Reg */
0125 #define BOLR        0x0c        /* Back-off Length Reg */
0126 #define DSR_RX(chan)    (0x48 + 2*chan) /* DMA Status Reg (Rx) */
0127 #define DSR_TX(chan)    (0x49 + 2*chan) /* DMA Status Reg (Tx) */
0128 #define DIR_RX(chan)    (0x4c + 2*chan) /* DMA Interrupt Enable Reg (Rx) */
0129 #define DIR_TX(chan)    (0x4d + 2*chan) /* DMA Interrupt Enable Reg (Tx) */
0130 #define FCT_RX(chan)    (0x50 + 2*chan) /* Frame End Interrupt Counter (Rx) */
0131 #define FCT_TX(chan)    (0x51 + 2*chan) /* Frame End Interrupt Counter (Tx) */
0132 #define DMR_RX(chan)    (0x54 + 2*chan) /* DMA Mode Reg (Rx) */
0133 #define DMR_TX(chan)    (0x55 + 2*chan) /* DMA Mode Reg (Tx) */
0134 #define DCR_RX(chan)    (0x58 + 2*chan) /* DMA Command Reg (Rx) */
0135 #define DCR_TX(chan)    (0x59 + 2*chan) /* DMA Command Reg (Tx) */
0136 
0137 /* DMA Channel Registers */
0138 #define DMAC0RX_OFFSET 0x00
0139 #define DMAC0TX_OFFSET 0x20
0140 #define DMAC1RX_OFFSET 0x40
0141 #define DMAC1TX_OFFSET 0x60
0142 
0143 #define DARL    0x80    /* Dest Addr Register L (single-block, RX only) */
0144 #define DARH    0x81    /* Dest Addr Register H (single-block, RX only) */
0145 #define DARB    0x82    /* Dest Addr Register B (single-block, RX only) */
0146 #define DARBH   0x83    /* Dest Addr Register BH (single-block, RX only) */
0147 #define SARL    0x80    /* Source Addr Register L (single-block, TX only) */
0148 #define SARH    0x81    /* Source Addr Register H (single-block, TX only) */
0149 #define SARB    0x82    /* Source Addr Register B (single-block, TX only) */
0150 #define DARBH   0x83    /* Source Addr Register BH (single-block, TX only) */
0151 #define BARL    0x80    /* Buffer Addr Register L (chained-block) */
0152 #define BARH    0x81    /* Buffer Addr Register H (chained-block) */
0153 #define BARB    0x82    /* Buffer Addr Register B (chained-block) */
0154 #define BARBH   0x83    /* Buffer Addr Register BH (chained-block) */
0155 #define CDAL    0x84    /* Current Descriptor Addr Register L */
0156 #define CDAH    0x85    /* Current Descriptor Addr Register H */
0157 #define CDAB    0x86    /* Current Descriptor Addr Register B */
0158 #define CDABH   0x87    /* Current Descriptor Addr Register BH */
0159 #define EDAL    0x88    /* Error Descriptor Addr Register L */
0160 #define EDAH    0x89    /* Error Descriptor Addr Register H */
0161 #define EDAB    0x8a    /* Error Descriptor Addr Register B */
0162 #define EDABH   0x8b    /* Error Descriptor Addr Register BH */
0163 #define BFLL    0x90    /* RX Buffer Length L (only RX) */
0164 #define BFLH    0x91    /* RX Buffer Length H (only RX) */
0165 #define BCRL    0x8c    /* Byte Count Register L */
0166 #define BCRH    0x8d    /* Byte Count Register H */
0167 
0168 /* Block Descriptor Structure */
0169 typedef struct {
0170     unsigned long   next;       /* pointer to next block descriptor */
0171     unsigned long   ptbuf;      /* buffer pointer */
0172     unsigned short  len;        /* data length */
0173     unsigned char   status;     /* status */
0174     unsigned char   filler[5];  /* alignment filler (16 bytes) */ 
0175 } pcsca_bd_t;
0176 
0177 /* Block Descriptor Structure */
0178 typedef struct {
0179     u32 cp;         /* pointer to next block descriptor */
0180     u32 bp;         /* buffer pointer */
0181     u16 len;        /* data length */
0182     u8 stat;        /* status */
0183     u8 unused;      /* pads to 4-byte boundary */
0184 }pkt_desc;
0185 
0186 
0187 /*
0188     Descriptor Status definitions:
0189 
0190     Bit Transmission    Reception
0191 
0192     7   EOM     EOM
0193     6   -       Short Frame
0194     5   -       Abort
0195     4   -       Residual bit
0196     3   Underrun    Overrun 
0197     2   -       CRC
0198     1   Ownership   Ownership
0199     0   EOT     -
0200 */
0201 #define DST_EOT     0x01    /* End of transmit command */
0202 #define DST_OSB     0x02    /* Ownership bit */
0203 #define DST_CRC     0x04    /* CRC Error */
0204 #define DST_OVR     0x08    /* Overrun */
0205 #define DST_UDR     0x08    /* Underrun */
0206 #define DST_RBIT    0x10    /* Residual bit */
0207 #define DST_ABT     0x20    /* Abort */
0208 #define DST_SHRT    0x40    /* Short Frame  */
0209 #define DST_EOM     0x80    /* End of Message  */
0210 
0211 /* Packet Descriptor Status bits */
0212 
0213 #define ST_TX_EOM     0x80  /* End of frame */
0214 #define ST_TX_UNDRRUN 0x08
0215 #define ST_TX_OWNRSHP 0x02
0216 #define ST_TX_EOT     0x01  /* End of transmission */
0217 
0218 #define ST_RX_EOM     0x80  /* End of frame */
0219 #define ST_RX_SHORT   0x40  /* Short frame */
0220 #define ST_RX_ABORT   0x20  /* Abort */
0221 #define ST_RX_RESBIT  0x10  /* Residual bit */
0222 #define ST_RX_OVERRUN 0x08  /* Overrun */
0223 #define ST_RX_CRC     0x04  /* CRC */
0224 #define ST_RX_OWNRSHP 0x02
0225 
0226 #define ST_ERROR_MASK 0x7C
0227 
0228 /* Status Counter Registers */
0229 #define CMCR    0x158   /* Counter Master Ctl Reg */
0230 #define TECNTL  0x160   /* Tx EOM Counter L */
0231 #define TECNTM  0x161   /* Tx EOM Counter M */
0232 #define TECNTH  0x162   /* Tx EOM Counter H */
0233 #define TECCR   0x163   /* Tx EOM Counter Ctl Reg */
0234 #define URCNTL  0x164   /* Underrun Counter L */
0235 #define URCNTH  0x165   /* Underrun Counter H */
0236 #define URCCR   0x167   /* Underrun Counter Ctl Reg */
0237 #define RECNTL  0x168   /* Rx EOM Counter L */
0238 #define RECNTM  0x169   /* Rx EOM Counter M */
0239 #define RECNTH  0x16a   /* Rx EOM Counter H */
0240 #define RECCR   0x16b   /* Rx EOM Counter Ctl Reg */
0241 #define ORCNTL  0x16c   /* Overrun Counter L */
0242 #define ORCNTH  0x16d   /* Overrun Counter H */
0243 #define ORCCR   0x16f   /* Overrun Counter Ctl Reg */
0244 #define CECNTL  0x170   /* CRC Counter L */
0245 #define CECNTH  0x171   /* CRC Counter H */
0246 #define CECCR   0x173   /* CRC Counter Ctl Reg */
0247 #define ABCNTL  0x174   /* Abort frame Counter L */
0248 #define ABCNTH  0x175   /* Abort frame Counter H */
0249 #define ABCCR   0x177   /* Abort frame Counter Ctl Reg */
0250 #define SHCNTL  0x178   /* Short frame Counter L */
0251 #define SHCNTH  0x179   /* Short frame Counter H */
0252 #define SHCCR   0x17b   /* Short frame Counter Ctl Reg */
0253 #define RSCNTL  0x17c   /* Residual bit Counter L */
0254 #define RSCNTH  0x17d   /* Residual bit Counter H */
0255 #define RSCCR   0x17f   /* Residual bit Counter Ctl Reg */
0256 
0257 /* Register Programming Constants */
0258 
0259 #define IR0_DMIC    0x00000001
0260 #define IR0_DMIB    0x00000002
0261 #define IR0_DMIA    0x00000004
0262 #define IR0_EFT     0x00000008
0263 #define IR0_DMAREQ  0x00010000
0264 #define IR0_TXINT   0x00020000
0265 #define IR0_RXINTB  0x00040000
0266 #define IR0_RXINTA  0x00080000
0267 #define IR0_TXRDY   0x00100000
0268 #define IR0_RXRDY   0x00200000
0269 
0270 #define MD0_CRC16_0 0x00
0271 #define MD0_CRC16_1 0x01
0272 #define MD0_CRC32   0x02
0273 #define MD0_CRC_CCITT   0x03
0274 #define MD0_CRCC0   0x04
0275 #define MD0_CRCC1   0x08
0276 #define MD0_AUTO_ENA    0x10
0277 #define MD0_ASYNC   0x00
0278 #define MD0_BY_MSYNC    0x20
0279 #define MD0_BY_BISYNC   0x40
0280 #define MD0_BY_EXT  0x60
0281 #define MD0_BIT_SYNC    0x80
0282 #define MD0_TRANSP  0xc0
0283 
0284 #define MD0_HDLC        0x80    /* Bit-sync HDLC mode */
0285 
0286 #define MD0_CRC_NONE    0x00
0287 #define MD0_CRC_16_0    0x04
0288 #define MD0_CRC_16  0x05
0289 #define MD0_CRC_ITU32   0x06
0290 #define MD0_CRC_ITU 0x07
0291 
0292 #define MD1_NOADDR  0x00
0293 #define MD1_SADDR1  0x40
0294 #define MD1_SADDR2  0x80
0295 #define MD1_DADDR   0xc0
0296 
0297 #define MD2_NRZI_IEEE   0x40
0298 #define MD2_MANCHESTER  0x80
0299 #define MD2_FM_MARK 0xA0
0300 #define MD2_FM_SPACE    0xC0
0301 #define MD2_LOOPBACK    0x03    /* Local data Loopback */
0302 
0303 #define MD2_F_DUPLEX    0x00
0304 #define MD2_AUTO_ECHO   0x01
0305 #define MD2_LOOP_HI_Z   0x02
0306 #define MD2_LOOP_MIR    0x03
0307 #define MD2_ADPLL_X8    0x00
0308 #define MD2_ADPLL_X16   0x08
0309 #define MD2_ADPLL_X32   0x10
0310 #define MD2_NRZ     0x00
0311 #define MD2_NRZI    0x20
0312 #define MD2_NRZ_IEEE    0x40
0313 #define MD2_MANCH   0x00
0314 #define MD2_FM1     0x20
0315 #define MD2_FM0     0x40
0316 #define MD2_FM      0x80
0317 
0318 #define CTL_RTS     0x01
0319 #define CTL_DTR     0x02
0320 #define CTL_SYN     0x04
0321 #define CTL_IDLC    0x10
0322 #define CTL_UDRNC   0x20
0323 #define CTL_URSKP   0x40
0324 #define CTL_URCT    0x80
0325 
0326 #define CTL_NORTS   0x01
0327 #define CTL_NODTR   0x02
0328 #define CTL_IDLE    0x10
0329 
0330 #define RXS_BR0     0x01
0331 #define RXS_BR1     0x02
0332 #define RXS_BR2     0x04
0333 #define RXS_BR3     0x08
0334 #define RXS_ECLK    0x00
0335 #define RXS_ECLK_NS 0x20
0336 #define RXS_IBRG    0x40
0337 #define RXS_PLL1    0x50
0338 #define RXS_PLL2    0x60
0339 #define RXS_PLL3    0x70
0340 #define RXS_DRTXC   0x80
0341 
0342 #define TXS_BR0     0x01
0343 #define TXS_BR1     0x02
0344 #define TXS_BR2     0x04
0345 #define TXS_BR3     0x08
0346 #define TXS_ECLK    0x00
0347 #define TXS_IBRG    0x40
0348 #define TXS_RCLK    0x60
0349 #define TXS_DTRXC   0x80
0350 
0351 #define EXS_RES0    0x01
0352 #define EXS_RES1    0x02
0353 #define EXS_RES2    0x04
0354 #define EXS_TES0    0x10
0355 #define EXS_TES1    0x20
0356 #define EXS_TES2    0x40
0357 
0358 #define CLK_BRG_MASK    0x0F
0359 #define CLK_PIN_OUT 0x80
0360 #define CLK_LINE        0x00    /* clock line input */
0361 #define CLK_BRG         0x40    /* internal baud rate generator */
0362 #define CLK_TX_RXCLK    0x60    /* TX clock from RX clock */
0363 
0364 #define CMD_RX_RST  0x11
0365 #define CMD_RX_ENA  0x12
0366 #define CMD_RX_DIS  0x13
0367 #define CMD_RX_CRC_INIT 0x14
0368 #define CMD_RX_MSG_REJ  0x15
0369 #define CMD_RX_MP_SRCH  0x16
0370 #define CMD_RX_CRC_EXC  0x17
0371 #define CMD_RX_CRC_FRC  0x18
0372 #define CMD_TX_RST  0x01
0373 #define CMD_TX_ENA  0x02
0374 #define CMD_TX_DISA 0x03
0375 #define CMD_TX_CRC_INIT 0x04
0376 #define CMD_TX_CRC_EXC  0x05
0377 #define CMD_TX_EOM  0x06
0378 #define CMD_TX_ABORT    0x07
0379 #define CMD_TX_MP_ON    0x08
0380 #define CMD_TX_BUF_CLR  0x09
0381 #define CMD_TX_DISB 0x0b
0382 #define CMD_CH_RST  0x21
0383 #define CMD_SRCH_MODE   0x31
0384 #define CMD_NOP     0x00
0385 
0386 #define CMD_RESET   0x21
0387 #define CMD_TX_ENABLE   0x02
0388 #define CMD_RX_ENABLE   0x12
0389 
0390 #define ST0_RXRDY   0x01
0391 #define ST0_TXRDY   0x02
0392 #define ST0_RXINTB  0x20
0393 #define ST0_RXINTA  0x40
0394 #define ST0_TXINT   0x80
0395 
0396 #define ST1_IDLE    0x01
0397 #define ST1_ABORT   0x02
0398 #define ST1_CDCD    0x04
0399 #define ST1_CCTS    0x08
0400 #define ST1_SYN_FLAG    0x10
0401 #define ST1_CLMD    0x20
0402 #define ST1_TXIDLE  0x40
0403 #define ST1_UDRN    0x80
0404 
0405 #define ST2_CRCE    0x04
0406 #define ST2_ONRN    0x08
0407 #define ST2_RBIT    0x10
0408 #define ST2_ABORT   0x20
0409 #define ST2_SHORT   0x40
0410 #define ST2_EOM     0x80
0411 
0412 #define ST3_RX_ENA  0x01
0413 #define ST3_TX_ENA  0x02
0414 #define ST3_DCD     0x04
0415 #define ST3_CTS     0x08
0416 #define ST3_SRCH_MODE   0x10
0417 #define ST3_SLOOP   0x20
0418 #define ST3_GPI     0x80
0419 
0420 #define ST4_RDNR    0x01
0421 #define ST4_RDCR    0x02
0422 #define ST4_TDNR    0x04
0423 #define ST4_TDCR    0x08
0424 #define ST4_OCLM    0x20
0425 #define ST4_CFT     0x40
0426 #define ST4_CGPI    0x80
0427 
0428 #define FST_CRCEF   0x04
0429 #define FST_OVRNF   0x08
0430 #define FST_RBIF    0x10
0431 #define FST_ABTF    0x20
0432 #define FST_SHRTF   0x40
0433 #define FST_EOMF    0x80
0434 
0435 #define IE0_RXRDY   0x01
0436 #define IE0_TXRDY   0x02
0437 #define IE0_RXINTB  0x20
0438 #define IE0_RXINTA  0x40
0439 #define IE0_TXINT   0x80
0440 #define IE0_UDRN    0x00008000 /* TX underrun MSCI interrupt enable */
0441 #define IE0_CDCD    0x00000400 /* CD level change interrupt enable */
0442 
0443 #define IE1_IDLD    0x01
0444 #define IE1_ABTD    0x02
0445 #define IE1_CDCD    0x04
0446 #define IE1_CCTS    0x08
0447 #define IE1_SYNCD   0x10
0448 #define IE1_CLMD    0x20
0449 #define IE1_IDL     0x40
0450 #define IE1_UDRN    0x80
0451 
0452 #define IE2_CRCE    0x04
0453 #define IE2_OVRN    0x08
0454 #define IE2_RBIT    0x10
0455 #define IE2_ABT     0x20
0456 #define IE2_SHRT    0x40
0457 #define IE2_EOM     0x80
0458 
0459 #define IE4_RDNR    0x01
0460 #define IE4_RDCR    0x02
0461 #define IE4_TDNR    0x04
0462 #define IE4_TDCR    0x08
0463 #define IE4_OCLM    0x20
0464 #define IE4_CFT     0x40
0465 #define IE4_CGPI    0x80
0466 
0467 #define FIE_CRCEF   0x04
0468 #define FIE_OVRNF   0x08
0469 #define FIE_RBIF    0x10
0470 #define FIE_ABTF    0x20
0471 #define FIE_SHRTF   0x40
0472 #define FIE_EOMF    0x80
0473 
0474 #define DSR_DWE     0x01
0475 #define DSR_DE      0x02
0476 #define DSR_REF     0x04
0477 #define DSR_UDRF    0x04
0478 #define DSR_COA     0x08
0479 #define DSR_COF     0x10
0480 #define DSR_BOF     0x20
0481 #define DSR_EOM     0x40
0482 #define DSR_EOT     0x80
0483 
0484 #define DIR_REF     0x04
0485 #define DIR_UDRF    0x04
0486 #define DIR_COA     0x08
0487 #define DIR_COF     0x10
0488 #define DIR_BOF     0x20
0489 #define DIR_EOM     0x40
0490 #define DIR_EOT     0x80
0491 
0492 #define DIR_REFE    0x04
0493 #define DIR_UDRFE   0x04
0494 #define DIR_COAE    0x08
0495 #define DIR_COFE    0x10
0496 #define DIR_BOFE    0x20
0497 #define DIR_EOME    0x40
0498 #define DIR_EOTE    0x80
0499 
0500 #define DMR_CNTE    0x02
0501 #define DMR_NF      0x04
0502 #define DMR_SEOME   0x08
0503 #define DMR_TMOD    0x10
0504 
0505 #define DMER_DME        0x80    /* DMA Master Enable */
0506 
0507 #define DCR_SW_ABT  0x01
0508 #define DCR_FCT_CLR 0x02
0509 
0510 #define DCR_ABORT   0x01
0511 #define DCR_CLEAR_EOF   0x02
0512 
0513 #define PCR_COTE    0x80
0514 #define PCR_PR0     0x01
0515 #define PCR_PR1     0x02
0516 #define PCR_PR2     0x04
0517 #define PCR_CCC     0x08
0518 #define PCR_BRC     0x10
0519 #define PCR_OSB     0x40
0520 #define PCR_BURST   0x80
0521 
0522 #endif /* (__HD64572_H) */