|
XenevaOS
|
#include "uspi/smsc951x.h"#include "uspios.h"#include "uspi/usbhostcontroller.h"#include "uspi/devicenameservice.h"#include "uspi/util.h"#include "uspi/assert.h"
Macros | |
| #define | WRITE_REGISTER 0xA0 |
| #define | READ_REGISTER 0xA1 |
| #define | ID_REV 0x00 |
| #define | INT_STS 0x08 |
| #define | RX_CFG 0x0C |
| #define | TX_CFG 0x10 |
| #define | TX_CFG_ON 0x00000004 |
| #define | HW_CFG 0x14 |
| #define | HW_CFG_BIR 0x00001000 |
| #define | RX_FIFO_INF 0x18 |
| #define | PM_CTRL 0x20 |
| #define | LED_GPIO_CFG 0x24 |
| #define | LED_GPIO_CFG_SPD_LED 0x01000000 |
| #define | LED_GPIO_CFG_LNK_LED 0x00100000 |
| #define | LED_GPIO_CFG_FDX_LED 0x00010000 |
| #define | GPIO_CFG 0x28 |
| #define | AFC_CFG 0x2C |
| #define | E2P_CMD 0x30 |
| #define | E2P_DATA 0x34 |
| #define | BURST_CAP 0x38 |
| #define | GPIO_WAKE 0x64 |
| #define | INT_EP_CTL 0x68 |
| #define | BULK_IN_DLY 0x6C |
| #define | MAC_CR 0x100 |
| #define | MAC_CR_RCVOWN 0x00800000 |
| #define | MAC_CR_MCPAS 0x00080000 |
| #define | MAC_CR_PRMS 0x00040000 |
| #define | MAC_CR_BCAST 0x00000800 |
| #define | MAC_CR_TXEN 0x00000008 |
| #define | MAC_CR_RXEN 0x00000004 |
| #define | ADDRH 0x104 |
| #define | ADDRL 0x108 |
| #define | HASHH 0x10C |
| #define | HASHL 0x110 |
| #define | MII_ADDR 0x114 |
| #define | MII_BUSY 0x01 |
| #define | MII_WRITE 0x02 |
| #define | PHY_ID_MASK 0x1F |
| #define | PHY_ID_INTERNAL 0x01 |
| #define | REG_NUM_MASK 0x1F |
| #define | MII_DATA 0x118 |
| #define | FLOW 0x11C |
| #define | VLAN1 0x120 |
| #define | VLAN2 0x124 |
| #define | WUFF 0x128 |
| #define | WUCSR 0x12C |
| #define | COE_CR 0x130 |
| #define | TX_CMD_A_DATA_OFFSET 0x001F0000 |
| #define | TX_CMD_A_FIRST_SEG 0x00002000 |
| #define | TX_CMD_A_LAST_SEG 0x00001000 |
| #define | TX_CMD_A_BUF_SIZE 0x000007FF |
| #define | TX_CMD_B_CSUM_ENABLE 0x00004000 |
| #define | TX_CMD_B_ADD_CRC_DISABLE 0x00002000 |
| #define | TX_CMD_B_DISABLE_PADDING 0x00001000 |
| #define | TX_CMD_B_PKT_BYTE_LENGTH 0x000007FF |
| #define | RX_STS_FF 0x40000000 |
| #define | RX_STS_FL 0x3FFF0000 |
| #define | RX_STS_FRAMELEN(reg) (((reg) & RX_STS_FL) >> 16) |
| #define | RX_STS_ES 0x00008000 |
| #define | RX_STS_BF 0x00002000 |
| #define | RX_STS_LE 0x00001000 |
| #define | RX_STS_RF 0x00000800 |
| #define | RX_STS_MF 0x00000400 |
| #define | RX_STS_TL 0x00000080 |
| #define | RX_STS_CS 0x00000040 |
| #define | RX_STS_FT 0x00000020 |
| #define | RX_STS_RW 0x00000010 |
| #define | RX_STS_ME 0x00000008 |
| #define | RX_STS_DB 0x00000004 |
| #define | RX_STS_CRC 0x00000002 |
| #define | RX_STS_ERROR |
| #define ADDRH 0x104 |
| #define ADDRL 0x108 |
| #define AFC_CFG 0x2C |
| #define BULK_IN_DLY 0x6C |
| #define BURST_CAP 0x38 |
| #define COE_CR 0x130 |
| #define E2P_CMD 0x30 |
| #define E2P_DATA 0x34 |
| #define FLOW 0x11C |
| #define GPIO_CFG 0x28 |
| #define GPIO_WAKE 0x64 |
| #define HASHH 0x10C |
| #define HASHL 0x110 |
| #define HW_CFG 0x14 |
| #define HW_CFG_BIR 0x00001000 |
| #define ID_REV 0x00 |
| #define INT_EP_CTL 0x68 |
| #define INT_STS 0x08 |
| #define LED_GPIO_CFG 0x24 |
| #define LED_GPIO_CFG_FDX_LED 0x00010000 |
| #define LED_GPIO_CFG_LNK_LED 0x00100000 |
| #define LED_GPIO_CFG_SPD_LED 0x01000000 |
| #define MAC_CR 0x100 |
| #define MAC_CR_BCAST 0x00000800 |
| #define MAC_CR_MCPAS 0x00080000 |
| #define MAC_CR_PRMS 0x00040000 |
| #define MAC_CR_RCVOWN 0x00800000 |
| #define MAC_CR_RXEN 0x00000004 |
| #define MAC_CR_TXEN 0x00000008 |
| #define MII_ADDR 0x114 |
| #define MII_BUSY 0x01 |
| #define MII_DATA 0x118 |
| #define MII_WRITE 0x02 |
| #define PHY_ID_INTERNAL 0x01 |
| #define PHY_ID_MASK 0x1F |
| #define PM_CTRL 0x20 |
| #define READ_REGISTER 0xA1 |
| #define REG_NUM_MASK 0x1F |
| #define RX_CFG 0x0C |
| #define RX_FIFO_INF 0x18 |
| #define RX_STS_BF 0x00002000 |
| #define RX_STS_CRC 0x00000002 |
| #define RX_STS_CS 0x00000040 |
| #define RX_STS_DB 0x00000004 |
| #define RX_STS_ERROR |
| #define RX_STS_ES 0x00008000 |
| #define RX_STS_FF 0x40000000 |
| #define RX_STS_FL 0x3FFF0000 |
| #define RX_STS_FRAMELEN | ( | reg | ) | (((reg) & RX_STS_FL) >> 16) |
| #define RX_STS_FT 0x00000020 |
| #define RX_STS_LE 0x00001000 |
| #define RX_STS_ME 0x00000008 |
| #define RX_STS_MF 0x00000400 |
| #define RX_STS_RF 0x00000800 |
| #define RX_STS_RW 0x00000010 |
| #define RX_STS_TL 0x00000080 |
| #define TX_CFG 0x10 |
| #define TX_CFG_ON 0x00000004 |
| #define TX_CMD_A_BUF_SIZE 0x000007FF |
| #define TX_CMD_A_DATA_OFFSET 0x001F0000 |
| #define TX_CMD_A_FIRST_SEG 0x00002000 |
| #define TX_CMD_A_LAST_SEG 0x00001000 |
| #define TX_CMD_B_ADD_CRC_DISABLE 0x00002000 |
| #define TX_CMD_B_CSUM_ENABLE 0x00004000 |
| #define TX_CMD_B_DISABLE_PADDING 0x00001000 |
| #define TX_CMD_B_PKT_BYTE_LENGTH 0x000007FF |
| #define VLAN1 0x120 |
| #define VLAN2 0x124 |
| #define WRITE_REGISTER 0xA0 |
| #define WUCSR 0x12C |
| #define WUFF 0x128 |
| void _SMSC951xDevice | ( | TSMSC951xDevice * | pThis | ) |
| void SMSC951xDevice | ( | TSMSC951xDevice * | pThis, |
| TUSBFunction * | pDevice | ||
| ) |
| boolean SMSC951xDeviceConfigure | ( | TUSBFunction * | pUSBFunction | ) |
| void SMSC951xDeviceDumpReg | ( | TSMSC951xDevice * | pThis, |
| const char * | pName, | ||
| u32 | nIndex | ||
| ) |
| void SMSC951xDeviceDumpRegs | ( | TSMSC951xDevice * | pThis | ) |
| TMACAddress * SMSC951xDeviceGetMACAddress | ( | TSMSC951xDevice * | pThis | ) |
| boolean SMSC951xDeviceIsLinkUp | ( | TSMSC951xDevice * | pThis | ) |
| boolean SMSC951xDevicePHYRead | ( | TSMSC951xDevice * | pThis, |
| u8 | uchIndex, | ||
| u16 * | pValue | ||
| ) |
| boolean SMSC951xDevicePHYWaitNotBusy | ( | TSMSC951xDevice * | pThis | ) |
| boolean SMSC951xDevicePHYWrite | ( | TSMSC951xDevice * | pThis, |
| u8 | uchIndex, | ||
| u16 | usValue | ||
| ) |
| boolean SMSC951xDeviceReadReg | ( | TSMSC951xDevice * | pThis, |
| u32 | nIndex, | ||
| u32 * | pValue | ||
| ) |
| boolean SMSC951xDeviceReceiveFrame | ( | TSMSC951xDevice * | pThis, |
| void * | pBuffer, | ||
| unsigned * | pResultLength | ||
| ) |
| boolean SMSC951xDeviceSendFrame | ( | TSMSC951xDevice * | pThis, |
| const void * | pBuffer, | ||
| unsigned | nLength | ||
| ) |
| boolean SMSC951xDeviceWriteReg | ( | TSMSC951xDevice * | pThis, |
| u32 | nIndex, | ||
| u32 | nValue | ||
| ) |