summaryrefslogtreecommitdiff
path: root/sys/src/9/kw/ether1116.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-12-22 22:17:44 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2020-12-22 22:17:44 +0100
commitf11526708e7ce1a09a127fde6677e14455f4d1f5 (patch)
tree3cb0e655ea9e5d6843a6d48df4a2bca912448488 /sys/src/9/kw/ether1116.c
parent809a7402fc7b06fb73c8b6743e60ef95ab89fca0 (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.c32
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 */