hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*  *********************************************************************
    *  SB1250 Board Support Package
    *
    *  Synchronous Serial Constants         File: sb1250_syncser.h
    *
    *  This module contains constants and macros useful for
    *  manipulating the SB1250's Synchronous Serial
    *
    *  SB1250 specification level:  User's manual 1/02/02
    *
    *********************************************************************
    *
    *  Copyright 2000,2001,2002,2003
    *  Broadcom Corporation. All rights reserved.
    *
    *  This program is free software; you can redistribute it and/or
    *  modify it under the terms of the GNU General Public License as
    *  published by the Free Software Foundation; either version 2 of
    *  the License, or (at your option) any later version.
    *
    *  This program is distributed in the hope that it will be useful,
    *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    *  GNU General Public License for more details.
    *
    *  You should have received a copy of the GNU General Public License
    *  along with this program; if not, write to the Free Software
    *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
    *  MA 02111-1307 USA
    ********************************************************************* */
 
 
#ifndef _SB1250_SYNCSER_H
#define _SB1250_SYNCSER_H
 
#include <asm/sibyte/sb1250_defs.h>
 
/*
 * Serial Mode Configuration Register
 */
 
#define M_SYNCSER_CRC_MODE           _SB_MAKEMASK1(0)
#define M_SYNCSER_MSB_FIRST           _SB_MAKEMASK1(1)
 
#define S_SYNCSER_FLAG_NUM           2
#define M_SYNCSER_FLAG_NUM           _SB_MAKEMASK(4, S_SYNCSER_FLAG_NUM)
#define V_SYNCSER_FLAG_NUM           _SB_MAKEVALUE(x, S_SYNCSER_FLAG_NUM)
 
#define M_SYNCSER_FLAG_EN           _SB_MAKEMASK1(6)
#define M_SYNCSER_HDLC_EN           _SB_MAKEMASK1(7)
#define M_SYNCSER_LOOP_MODE           _SB_MAKEMASK1(8)
#define M_SYNCSER_LOOPBACK           _SB_MAKEMASK1(9)
 
/*
 * Serial Clock Source and Line Interface Mode Register
 */
 
#define M_SYNCSER_RXCLK_INV           _SB_MAKEMASK1(0)
#define M_SYNCSER_RXCLK_EXT           _SB_MAKEMASK1(1)
 
#define S_SYNCSER_RXSYNC_DLY           2
#define M_SYNCSER_RXSYNC_DLY           _SB_MAKEMASK(2, S_SYNCSER_RXSYNC_DLY)
#define V_SYNCSER_RXSYNC_DLY(x)           _SB_MAKEVALUE(x, S_SYNCSER_RXSYNC_DLY)
 
#define M_SYNCSER_RXSYNC_LOW           _SB_MAKEMASK1(4)
#define M_SYNCSER_RXSTRB_LOW           _SB_MAKEMASK1(5)
 
#define M_SYNCSER_RXSYNC_EDGE           _SB_MAKEMASK1(6)
#define M_SYNCSER_RXSYNC_INT           _SB_MAKEMASK1(7)
 
#define M_SYNCSER_TXCLK_INV           _SB_MAKEMASK1(8)
#define M_SYNCSER_TXCLK_EXT           _SB_MAKEMASK1(9)
 
#define S_SYNCSER_TXSYNC_DLY           10
#define M_SYNCSER_TXSYNC_DLY           _SB_MAKEMASK(2, S_SYNCSER_TXSYNC_DLY)
#define V_SYNCSER_TXSYNC_DLY(x)           _SB_MAKEVALUE(x, S_SYNCSER_TXSYNC_DLY)
 
#define M_SYNCSER_TXSYNC_LOW           _SB_MAKEMASK1(12)
#define M_SYNCSER_TXSTRB_LOW           _SB_MAKEMASK1(13)
 
#define M_SYNCSER_TXSYNC_EDGE           _SB_MAKEMASK1(14)
#define M_SYNCSER_TXSYNC_INT           _SB_MAKEMASK1(15)
 
