diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-22 22:17:44 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-22 22:17:44 +0100 |
commit | f11526708e7ce1a09a127fde6677e14455f4d1f5 (patch) | |
tree | 3cb0e655ea9e5d6843a6d48df4a2bca912448488 /sys/src/9/kw/ether1116.c | |
parent | 809a7402fc7b06fb73c8b6743e60ef95ab89fca0 (diff) |
kw: use ethermii.c from port/ (thanks stuart)
Diffstat (limited to 'sys/src/9/kw/ether1116.c')
-rw-r--r-- | sys/src/9/kw/ether1116.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/sys/src/9/kw/ether1116.c b/sys/src/9/kw/ether1116.c index c5d14c933..bdcb5f0ce 100644 --- a/sys/src/9/kw/ether1116.c +++ b/sys/src/9/kw/ether1116.c @@ -18,7 +18,7 @@ #include "../port/netif.h" #include "../port/etherif.h" -#include "ethermii.h" +#include "../port/ethermii.h" #include "../ip/ip.h" #define MIIDBG if(0)iprint @@ -363,6 +363,36 @@ enum { SmiRegaddrmask = 0x1f << SmiRegaddroff, }; +enum { + /* 88e1116-specific paged registers */ + Scr = 16, /* special control register */ + Ssr = 17, /* special status register */ + Ier = 18, /* interrupt enable reg */ + Isr = 19, /* interrupt status reg */ + Escr = 20, /* extended special control reg */ + Recr = 21, /* RX error counter reg */ + Eadr = 22, /* extended address reg (page select) */ + Globsts = 23, /* global status */ + Impover = 24, /* RGMII output impedance override (page 2) */ + Imptarg = 25, /* RGMII output impedance target (page 2) */ + Scr2 = 26, /* special control register 2 */ +}; + +enum { /* Scr page 0 */ + Pwrdown = 0x0004, /* power down */ + Mdix = 0x0060, /* MDI crossover mode */ + Endetect = 0x0300, /* energy detect */ +}; + +enum { /* Scr page 2 */ + Rgmiipwrup = 0x0008, /* RGMII power up: must sw reset after */ +}; + +enum { /* Recr page 2 */ + Txtiming = 1<<4, + Rxtiming = 1<<5, +}; + struct Gbereg { ulong phy; /* PHY address */ ulong smi; /* serial mgmt. interface */ |