File: am79c864.h

package info (click to toggle)
kernel-source-sparc-2.2.1 2.2.1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 62,800 kB
  • ctags: 188,320
  • sloc: ansic: 1,114,164; asm: 49,922; makefile: 8,272; sh: 1,831; perl: 1,584; tcl: 409; lisp: 218; cpp: 186; awk: 133; sed: 72
file content (162 lines) | stat: -rw-r--r-- 4,400 bytes parent folder | download | duplicates (9)
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
  /*
   * Copyright 1996 The Australian National University.
   * Copyright 1996 Fujitsu Laboratories Limited
   * 
   * This software may be distributed under the terms of the Gnu
   * Public License version 2 or later
  */
/*
 * Definitions for Am79c864 PLC (Physical Layer Controller)
 */

typedef int	plc_reg;

struct plc {
    plc_reg	ctrl_a;
    plc_reg	ctrl_b;
    plc_reg	intr_mask;
    plc_reg	xmit_vector;
    plc_reg	vec_length;
    plc_reg	le_threshold;
    plc_reg	c_min;
    plc_reg	tl_min;
    plc_reg	tb_min;
    plc_reg	t_out;
    plc_reg	dummy1;
    plc_reg	lc_length;
    plc_reg	t_scrub;
    plc_reg	ns_max;
    plc_reg	tpc_load;
    plc_reg	tne_load;
    plc_reg	status_a;
    plc_reg	status_b;
    plc_reg	tpc;
    plc_reg	tne;
    plc_reg	clk_div;
    plc_reg	bist_sig;
    plc_reg	rcv_vector;
    plc_reg	intr_event;
    plc_reg	viol_sym_ct;
    plc_reg	min_idle_ct;
    plc_reg	link_err_ct;
};

/* Bits in ctrl_a */
#define CA_NOISE_TIMER		0x4000
#define CA_TNE_16BIT		0x2000
#define CA_TPC_16BIT		0x1000
#define CA_REQ_SCRUB		0x0800
#define CA_VSYM_INTR_MODE	0x0200
#define CA_MINI_INTR_MODE	0x0100
#define CA_LOOPBACK		0x0080
#define CA_FOT_OFF		0x0040
#define CA_EB_LOOP		0x0020
#define CA_LM_LOOP		0x0010
#define CA_BYPASS		0x0008
#define CA_REM_LOOP		0x0004
#define CA_RF_DISABLE		0x0002
#define CA_RUN_BIST		0x0001

/* Bits in ctrl_b */
#define CB_CONFIG_CTRL		0x8000
#define CB_MATCH_LS		0x7800
#define CB_MATCH_LS_ANY		0x0000
#define CB_MATCH_LS_QLS		0x4000
#define CB_MATCH_LS_MLS		0x2000
#define CB_MATCH_LS_HLS		0x1000
#define CB_MATCH_LS_ILS		0x0800
#define CB_MAINT_LS		0x0700
#define CB_MAINT_LS_QLS		0x0000
#define CB_MAINT_LS_ILS		0x0100
#define CB_MAINT_LS_HLS		0x0200
#define CB_MAINT_LS_MLS		0x0300
#define CB_MAINT_LS_PDR		0x0600
#define CB_CLASS_S		0x0080
#define CB_PC_LCT		0x0060
#define CB_PC_LCT_NONE		0x0000
#define CB_PC_LCT_PDR		0x0020
#define CB_PC_LCT_IDLE		0x0040
#define CB_PC_LCT_LOOP		0x0060
#define CB_PC_JOIN		0x0010
#define CB_LONG_LCT		0x0008
#define CB_PC_MAINT		0x0004
#define CB_PCM_CTRL		0x0003
#define CB_PC_START		0x0001
#define CB_PC_TRACE		0x0002
#define CB_PC_STOP		0x0003

/* Bits in status_a */
#define SA_SIG_DETECT		0x0400
#define SA_PREV_LS		0x0300
#define SA_PREV_LS_QLS		0x0000
#define SA_PREV_LS_MLS		0x0100
#define SA_PREV_LS_HLS		0x0200
#define SA_PREV_LS_ILS		0x0300
#define SA_LINE_ST		0x00e0
#define SA_LINE_ST_NLS		0x0000
#define SA_LINE_ST_ALS		0x0020
#define SA_LINE_ST_ILS4		0x0060
#define SA_LINE_ST_QLS		0x0080
#define SA_LINE_ST_MLS		0x00a0
#define SA_LINE_ST_HLS		0x00c0
#define SA_LINE_ST_ILS		0x00e0
#define SA_LSM_STATE		0x0010
#define SA_UNKN_LINE_ST		0x0008
#define SA_SYM_PAIR_CTR		0x0007

/* Bits in status_b */
#define SB_RF_STATE		0xc000
#define SB_RF_STATE_REPEAT	0x0000
#define SB_RF_STATE_IDLE	0x4000
#define SB_RF_STATE_HALT1	0x8000
#define SB_RF_STATE_HALT2	0xc000
#define SB_PCI_STATE		0x3000
#define SB_PCI_STATE_REMOVED	0x0000
#define SB_PCI_STATE_INS_SCR	0x1000
#define SB_PCI_STATE_REM_SCR	0x2000
#define SB_PCI_STATE_INSERTED	0x3000
#define SB_PCI_SCRUB		0x0800
#define SB_PCM_STATE		0x0780
#define SB_PCM_STATE_OFF	0x0000
#define SB_PCM_STATE_BREAK	0x0080
#define SB_PCM_STATE_TRACE	0x0100
#define SB_PCM_STATE_CONNECT	0x0180
#define SB_PCM_STATE_NEXT	0x0200
#define SB_PCM_STATE_SIGNAL	0x0280
#define SB_PCM_STATE_JOIN	0x0300
#define SB_PCM_STATE_VERIFY	0x0380
#define SB_PCM_STATE_ACTIVE	0x0400
#define SB_PCM_STATE_MAIN	0x0480
#define SB_PCM_SIGNALING	0x0040
#define SB_LSF			0x0020
#define SB_RCF			0x0010
#define SB_TCF			0x0008
#define SB_BREAK_REASON		0x0007
#define SB_BREAK_REASON_NONE	0x0000
#define SB_BREAK_REASON_START	0x0001
#define SB_BREAK_REASON_T_OUT	0x0002
#define SB_BREAK_REASON_NS_MAX	0x0003
#define SB_BREAK_REASON_QLS	0x0004
#define SB_BREAK_REASON_ILS	0x0005
#define SB_BREAK_REASON_HLS	0x0006

/* Bits in intr_event and intr_mask */
#define IE_NP_ERROR		0x8000
#define IE_SIGNAL_OFF		0x4000
#define IE_LE_CTR		0x2000
#define IE_MINI_CTR		0x1000
#define IE_VSYM_CTR		0x0800
#define IE_PHY_INVALID		0x0400
#define IE_EBUF_ERR		0x0200
#define IE_TNE_EXP		0x0100
#define IE_TPC_EXP		0x0080
#define IE_PCM_ENABLED		0x0040
#define IE_PCM_BREAK		0x0020
#define IE_SELF_TEST		0x0010
#define IE_TRACE_PROP		0x0008
#define IE_PCM_CODE		0x0004
#define IE_LS_MATCH		0x0002
#define IE_PARITY_ERR		0x0001

/* Correct value for BIST signature */
#define BIST_CORRECT		0x6ecd