summaryrefslogtreecommitdiff
path: root/drivers/net/fec.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/fec.h')
-rw-r--r--drivers/net/fec.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/drivers/net/fec.h b/drivers/net/fec.h
index 2c48b25668d5..0bd534dfcbd9 100644
--- a/drivers/net/fec.h
+++ b/drivers/net/fec.h
@@ -14,7 +14,8 @@
/****************************************************************************/
#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
- defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARCH_MXC)
+ defined(CONFIG_M520x) || defined(CONFIG_M532x) || \
+ defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_MXS)
/*
* Just figures, Motorola would have to change the offsets for
* registers in the same peripheral device on different models
@@ -46,6 +47,15 @@
#define FEC_MIIGSK_CFGR 0x300 /* MIIGSK Configuration reg */
#define FEC_MIIGSK_ENR 0x308 /* MIIGSK Enable reg */
+/* Define the FEC 1588 registers offset */
+#define FEC_ATIME_CTRL 0x400
+#define FEC_ATIME 0x404
+#define FEC_ATIME_EVT_OFFSET 0x408
+#define FEC_ATIME_EVT_PERIOD 0x40c
+#define FEC_ATIME_CORR 0x410
+#define FEC_ATIME_INC 0x414
+#define FEC_TS_TIMESTAMP 0x418
+
#else
#define FEC_ECNTRL 0x000 /* Ethernet control reg */
@@ -74,15 +84,25 @@
#endif /* CONFIG_M5272 */
+#if defined(CONFIG_ARCH_MX28) && defined(CONFIG_FEC_1588)
+#define CONFIG_ENHANCED_BD
+#endif
/*
* Define the buffer descriptor structure.
*/
-#ifdef CONFIG_ARCH_MXC
+#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_MXS)
struct bufdesc {
unsigned short cbd_datlen; /* Data length */
unsigned short cbd_sc; /* Control and status info */
unsigned long cbd_bufaddr; /* Buffer address */
+#ifdef CONFIG_ENHANCED_BD
+ unsigned long cbd_esc;
+ unsigned long cbd_prot;
+ unsigned long cbd_bdu;
+ unsigned long ts;
+ unsigned short res0[4];
+#endif
};
#else
struct bufdesc {
@@ -125,6 +145,9 @@ struct bufdesc {
#define BD_ENET_RX_CL ((ushort)0x0001)
#define BD_ENET_RX_STATS ((ushort)0x013f) /* All status bits */
+#define BD_ENET_RX_INT 0x00800000
+#define BD_ENET_RX_PTP ((ushort)0x0400)
+
/* Buffer descriptor control/status used by Ethernet transmit.
*/
#define BD_ENET_TX_READY ((ushort)0x8000)
@@ -142,6 +165,8 @@ struct bufdesc {
#define BD_ENET_TX_CSL ((ushort)0x0001)
#define BD_ENET_TX_STATS ((ushort)0x03ff) /* All status bits */
+#define BD_ENET_TX_INT 0x40000000
+#define BD_ENET_TX_PTP ((ushort)0x0100)
/****************************************************************************/
#endif /* FEC_H */