0001
0002 #ifndef __HD64570_H
0003 #define __HD64570_H
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #define LPR 0x00
0015
0016
0017 #define PABR0 0x02
0018 #define PABR1 0x03
0019 #define WCRL 0x04
0020 #define WCRM 0x05
0021 #define WCRH 0x06
0022
0023 #define PCR 0x08
0024 #define DMER 0x09
0025
0026
0027
0028 #define ISR0 0x10
0029 #define ISR1 0x11
0030 #define ISR2 0x12
0031
0032 #define IER0 0x14
0033 #define IER1 0x15
0034 #define IER2 0x16
0035
0036 #define ITCR 0x18
0037 #define IVR 0x1A
0038 #define IMVR 0x1C
0039
0040
0041
0042
0043
0044
0045 #define MSCI0_OFFSET 0x20
0046 #define MSCI1_OFFSET 0x40
0047
0048 #define TRBL 0x00
0049 #define TRBH 0x01
0050 #define ST0 0x02
0051 #define ST1 0x03
0052 #define ST2 0x04
0053 #define ST3 0x05
0054 #define FST 0x06
0055 #define IE0 0x08
0056 #define IE1 0x09
0057 #define IE2 0x0A
0058 #define FIE 0x0B
0059 #define CMD 0x0C
0060 #define MD0 0x0E
0061 #define MD1 0x0F
0062 #define MD2 0x10
0063 #define CTL 0x11
0064 #define SA0 0x12
0065 #define SA1 0x13
0066 #define IDL 0x14
0067 #define TMC 0x15
0068 #define RXS 0x16
0069 #define TXS 0x17
0070 #define TRC0 0x18
0071 #define TRC1 0x19
0072 #define RRC 0x1A
0073 #define CST0 0x1C
0074 #define CST1 0x1D
0075
0076
0077
0078
0079
0080
0081
0082
0083 #define TIMER0RX_OFFSET 0x60
0084 #define TIMER0TX_OFFSET 0x68
0085 #define TIMER1RX_OFFSET 0x70
0086 #define TIMER1TX_OFFSET 0x78
0087
0088 #define TCNTL 0x00
0089 #define TCNTH 0x01
0090 #define TCONRL 0x02
0091 #define TCONRH 0x03
0092 #define TCSR 0x04
0093 #define TEPR 0x05
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103 #define DMAC0RX_OFFSET 0x80
0104 #define DMAC0TX_OFFSET 0xA0
0105 #define DMAC1RX_OFFSET 0xC0
0106 #define DMAC1TX_OFFSET 0xE0
0107
0108 #define BARL 0x00
0109 #define BARH 0x01
0110 #define BARB 0x02
0111
0112 #define DARL 0x00
0113 #define DARH 0x01
0114 #define DARB 0x02
0115
0116 #define SARL 0x04
0117 #define SARH 0x05
0118 #define SARB 0x06
0119
0120 #define CPB 0x06
0121
0122 #define CDAL 0x08
0123 #define CDAH 0x09
0124 #define EDAL 0x0A
0125 #define EDAH 0x0B
0126 #define BFLL 0x0C
0127 #define BFLH 0x0D
0128 #define BCRL 0x0E
0129 #define BCRH 0x0F
0130 #define DSR 0x10
0131 #define DSR_RX(node) (DSR + (node ? DMAC1RX_OFFSET : DMAC0RX_OFFSET))
0132 #define DSR_TX(node) (DSR + (node ? DMAC1TX_OFFSET : DMAC0TX_OFFSET))
0133 #define DMR 0x11
0134 #define DMR_RX(node) (DMR + (node ? DMAC1RX_OFFSET : DMAC0RX_OFFSET))
0135 #define DMR_TX(node) (DMR + (node ? DMAC1TX_OFFSET : DMAC0TX_OFFSET))
0136 #define FCT 0x13
0137 #define FCT_RX(node) (FCT + (node ? DMAC1RX_OFFSET : DMAC0RX_OFFSET))
0138 #define FCT_TX(node) (FCT + (node ? DMAC1TX_OFFSET : DMAC0TX_OFFSET))
0139 #define DIR 0x14
0140 #define DIR_RX(node) (DIR + (node ? DMAC1RX_OFFSET : DMAC0RX_OFFSET))
0141 #define DIR_TX(node) (DIR + (node ? DMAC1TX_OFFSET : DMAC0TX_OFFSET))
0142 #define DCR 0x15
0143 #define DCR_RX(node) (DCR + (node ? DMAC1RX_OFFSET : DMAC0RX_OFFSET))
0144 #define DCR_TX(node) (DCR + (node ? DMAC1TX_OFFSET : DMAC0TX_OFFSET))
0145
0146
0147
0148
0149
0150
0151 typedef struct {
0152 u16 cp;
0153 u32 bp;
0154 u16 len;
0155 u8 stat;
0156 u8 unused;
0157 }__packed pkt_desc;
0158
0159
0160
0161
0162 #define ST_TX_EOM 0x80
0163 #define ST_TX_EOT 0x01
0164
0165 #define ST_RX_EOM 0x80
0166 #define ST_RX_SHORT 0x40
0167 #define ST_RX_ABORT 0x20
0168 #define ST_RX_RESBIT 0x10
0169 #define ST_RX_OVERRUN 0x08
0170 #define ST_RX_CRC 0x04
0171
0172 #define ST_ERROR_MASK 0x7C
0173
0174 #define DIR_EOTE 0x80
0175 #define DIR_EOME 0x40
0176 #define DIR_BOFE 0x20
0177 #define DIR_COFE 0x10
0178
0179
0180 #define DSR_EOT 0x80
0181 #define DSR_EOM 0x40
0182 #define DSR_BOF 0x20
0183 #define DSR_COF 0x10
0184 #define DSR_DE 0x02
0185 #define DSR_DWE 0x01
0186
0187
0188 #define DMER_DME 0x80
0189
0190
0191 #define CMD_RESET 0x21
0192 #define CMD_TX_ENABLE 0x02
0193 #define CMD_RX_ENABLE 0x12
0194
0195 #define MD0_HDLC 0x80
0196 #define MD0_CRC_ENA 0x04
0197 #define MD0_CRC_CCITT 0x02
0198 #define MD0_CRC_PR1 0x01
0199
0200 #define MD0_CRC_NONE 0x00
0201 #define MD0_CRC_16_0 0x04
0202 #define MD0_CRC_16 0x05
0203 #define MD0_CRC_ITU_0 0x06
0204 #define MD0_CRC_ITU 0x07
0205
0206 #define MD2_NRZ 0x00
0207 #define MD2_NRZI 0x20
0208 #define MD2_MANCHESTER 0x80
0209 #define MD2_FM_MARK 0xA0
0210 #define MD2_FM_SPACE 0xC0
0211 #define MD2_LOOPBACK 0x03
0212
0213 #define CTL_NORTS 0x01
0214 #define CTL_IDLE 0x10
0215 #define CTL_UDRNC 0x20
0216
0217 #define ST0_TXRDY 0x02
0218 #define ST0_RXRDY 0x01
0219
0220 #define ST1_UDRN 0x80
0221 #define ST1_CDCD 0x04
0222
0223 #define ST3_CTS 0x08
0224 #define ST3_DCD 0x04
0225
0226 #define IE0_TXINT 0x80
0227 #define IE0_RXINTA 0x40
0228 #define IE1_UDRN 0x80
0229 #define IE1_CDCD 0x04
0230
0231 #define DCR_ABORT 0x01
0232 #define DCR_CLEAR_EOF 0x02
0233
0234
0235 #define CLK_BRG_MASK 0x0F
0236 #define CLK_LINE_RX 0x00
0237 #define CLK_LINE_TX 0x00
0238 #define CLK_BRG_RX 0x40
0239 #define CLK_BRG_TX 0x40
0240 #define CLK_RXCLK_TX 0x60
0241
0242 #endif