aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/x300/include/xge_phy.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/x300/include/xge_phy.h')
-rw-r--r--firmware/x300/include/xge_phy.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/firmware/x300/include/xge_phy.h b/firmware/x300/include/xge_phy.h
new file mode 100644
index 000000000..eeb94753e
--- /dev/null
+++ b/firmware/x300/include/xge_phy.h
@@ -0,0 +1,78 @@
+
+#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
+
+