/*------------------------------------------------------------------------------------------*\ \*------------------------------------------------------------------------------------------*/ #ifndef _ATH_PHY_H_ #define _ATH_PHY_H_ #define ID_AR8216 0x101 #define ID_AR8316 0x1001 /*****************/ /* PHY Registers */ /*****************/ #define ATHR_PHY_CONTROL 0 #define ATHR_PHY_STATUS 1 #define ATHR_PHY_ID1 2 #define ATHR_PHY_ID2 3 #define ATHR_AUTONEG_ADVERT 4 #define ATHR_LINK_PARTNER_ABILITY 5 #define ATHR_AUTONEG_EXPANSION 6 #define ATHR_NEXT_PAGE_TRANSMIT 7 #define ATHR_LINK_PARTNER_NEXT_PAGE 8 #define ATHR_1000BASET_CONTROL 9 #define ATHR_1000BASET_STATUS 10 #define ATHR_PHY_SPEC_CONTROL 16 #define ATHR_PHY_SPEC_STATUS 17 #define ATHR_DEBUG_PORT_ADDRESS 29 #define ATHR_DEBUG_PORT_DATA 30 /*--- ATHR_PHY_CONTROL fields ---*/ #define ATHR_CTRL_SOFTWARE_RESET 0x8000 #define ATHR_CTRL_SPEED_LSB 0x2000 #define ATHR_CTRL_AUTONEGOTIATION_ENABLE 0x1000 #define ATHR_CTRL_RESTART_AUTONEGOTIATION 0x0200 #define ATHR_CTRL_SPEED_FULL_DUPLEX 0x0100 #define ATHR_CTRL_SPEED_MSB 0x0040 /*--- Link Partner ability ---*/ #define ATHR_LINK_100BASETX_FULL_DUPLEX 0x0100 #define ATHR_LINK_100BASETX 0x0080 #define ATHR_LINK_10BASETX_FULL_DUPLEX 0x0040 #define ATHR_LINK_10BASETX 0x0020 /*--- Advertisement register. ---*/ #define ATHR_ADVERTISE_NEXT_PAGE 0x8000 #define ATHR_ADVERTISE_ASYM_PAUSE 0x0800 #define ATHR_ADVERTISE_PAUSE 0x0400 #define ATHR_ADVERTISE_100FULL 0x0100 #define ATHR_ADVERTISE_100HALF 0x0080 #define ATHR_ADVERTISE_10FULL 0x0040 #define ATHR_ADVERTISE_10HALF 0x0020 #define ATHR_ADVERTISE_ALL (ATHR_ADVERTISE_10HALF | ATHR_ADVERTISE_10FULL | \ ATHR_ADVERTISE_100HALF | ATHR_ADVERTISE_100FULL | \ ATHR_ADVERTISE_ASYM_PAUSE | ATHR_ADVERTISE_PAUSE) /*--- PORT-STATUS ---*/ #define ATH_PORT_STATUS_SPEED_10M 0 #define ATH_PORT_STATUS_SPEED_100M (1<<0) #define ATH_PORT_STATUS_TXMACEN (1<<2) #define ATH_PORT_STATUS_RXMACEN (1<<3) #define ATH_PORT_STATUS_TXFLOWEN (1<<4) #define ATH_PORT_STATUS_RXFLOWEN (1<<5) #define ATH_PORT_STATUS_FULLDUPLEX (1<<6) #define ATH_PORT_STATUS_PHY_LINKUP (1<<8) #define ATH_PORT_STATUS_LINKEN (1<<9) #define ATH_PORT_STATUS_LINK_PAUSE (1<<10) #define ATH_PORT_STATUS_ASYNC_PAUSE (1<<11) #endif /*--- #define _ATH_PHY_H_ ---*/