/*
 * Serial Command Register
 */
 
#define M_SYNCSER_CMD_RX_EN           _SB_MAKEMASK1(0)
#define M_SYNCSER_CMD_TX_EN           _SB_MAKEMASK1(1)
#define M_SYNCSER_CMD_RX_RESET           _SB_MAKEMASK1(2)
#define M_SYNCSER_CMD_TX_RESET           _SB_MAKEMASK1(3)
#define M_SYNCSER_CMD_TX_PAUSE           _SB_MAKEMASK1(5)
 
/*
 * Serial DMA Enable Register
 */
 
#define M_SYNCSER_DMA_RX_EN           _SB_MAKEMASK1(0)
#define M_SYNCSER_DMA_TX_EN           _SB_MAKEMASK1(4)
 
/*
 * Serial Status Register
 */
 
#define M_SYNCSER_RX_CRCERR           _SB_MAKEMASK1(0)
#define M_SYNCSER_RX_ABORT           _SB_MAKEMASK1(1)
#define M_SYNCSER_RX_OCTET           _SB_MAKEMASK1(2)
#define M_SYNCSER_RX_LONGFRM           _SB_MAKEMASK1(3)
#define M_SYNCSER_RX_SHORTFRM           _SB_MAKEMASK1(4)
#define M_SYNCSER_RX_OVERRUN           _SB_MAKEMASK1(5)
#define M_SYNCSER_RX_SYNC_ERR           _SB_MAKEMASK1(6)
#define M_SYNCSER_TX_CRCERR           _SB_MAKEMASK1(8)
#define M_SYNCSER_TX_UNDERRUN           _SB_MAKEMASK1(9)
#define M_SYNCSER_TX_SYNC_ERR           _SB_MAKEMASK1(10)
#define M_SYNCSER_TX_PAUSE_COMPLETE       _SB_MAKEMASK1(11)
#define M_SYNCSER_RX_EOP_COUNT           _SB_MAKEMASK1(16)
#define M_SYNCSER_RX_EOP_TIMER           _SB_MAKEMASK1(17)
#define M_SYNCSER_RX_EOP_SEEN           _SB_MAKEMASK1(18)
#define M_SYNCSER_RX_HWM           _SB_MAKEMASK1(19)
#define M_SYNCSER_RX_LWM           _SB_MAKEMASK1(20)
#define M_SYNCSER_RX_DSCR           _SB_MAKEMASK1(21)
#define M_SYNCSER_RX_DERR           _SB_MAKEMASK1(22)
#define M_SYNCSER_TX_EOP_COUNT           _SB_MAKEMASK1(24)
#define M_SYNCSER_TX_EOP_TIMER           _SB_MAKEMASK1(25)
#define M_SYNCSER_TX_EOP_SEEN           _SB_MAKEMASK1(26)
#define M_SYNCSER_TX_HWM           _SB_MAKEMASK1(27)
#define M_SYNCSER_TX_LWM           _SB_MAKEMASK1(28)
#define M_SYNCSER_TX_DSCR           _SB_MAKEMASK1(29)
#define M_SYNCSER_TX_DERR           _SB_MAKEMASK1(30)
#define M_SYNCSER_TX_DZERO           _SB_MAKEMASK1(31)
 
/*
 * Sequencer Table Entry format
 */
 
#define M_SYNCSER_SEQ_LAST           _SB_MAKEMASK1(0)
#define M_SYNCSER_SEQ_BYTE           _SB_MAKEMASK1(1)
 
#define S_SYNCSER_SEQ_COUNT           2
#define M_SYNCSER_SEQ_COUNT           _SB_MAKEMASK(4, S_SYNCSER_SEQ_COUNT)
#define V_SYNCSER_SEQ_COUNT(x)           _SB_MAKEVALUE(x, S_SYNCSER_SEQ_COUNT)
 
#define M_SYNCSER_SEQ_ENABLE           _SB_MAKEMASK1(6)
#define M_SYNCSER_SEQ_STROBE           _SB_MAKEMASK1(7)
 
#endif