#ifndef INCLUDED_XGE_PHY_H #define INCLUDED_XGE_PHY_H #define HAVE_AEL2005_PHY 1 // // IEEE 802.3ae Clause 45 managable device types (DEVAD) // #define XGE_MDIO_DEVICE_PMA 1 #define XGE_MDIO_DEVICE_WIS 2 #define XGE_MDIO_DEVICE_PCS 3 #define XGE_MDIO_DEVICE_PHY_XS 4 #define XGE_MDIO_DEVICE_DTE_XS 5 #define XGE_MDIO_DEVICE_TC 6 // // IEEE 802.3ae Clause 45 register set for MDIO // #define XGE_MDIO_CONTROL1 0 #define XGE_MDIO_STATUS1 1 #define XGE_MDIO_DEVID1 2 #define XGE_MDIO_DEVID2 3 #define XGE_MDIO_SPEED 4 #define XGE_MDIO_DEVICES1 5 #define XGE_MDIO_DEVICES2 6 #define XGE_MDIO_CONTROL2 7 #define XGE_MDIO_STATUS2 8 #define XGE_MDIO_LANESTATUS 24 #define XGE_MDIO_TESTCTRL 25 #define XILINX_CORE_VERSION 65535 // // QR2 AEL2005 Phy address on MDIO (PORT ADDR) // #define XGE_MDIO_ADDR_PHY_A 0 // // QR2 MDIO address of FPGA XAUI (DTE XS) (PORT ADDR) // #define XGE_MDIO_ADDR_XAUI_A 2 // // ID's for all XGE interfaces #define XGE_A 0 // PHY module types enum { SFFP_TYPE_NONE, SFFP_TYPE_SR, SFFP_TYPE_LR, SFFP_TYPE_LRM, SFFP_TYPE_TWINAX, SFFP_TYPE_TWINAX_LONG, SFFP_TYPE_UNKNOWN, SFFP_TYPE_1000BASE_SX, SFFP_TYPE_1000BASE_LX, SFFP_TYPE_1000BASE_T }; // PHY module I2C device address // (I2C device driver shifts "7bit" address left 1 bit) // SFF-8431 specifys the I2C address as 8 bits with lSB as X enum { MODULE_DEV_ADDR = (0xa0 >> 1), SFF_DEV_ADDR = (0xa2 >>1), }; // SFPP module status enum { SFFP_NO_CHANGE, SFFP_REMOVED, SFFP_INSERTED }; #endif