ps2sdk
1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
smapregs.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright (c) 2003 Marcus R. Brown <mrbrown@0xd6.org>
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
18
#ifndef __SMAPREGS_H__
19
#define __SMAPREGS_H__
20
21
#include <
tamtypes.h
>
22
#include <
speedregs.h
>
23
24
/* SMAP interrupt status bits (selected from the SPEED device). */
25
#define SMAP_INTR_EMAC3 (1<<6)
26
#define SMAP_INTR_RXEND (1<<5)
27
#define SMAP_INTR_TXEND (1<<4)
28
#define SMAP_INTR_RXDNV (1<<3)
/* descriptor not valid */
29
#define SMAP_INTR_TXDNV (1<<2)
/* descriptor not valid */
30
#define SMAP_INTR_CLR_ALL (SMAP_INTR_RXEND|SMAP_INTR_TXEND|SMAP_INTR_RXDNV)
31
#define SMAP_INTR_ENA_ALL (SMAP_INTR_EMAC3|SMAP_INTR_CLR_ALL)
32
#define SMAP_INTR_BITMSK (SMAP_INTR_EMAC3|SMAP_INTR_RXEND|SMAP_INTR_TXEND|SMAP_INTR_RXDNV|SMAP_INTR_TXDNV)
33
34
/* SMAP Register Definitions. */
35
36
#define SMAP_REGBASE (SPD_REGBASE + 0x100)
37
38
#define USE_SMAP_REGS volatile u8 *smap_regbase = \
39
(volatile u8 *)SMAP_REGBASE
40
41
#define SMAP_REG8(offset) (*(volatile u8 *)(smap_regbase + (offset)))
42
#define SMAP_REG16(offset) (*(volatile u16 *)(smap_regbase + (offset)))
43
#define SMAP_REG32(offset) (*(volatile u32 *)(smap_regbase + (offset)))
44
45
#define SMAP_R_BD_MODE 0x02
46
#define SMAP_BD_SWAP (1<<0)
47
48
#define SMAP_R_INTR_CLR 0x28
49
50
/* SMAP FIFO Registers. */
51
52
#define SMAP_R_TXFIFO_CTRL 0xf00
53
#define SMAP_TXFIFO_RESET (1<<0)
54
#define SMAP_TXFIFO_DMAEN (1<<1)
55
#define SMAP_R_TXFIFO_WR_PTR 0xf04
56
#define SMAP_R_TXFIFO_SIZE 0xf08
57
#define SMAP_R_TXFIFO_FRAME_CNT 0xf0C
58
#define SMAP_R_TXFIFO_FRAME_INC 0xf10
59
#define SMAP_R_TXFIFO_DATA 0x1000
60
61
#define SMAP_R_RXFIFO_CTRL 0xf30
62
#define SMAP_RXFIFO_RESET (1<<0)
63
#define SMAP_RXFIFO_DMAEN (1<<1)
64
#define SMAP_R_RXFIFO_RD_PTR 0xf34
65
#define SMAP_R_RXFIFO_SIZE 0xf38
66
#define SMAP_R_RXFIFO_FRAME_CNT 0xf3C
67
#define SMAP_R_RXFIFO_FRAME_DEC 0xf40
68
#define SMAP_R_RXFIFO_DATA 0x1100
69
70
#define SMAP_R_FIFO_ADDR 0x1200
71
#define SMAP_FIFO_CMD_READ (1<<1)
72
#define SMAP_FIFO_DATA_SWAP (1<<0)
73
#define SMAP_R_FIFO_DATA 0x1208
74
75
/* EMAC3 Registers. */
76
77
#define SMAP_EMAC3_REGBASE 0x1f00
78
79
/* Seperating out the EMAC3 registers makes it a lot easier to debug register
80
assigns. Besides, I am a staunch supporter of preprocessor macro abuse. */
81
#define USE_SMAP_EMAC3_REGS volatile u8 *emac3_regbase = \
82
(volatile u8 *)(SMAP_REGBASE + SMAP_EMAC3_REGBASE)
83
84
#define SMAP_EMAC3_REG(offset) (*(volatile u16 *)(emac3_regbase + (offset)))
85
#define SMAP_EMAC3_REG32(offset) (*(volatile u32 *)(emac3_regbase + (offset)))
86
87
#define SMAP_EMAC3_GET(offset) ((SMAP_EMAC3_REG((offset)) << 16) | \
88
(SMAP_EMAC3_REG((offset)+2)))
89
90
#define SMAP_EMAC3_GET32(offset) (((SMAP_EMAC3_REG32((offset)) >> 16) & 0xffff) | \
91
((SMAP_EMAC3_REG32((offset)) & 0xffff) << 16))
92
93
#define SMAP_EMAC3_WRITE32(offset, val) \
94
SMAP_EMAC3_REG32((offset)) = ((((val) >> 16) & 0xffff) | (((val) & 0xffff) << 16));
95
96
#define SMAP_EMAC3_WRITE(offset, val) \
97
SMAP_EMAC3_REG((offset)) = ((val) >> 16) & 0xffff; \
98
SMAP_EMAC3_REG((offset)+2) = (val) & 0xffff;
99
100
#define SMAP_EMAC3_SET(offset, val) \
101
SMAP_EMAC3_WRITE(offset, val) \
102
SMAP_EMAC3_GET(offset)
103
104
#define SMAP_EMAC3_SET32(offset, val) \
105
SMAP_EMAC3_WRITE32(offset, val) \
106
SMAP_EMAC3_GET32(offset)
107
108
#define SMAP_R_EMAC3_MODE0 0x00
109
#define SMAP_E3_RXMAC_IDLE (1<<31)
110
#define SMAP_E3_TXMAC_IDLE (1<<30)
111
#define SMAP_E3_SOFT_RESET (1<<29)
112
#define SMAP_E3_TXMAC_ENABLE (1<<28)
113
#define SMAP_E3_RXMAC_ENABLE (1<<27)
114
#define SMAP_E3_WAKEUP_ENABLE (1<<26)
115
116
#define SMAP_R_EMAC3_MODE1 0x04
117
#define SMAP_E3_FDX_ENABLE (1<<31)
119
#define SMAP_E3_INLPBK_ENABLE (1<<30)
120
#define SMAP_E3_VLAN_ENABLE (1<<29)
122
#define SMAP_E3_FLOWCTRL_ENABLE (1<<28)
124
#define SMAP_E3_ALLOW_PF (1<<27)
126
#define SMAP_E3_ALLOW_EXTMNGIF (1<<25)
127
#define SMAP_E3_IGNORE_SQE (1<<24)
128
#define SMAP_E3_MEDIA_FREQ_BITSFT (22)
129
#define SMAP_E3_MEDIA_10M (0<<22)
130
#define SMAP_E3_MEDIA_100M (1<<22)
131
#define SMAP_E3_MEDIA_1000M (2<<22)
132
#define SMAP_E3_MEDIA_MSK (3<<22)
133
#define SMAP_E3_RXFIFO_SIZE_BITSFT (20)
134
#define SMAP_E3_RXFIFO_512 (0<<20)
135
#define SMAP_E3_RXFIFO_1K (1<<20)
136
#define SMAP_E3_RXFIFO_2K (2<<20)
137
#define SMAP_E3_RXFIFO_4K (3<<20)
138
#define SMAP_E3_TXFIFO_SIZE_BITSFT (18)
139
#define SMAP_E3_TXFIFO_512 (0<<18)
140
#define SMAP_E3_TXFIFO_1K (1<<18)
141
#define SMAP_E3_TXFIFO_2K (2<<18)
142
#define SMAP_E3_TXREQ0_BITSFT (15)
143
#define SMAP_E3_TXREQ0_SINGLE (0<<15)
144
#define SMAP_E3_TXREQ0_MULTI (1<<15)
145
#define SMAP_E3_TXREQ0_DEPEND (2<<15)
146
#define SMAP_E3_TXREQ1_BITSFT (13)
147
#define SMAP_E3_TXREQ1_SINGLE (0<<13)
148
#define SMAP_E3_TXREQ1_MULTI (1<<13)
149
#define SMAP_E3_TXREQ1_DEPEND (2<<13)
150
#define SMAP_E3_JUMBO_ENABLE (1<<12)
151
152
#define SMAP_R_EMAC3_TxMODE0 0x08
154
#define SMAP_E3_TX_GNP_0 (1<<31)
156
#define SMAP_E3_TX_GNP_1 (1<<30)
158
#define SMAP_E3_TX_GNP_DEPEND (1<<29)
159
#define SMAP_E3_TX_FIRST_CHANNEL (1<<28)
160
161
#define SMAP_R_EMAC3_TxMODE1 0x0C
163
#define SMAP_E3_TX_LOW_REQ_MSK (0x1F)
165
#define SMAP_E3_TX_LOW_REQ_BITSFT (27)
167
#define SMAP_E3_TX_URG_REQ_MSK (0xFF)
169
#define SMAP_E3_TX_URG_REQ_BITSFT (16)
170
171
#define SMAP_R_EMAC3_RxMODE 0x10
172
#define SMAP_E3_RX_STRIP_PAD (1<<31)
173
#define SMAP_E3_RX_STRIP_FCS (1<<30)
174
#define SMAP_E3_RX_RX_RUNT_FRAME (1<<29)
175
#define SMAP_E3_RX_RX_FCS_ERR (1<<28)
176
#define SMAP_E3_RX_RX_TOO_LONG_ERR (1<<27)
177
#define SMAP_E3_RX_RX_IN_RANGE_ERR (1<<26)
179
#define SMAP_E3_RX_PROP_PF (1<<25)
180
#define SMAP_E3_RX_PROMISC (1<<24)
181
#define SMAP_E3_RX_PROMISC_MCAST (1<<23)
182
#define SMAP_E3_RX_INDIVID_ADDR (1<<22)
183
#define SMAP_E3_RX_INDIVID_HASH (1<<21)
184
#define SMAP_E3_RX_BCAST (1<<20)
185
#define SMAP_E3_RX_MCAST (1<<19)
186
187
#define SMAP_R_EMAC3_INTR_STAT 0x14
188
#define SMAP_R_EMAC3_INTR_ENABLE 0x18
190
#define SMAP_E3_INTR_OVERRUN (1<<25)
191
#define SMAP_E3_INTR_PF (1<<24)
192
#define SMAP_E3_INTR_BAD_FRAME (1<<23)
193
#define SMAP_E3_INTR_RUNT_FRAME (1<<22)
194
#define SMAP_E3_INTR_SHORT_EVENT (1<<21)
195
#define SMAP_E3_INTR_ALIGN_ERR (1<<20)
196
#define SMAP_E3_INTR_BAD_FCS (1<<19)
197
#define SMAP_E3_INTR_TOO_LONG (1<<18)
198
#define SMAP_E3_INTR_OUT_RANGE_ERR (1<<17)
199
#define SMAP_E3_INTR_IN_RANGE_ERR (1<<16)
200
#define SMAP_E3_INTR_DEAD_DEPEND (1<<9)
201
#define SMAP_E3_INTR_DEAD_0 (1<<8)
202
#define SMAP_E3_INTR_SQE_ERR_0 (1<<7)
203
#define SMAP_E3_INTR_TX_ERR_0 (1<<6)
204
#define SMAP_E3_INTR_DEAD_1 (1<<5)
205
#define SMAP_E3_INTR_SQE_ERR_1 (1<<4)
206
#define SMAP_E3_INTR_TX_ERR_1 (1<<3)
207
#define SMAP_E3_INTR_MMAOP_SUCCESS (1<<1)
208
#define SMAP_E3_INTR_MMAOP_FAIL (1<<0)
209
#define SMAP_E3_INTR_ALL \
210
(SMAP_E3_INTR_OVERRUN|SMAP_E3_INTR_PF|SMAP_E3_INTR_BAD_FRAME| \
211
SMAP_E3_INTR_RUNT_FRAME|SMAP_E3_INTR_SHORT_EVENT| \
212
SMAP_E3_INTR_ALIGN_ERR|SMAP_E3_INTR_BAD_FCS| \
213
SMAP_E3_INTR_TOO_LONG|SMAP_E3_INTR_OUT_RANGE_ERR| \
214
SMAP_E3_INTR_IN_RANGE_ERR| \
215
SMAP_E3_INTR_DEAD_DEPEND|SMAP_E3_INTR_DEAD_0| \
216
SMAP_E3_INTR_SQE_ERR_0|SMAP_E3_INTR_TX_ERR_0| \
217
SMAP_E3_INTR_DEAD_1|SMAP_E3_INTR_SQE_ERR_1| \
218
SMAP_E3_INTR_TX_ERR_1| \
219
SMAP_E3_INTR_MMAOP_SUCCESS|SMAP_E3_INTR_MMAOP_FAIL)
220
#define SMAP_E3_DEAD_ALL \
221
(SMAP_E3_INTR_DEAD_DEPEND|SMAP_E3_INTR_DEAD_0| \
222
SMAP_E3_INTR_DEAD_1)
223
224
#define SMAP_R_EMAC3_ADDR_HI 0x1C
225
#define SMAP_R_EMAC3_ADDR_LO 0x20
226
227
#define SMAP_R_EMAC3_VLAN_TPID 0x24
228
#define SMAP_E3_VLAN_ID_MSK 0xFFFF
229
230
#define SMAP_R_EMAC3_VLAN_TCI 0x28
231
#define SMAP_E3_VLAN_TCITAG_MSK 0xFFFF
232
233
#define SMAP_R_EMAC3_PAUSE_TIMER 0x2C
234
#define SMAP_E3_PTIMER_MSK 0xFFFF
235
236
#define SMAP_R_EMAC3_INDIVID_HASH1 0x30
237
#define SMAP_R_EMAC3_INDIVID_HASH2 0x34
238
#define SMAP_R_EMAC3_INDIVID_HASH3 0x38
239
#define SMAP_R_EMAC3_INDIVID_HASH4 0x3C
240
#define SMAP_R_EMAC3_GROUP_HASH1 0x40
241
#define SMAP_R_EMAC3_GROUP_HASH2 0x44
242
#define SMAP_R_EMAC3_GROUP_HASH3 0x48
243
#define SMAP_R_EMAC3_GROUP_HASH4 0x4C
244
#define SMAP_E3_HASH_MSK 0xFFFF
245
246
#define SMAP_R_EMAC3_LAST_SA_HI 0x50
247
#define SMAP_R_EMAC3_LAST_SA_LO 0x54
248
249
#define SMAP_R_EMAC3_INTER_FRAME_GAP 0x58
250
#define SMAP_E3_IFGAP_MSK 0x3F
251
252
#define SMAP_R_EMAC3_STA_CTRL 0x5C
253
#define SMAP_E3_PHY_DATA_MSK (0xFFFF)
254
#define SMAP_E3_PHY_DATA_BITSFT (16)
256
#define SMAP_E3_PHY_OP_COMP (1<<15)
257
#define SMAP_E3_PHY_ERR_READ (1<<14)
258
#define SMAP_E3_PHY_STA_CMD_BITSFT (12)
259
#define SMAP_E3_PHY_READ (1<<12)
260
#define SMAP_E3_PHY_WRITE (2<<12)
261
#define SMAP_E3_PHY_OPBCLCK_BITSFT (10)
262
#define SMAP_E3_PHY_50M (0<<10)
263
#define SMAP_E3_PHY_66M (1<<10)
264
#define SMAP_E3_PHY_83M (2<<10)
265
#define SMAP_E3_PHY_100M (3<<10)
266
#define SMAP_E3_PHY_ADDR_MSK (0x1F)
267
#define SMAP_E3_PHY_ADDR_BITSFT (5)
268
#define SMAP_E3_PHY_REG_ADDR_MSK (0x1F)
269
270
#define SMAP_R_EMAC3_TX_THRESHOLD 0x60
271
#define SMAP_E3_TX_THRESHLD_MSK (0x1F)
272
#define SMAP_E3_TX_THRESHLD_BITSFT (27)
273
274
#define SMAP_R_EMAC3_RX_WATERMARK 0x64
275
#define SMAP_E3_RX_LO_WATER_MSK (0x1FF)
276
#define SMAP_E3_RX_LO_WATER_BITSFT (23)
277
#define SMAP_E3_RX_HI_WATER_MSK (0x1FF)
278
#define SMAP_E3_RX_HI_WATER_BITSFT (7)
279
280
#define SMAP_R_EMAC3_TX_OCTETS 0x68
281
#define SMAP_R_EMAC3_RX_OCTETS 0x6C
282
284
typedef
struct
_smap_bd {
285
u16
ctrl_stat
;
287
u16
reserved
;
289
u16
length
;
290
u16
pointer
;
291
}
smap_bd_t
;
292
293
#define SMAP_BD_REGBASE 0x2f00
294
#define SMAP_BD_TX_BASE (SMAP_BD_REGBASE + 0x0000)
295
/* For backward compatibility */
296
#define SMAP_TX_BASE SMAP_TX_BUFBASE
297
#define SMAP_TX_BUFBASE 0x1000
298
#define SMAP_TX_BUFSIZE 4096
299
#define SMAP_BD_RX_BASE (SMAP_BD_REGBASE + 0x0200)
300
#define SMAP_RX_BUFBASE 0x4000
301
#define SMAP_RX_BUFSIZE 16384
302
#define SMAP_BD_SIZE 512
303
#define SMAP_BD_MAX_ENTRY 64
304
305
#define USE_SMAP_TX_BD volatile smap_bd_t *tx_bd = \
306
(volatile smap_bd_t *)(SMAP_REGBASE + SMAP_BD_TX_BASE)
307
#define USE_SMAP_RX_BD volatile smap_bd_t *rx_bd = \
308
(volatile smap_bd_t *)(SMAP_REGBASE + SMAP_BD_RX_BASE)
309
310
/* TX Control */
312
#define SMAP_BD_TX_READY (1<<15)
314
#define SMAP_BD_TX_GENFCS (1<<9)
316
#define SMAP_BD_TX_GENPAD (1<<8)
318
#define SMAP_BD_TX_INSSA (1<<7)
320
#define SMAP_BD_TX_RPLSA (1<<6)
322
#define SMAP_BD_TX_INSVLAN (1<<5)
324
#define SMAP_BD_TX_RPLVLAN (1<<4)
325
326
/* TX Status */
328
#define SMAP_BD_TX_READY (1<<15)
330
#define SMAP_BD_TX_BADFCS (1<<9)
332
#define SMAP_BD_TX_BADPKT (1<<8)
334
#define SMAP_BD_TX_LOSSCR (1<<7)
336
#define SMAP_BD_TX_EDEFER (1<<6)
338
#define SMAP_BD_TX_ECOLL (1<<5)
340
#define SMAP_BD_TX_LCOLL (1<<4)
342
#define SMAP_BD_TX_MCOLL (1<<3)
344
#define SMAP_BD_TX_SCOLL (1<<2)
346
#define SMAP_BD_TX_UNDERRUN (1<<1)
348
#define SMAP_BD_TX_SQE (1<<0)
349
350
#define SMAP_BD_TX_ERROR (SMAP_BD_TX_LOSSCR|SMAP_BD_TX_EDEFER|SMAP_BD_TX_ECOLL| \
351
SMAP_BD_TX_LCOLL|SMAP_BD_TX_UNDERRUN)
352
353
/* RX Control */
355
#define SMAP_BD_RX_EMPTY (1<<15)
356
357
/* RX Status */
359
#define SMAP_BD_RX_EMPTY (1<<15)
361
#define SMAP_BD_RX_OVERRUN (1<<9)
363
#define SMAP_BD_RX_PFRM (1<<8)
365
#define SMAP_BD_RX_BADFRM (1<<7)
367
#define SMAP_BD_RX_RUNTFRM (1<<6)
369
#define SMAP_BD_RX_SHORTEVNT (1<<5)
371
#define SMAP_BD_RX_ALIGNERR (1<<4)
373
#define SMAP_BD_RX_BADFCS (1<<3)
375
#define SMAP_BD_RX_FRMTOOLONG (1<<2)
377
#define SMAP_BD_RX_OUTRANGE (1<<1)
379
#define SMAP_BD_RX_INRANGE (1<<0)
380
381
#define SMAP_BD_RX_ERROR (SMAP_BD_RX_OVERRUN|SMAP_BD_RX_RUNTFRM|SMAP_BD_RX_SHORTEVNT| \
382
SMAP_BD_RX_ALIGNERR|SMAP_BD_RX_BADFCS|SMAP_BD_RX_FRMTOOLONG| \
383
SMAP_BD_RX_OUTRANGE|SMAP_BD_RX_INRANGE)
384
385
/* PHY registers (National Semiconductor DP83846A). */
386
387
#define SMAP_NS_OUI 0x080017
388
#define SMAP_DsPHYTER_ADDRESS 0x1
389
390
#define SMAP_DsPHYTER_BMCR 0x00
391
/* ReSeT */
392
#define SMAP_PHY_BMCR_RST (1<<15)
393
/* LooPBacK */
394
#define SMAP_PHY_BMCR_LPBK (1<<14)
395
/* speed select, 1:100M, 0:10M */
396
#define SMAP_PHY_BMCR_100M (1<<13)
397
/* speed select, 1:100M, 0:10M */
398
#define SMAP_PHY_BMCR_10M (0<<13)
399
/* Auto-Negotiation ENable */
400
#define SMAP_PHY_BMCR_ANEN (1<<12)
401
/* PoWer DowN */
402
#define SMAP_PHY_BMCR_PWDN (1<<11)
403
/* ISOLate */
404
#define SMAP_PHY_BMCR_ISOL (1<<10)
405
/* ReStart Auto-Negotiation */
406
#define SMAP_PHY_BMCR_RSAN (1<<9)
407
/* DUPlex Mode, 1:FDX, 0:HDX */
408
#define SMAP_PHY_BMCR_DUPM (1<<8)
409
/* COLlision Test */
410
#define SMAP_PHY_BMCR_COLT (1<<7)
411
412
#define SMAP_DsPHYTER_BMSR 0x01
414
#define SMAP_PHY_BMSR_ANCP (1<<5)
416
#define SMAP_PHY_BMSR_LINK (1<<2)
417
418
#define SMAP_DsPHYTER_PHYIDR1 0x02
419
#define SMAP_PHY_IDR1_VAL (((SMAP_NS_OUI<<2)>>8)&0xffff)
420
421
#define SMAP_DsPHYTER_PHYIDR2 0x03
422
#define SMAP_PHY_IDR2_VMDL 0x2
/* Vendor MoDeL number */
423
#define SMAP_PHY_IDR2_VAL \
424
(((SMAP_NS_OUI<<10)&0xFC00)|((SMAP_PHY_IDR2_VMDL<<4)&0x3F0))
425
#define SMAP_PHY_IDR2_MSK 0xFFF0
426
#define SMAP_PHY_IDR2_REV_MSK 0x000F
427
428
#define SMAP_DsPHYTER_ANAR 0x04
430
#define SMAP_PHY_ANAR_RFLT (1<<13)
432
#define SMAP_PHY_ANAR_PAUSE (1<<10)
434
#define SMAP_PHY_ANAR_T4 (1<<9)
436
#define SMAP_PHY_ANAR_TX_FD (1<<8)
438
#define SMAP_PHY_ANAR_TX (1<<7)
440
#define SMAP_PHY_ANAR_10_FD (1<<6)
442
#define SMAP_PHY_ANAR_10 (1<<5)
443
#define SMAP_DsPHYTER_ANLPAR 0x05
444
#define SMAP_DsPHYTER_ANLPARNP 0x05
445
#define SMAP_DsPHYTER_ANER 0x06
446
#define SMAP_DsPHYTER_ANNPTR 0x07
447
448
/* Extended registers. */
449
#define SMAP_DsPHYTER_PHYSTS 0x10
451
#define SMAP_PHY_STS_REL (1<<13)
453
#define SMAP_PHY_STS_POST (1<<12)
455
#define SMAP_PHY_STS_FCSL (1<<11)
457
#define SMAP_PHY_STS_SD (1<<10)
459
#define SMAP_PHY_STS_DSL (1<<9)
461
#define SMAP_PHY_STS_PRCV (1<<8)
463
#define SMAP_PHY_STS_RFLT (1<<6)
465
#define SMAP_PHY_STS_JBDT (1<<5)
467
#define SMAP_PHY_STS_ANCP (1<<4)
469
#define SMAP_PHY_STS_LPBK (1<<3)
471
#define SMAP_PHY_STS_DUPS (1<<2)
473
#define SMAP_PHY_STS_FDX (1<<2)
475
#define SMAP_PHY_STS_HDX (0<<2)
477
#define SMAP_PHY_STS_SPDS (1<<1)
479
#define SMAP_PHY_STS_10M (1<<1)
481
#define SMAP_PHY_STS_100M (0<<1)
483
#define SMAP_PHY_STS_LINK (1<<0)
484
#define SMAP_DsPHYTER_FCSCR 0x14
485
#define SMAP_DsPHYTER_RECR 0x15
486
#define SMAP_DsPHYTER_PCSR 0x16
487
#define SMAP_DsPHYTER_PHYCTRL 0x19
488
#define SMAP_DsPHYTER_10BTSCR 0x1A
490
#define SMAP_PHY_10BTSCR_LOOPBACK_10_DIS (1<<8)
492
#define SMAP_PHY_10BTSCR_LP_DIS (1<<7)
494
#define SMAP_PHY_10BTSCR_FORCE_10_LINK (1<<6)
496
#define SMAP_PHY_10BTSCR_FORCE_POL_COR (1<<5)
498
#define SMAP_PHY_10BTSCR_POLARITY (1<<4)
500
#define SMAP_PHY_10BTSCR_AUTOPOL_DIS (1<<3)
502
#define SMAP_PHY_10BTSCR_2 (1<<2)
504
#define SMAP_PHY_10BTSCR_HEARTBEAT_DIS (1<<1)
506
#define SMAP_PHY_10BTSCR_JABBER_DIS (1<<0)
507
#define SMAP_DsPHYTER_CDCTRL 0x1B
508
509
#endif
/* __SMAPREGS_H__ */
speedregs.h
smap_bd_t
Definition:
smapregs.h:284
smap_bd_t::reserved
u16 reserved
Definition:
smapregs.h:287
smap_bd_t::length
u16 length
Definition:
smapregs.h:289
smap_bd_t::ctrl_stat
u16 ctrl_stat
Definition:
smapregs.h:285
smap_bd_t::pointer
u16 pointer
Definition:
smapregs.h:290
tamtypes.h
u16
unsigned short u16
Definition:
tamtypes.h:24
common
include
smapregs.h
Generated on Thu Feb 11 2021 11:42:21 for ps2sdk by
1.9.2