#ifndef __AX88172_H__
#define __AX88172_H__
#define VCMD_READ_SRAM 0x02
#define VCMD_WRITE_RXSRAM 0x03
#define VCMD_WRITE_TXSRAM 0x04
#define VCMD_SOFTWARE_MII_OP 0x06
#define VCMD_READ_MII_REG 0x07
#define VCMD_WRITE_MII_REG 0x08
#define VCMD_READ_MII_OPMODE 0x09
#define VCMD_HARDWARE_MII_OP 0x0a
#define VCMD_READ_SROM 0x0b
#define VCMD_WRITE_SROM 0x0c
#define VCMD_WRITE_SROM_ENABLE 0x0d
#define VCMD_WRITE_SROM_DISABLE 0x0e
#define VCMD_READ_RXCTRL 0x0f
#define VCMD_WRITE_RXCTRL 0x10
#define VCMD_READ_IPGS 0x11
#define VCMD_WRITE_IPG 0x12
#define VCMD_WRITE_IPG1 0x13
#define VCMD_WRITE_IPG2 0x14
#define VCMD_READ_MCAST_FILTER 0x15
#define VCMD_WRITE_MCAST_FILTER 0x16
#define VCMD_READ_NODE_ID 0x17
#define VCMD_READ_PHY_IDS 0x19
#define VCMD_READ_MEDIUM_STATUS 0x1a
#define VCMD_WRITE_MEDIUM_STATUS 0x1b
#define VCMD_SET_MONITOR_MODE 0x1c
#define VCMD_GET_MONITOR_MODE 0x1d
#define VCMD_READ_GPIO 0x1e
#define VCMD_WRITE_GPIO 0x1f
#define VCMD_WRITE_IPGS_88772 0x12
#define VCMD_READ_NODE_ID_88772 0x13
#define VCMD_WRITE_NODE_ID_88772 0x14
#define VCMD_WRITE_TEST_REG_88772 0x17
#define VCMD_SOFTWARE_RESET_88772 0x20
#define VCMD_READ_PHY_SELECT_88772 0x21
#define VCMD_WRITE_PHY_SELECT_88772 0x22
#define RCR_SO 0x80
#define RCR_AP_88772 0x20
#define RCR_AM 0x10
#define RCR_AB 0x08
#define RCR_SEP 0x04
#define RCR_AMALL 0x02
#define RCR_PRO 0x01
#define RCR_MFB 0x0300
#define RCR_MFB_SHIFT 8
#define RCR_MFB_2K (0U << RCR_MFB_SHIFT)
#define RCR_MFB_4K (1U << RCR_MFB_SHIFT)
#define RCR_MFB_8K (2U << RCR_MFB_SHIFT)
#define RCR_MFB_16K (3U << RCR_MFB_SHIFT)
#define RCR_BITS \
"\020" \
"\010SO" \
"\006AP" \
"\005AM" \
"\004AB" \
"\003SEP" \
"\002AMALL" \
"\001PRO"
#define MSR_SM 0x1000
#define MSR_SBP 0x0800
#define MSR_PS 0x0200
#define MSR_RE 0x0100
#define MSR_PF 0x0080
#define MSR_JFE 0x0040
#define MSR_TFC 0x0020
#define MSR_RFC 0x0010
#define MSR_FCEN 0x0010
#define MSR_ENCK 0x0008
#define MSR_TXABT 0x0004
#define MSR_FDPX 0x0002
#define MSR_GM 0x0001
#define MSR_BITS \
"\020" \
"\015SM" \
"\014SBP" \
"\012PS" \
"\011RE" \
"\005FCEN" \
"\004ENCK" \
"\003TXABT" \
"\002FDPX" \
"\001GM"
#define MMR_RWMP 0x04
#define MMR_RWLU 0x02
#define MMR_MOM 0x01
#define MMR_BITS \
"\020" \
"\003RWMP" \
"\002RWLU" \
"\001MOM"
#define GPIO_RSE 0x80
#define GPIO_DATA2 0x20
#define GPIO_EN2 0x10
#define GPIO_DATA1 0x08
#define GPIO_EN1 0x04
#define GPIO_DATA0 0x02
#define GPIO_EN0 0x01
#define GPIO_BITS \
"\020" \
"\010RSE" \
"\006DATA2" \
"\005EN2" \
"\004DATA1" \
"\003EN1" \
"\002DATA0" \
"\001EN0"
#define SWRST_IPPD 0x40
#define SWRST_IPRL 0x20
#define SWRST_BZ 0x10
#define SWRST_PRL 0x08
#define SWRST_PRTE 0x04
#define SWRST_RT 0x02
#define SWRST_RR 0x01
#define SWRST_BITS \
"\020" \
"\007IPPD" \
"\006IPRL" \
"\005BZ" \
"\004PRL" \
"\003PRTE" \
"\002RT" \
"\001RR"
#define SPSS_ASEL 0x02
#define SPSS_PSEL 0x01
#endif