usb_asix: clean up some registers

* No functional change
This commit is contained in:
Alexander von Gluck IV 2013-04-04 23:10:54 -05:00
parent 2cfeb3ca9c
commit b208c3fa3b
2 changed files with 20 additions and 4 deletions

View File

@ -66,7 +66,11 @@ enum ASIXRXControl {
RXCTL_MULTICAST = 0x0010, RXCTL_MULTICAST = 0x0010,
RXCTL_AP = 0x0020, // AX88772-178 RXCTL_AP = 0x0020, // AX88772-178
RXCTL_START = 0x0080, RXCTL_START = 0x0080,
RXCTL_USB_MFB = 0x0100 // AX88772-178 RXCTL_USB_MFB_2048 = 0x0000, // AX88772-178
RXCTL_USB_MFB_4096 = 0x0100, // AX88772-178
RXCTL_USB_MFB_8192 = 0x0200, // AX88772-178
RXCTL_USB_MFB_MAX = 0x0300, // aka 16384 + mask AX88772-178
RXCTL_LOOPBACK = 0x1000, // AX88772A / AX88772B
}; };

View File

@ -157,9 +157,18 @@ enum AX88772_BBState {
LINK_STATE_MDINT = 0x08 LINK_STATE_MDINT = 0x08
}; };
// RX Control Register bits (772B)
enum ASIX772RXControl {
RXCTL_HDR_TYPE_0 = 0x0000,
RXCTL_HDR_TYPE_1 = 0x0100,
RXCTL_HDR_IPALIGN = 0x0200,
RXCTL_ADD_CHKSUM = 0x0400,
};
// EEPROM Map. // EEPROM Map.
enum AX88772B_EEPROM { enum AX88772B_EEPROM {
EEPROM_772B_NODE_ID = 0x04 EEPROM_772B_NODE_ID = 0x04,
EEPROM_772B_PHY_PWRCFG = 0x18
}; };
enum AX88772B_MFB { enum AX88772B_MFB {
@ -511,8 +520,11 @@ AX88772Device::StartDevice()
TRACE_ALWAYS("Error of writing frame burst:%#010x\n", result); TRACE_ALWAYS("Error of writing frame burst:%#010x\n", result);
return result; return result;
} }
rxcontrol = RXCTL_HDR_TYPE_1;
rxcontrol = RXCTL_USB_MFB; } else {
// TODO: FreeBSD documents this to speed up xfers, I don't
// have the hardware to test however.
//rxcontrol = RXCTL_USB_MFB_MAX;
} }
rxcontrol |= RXCTL_START | RXCTL_BROADCAST; rxcontrol |= RXCTL_START | RXCTL_BROADCAST;