1 /* 2 * ASIX AX88172/AX88772/AX88178 USB 2.0 Ethernet Driver. 3 * Copyright (c) 2011 S.Zharski <imker@gmx.li> 4 * Distributed under the terms of the MIT license. 5 * 6 */ 7 #ifndef _ASIX_VENDOR_REQUESTS_H_ 8 #define _ASIX_VENDOR_REQUESTS_H_ 9 10 11 // USB Vendor Requests used by all chip types 12 // For chip-spercific information look into 13 // corresponding AX88***Device.cpp files. 14 enum ASIXVendorRequests { 15 READ_RXTX_SRAM = 0x02, 16 WRITE_RXTX_SRAM = 0x03, // AX88178-772 17 WRITE_RX_SRAM = 0x03, // AX88172 18 WRITE_TX_SRAM = 0x04, // AX88172 19 SW_MII_OP = 0x06, 20 READ_MII = 0x07, 21 WRITE_MII = 0x08, 22 READ_MII_OP_MODE = 0x09, // AX88172-772 23 READ_MII_STATUS = 0x09, // AX88178 24 HW_MII_OP = 0x0A, 25 READ_SROM = 0x0B, 26 WRITE_SROM = 0x0C, 27 WRITE_SROM_ENABLE = 0x0D, 28 WRITE_SROM_DISABLE = 0x0E, 29 READ_RX_CONTROL = 0x0F, 30 WRITE_RX_CONTROL = 0x10, 31 READ_IPGS = 0x11, 32 WRITE_IPGS = 0x12, // AX88178-772 33 WRITE_IPG0 = 0x12, // AX88172 34 WRITE_IPG1 = 0x13, // AX88172 35 WRITE_IPG2 = 0x14, // AX88172 36 READ_NODEID = 0x13, // AX88178-772 37 WRITE_NODEID = 0x14, // AX88178-772 38 READ_MF_ARRAY = 0x15, 39 WRITE_MF_ARRAY = 0x16, 40 READ_TEST = 0x17, // AX88178-772 41 READ_NODEID_AX88172 = 0x17, // AX88172 42 WRITE_NODEID_AX88172 = 0x18, // AX88172 43 READ_PHYID = 0x19, 44 READ_MEDIUM_STATUS = 0x1A, 45 WRITE_MEDIUM_MODE = 0x1B, 46 GET_MONITOR_MODE = 0x1C, 47 SET_MONITOR_MODE = 0x1D, 48 READ_GPIOS = 0x1E, 49 WRITE_GPIOS = 0x1F, 50 WRITE_SOFT_RESET = 0x20, // AX88178-772 51 READ_PHY_SEL_STATE = 0x21, // AX88772 52 WRITE_PHY_SEL = 0x22, // AX88772 53 READ_MIIS_IF_STATE = 0x21, // AX88178 54 WRITE_MIIS_IF_STATE = 0x22, // AX88178 55 WRITE_RXCONTROL_CFG = 0x2A // AX88772B 56 }; 57 58 59 // RX Control Register bits 60 enum ASIXRXControl { 61 RXCTL_PROMISCUOUS = 0x0001, 62 RXCTL_ALL_MULTICAT = 0x0002, 63 RXCTL_UNICAST = 0x0004, // AX88172 64 RXCTL_SEP = 0x0004, // AX88772-178 65 RXCTL_BROADCAST = 0x0008, 66 RXCTL_MULTICAST = 0x0010, 67 RXCTL_AP = 0x0020, // AX88772-178 68 RXCTL_START = 0x0080, 69 RXCTL_USB_MFB_2048 = 0x0000, // AX88772-178 70 RXCTL_USB_MFB_4096 = 0x0100, // AX88772-178 71 RXCTL_USB_MFB_8192 = 0x0200, // AX88772-178 72 RXCTL_USB_MFB_MAX = 0x0300, // aka 16384 + mask AX88772-178 73 RXCTL_LOOPBACK = 0x1000, // AX88772A / AX88772B 74 }; 75 76 77 #endif // _ASIX_VENDOR_REQUESTS_H_ 78 79