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.
7 #ifndef _ASIX_VENDOR_REQUESTS_H_
8 #define _ASIX_VENDOR_REQUESTS_H_
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
22 READ_MII_OP_MODE
= 0x09, // AX88172-772
23 READ_MII_STATUS
= 0x09, // AX88178
27 WRITE_SROM_ENABLE
= 0x0D,
28 WRITE_SROM_DISABLE
= 0x0E,
29 READ_RX_CONTROL
= 0x0F,
30 WRITE_RX_CONTROL
= 0x10,
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
39 WRITE_MF_ARRAY
= 0x16,
40 READ_TEST
= 0x17, // AX88178-772
41 READ_NODEID_AX88172
= 0x17, // AX88172
42 WRITE_NODEID_AX88172
= 0x18, // AX88172
44 READ_MEDIUM_STATUS
= 0x1A,
45 WRITE_MEDIUM_MODE
= 0x1B,
46 GET_MONITOR_MODE
= 0x1C,
47 SET_MONITOR_MODE
= 0x1D,
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
59 // RX Control Register bits
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
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
77 #endif // _ASIX_VENDOR_REQUESTS_H_