]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/faraday/ftgmac100.h
ftgmac100: Add pause frames configuration and support
[karo-tx-linux.git] / drivers / net / ethernet / faraday / ftgmac100.h
index 9124785a4ab9be518982b08586c32c7ae1e51bf1..0653d8176e6a536601119ffadefcbe55e28c7949 100644 (file)
 #define FTGMAC100_PHYDATA_MIIWDATA(x)          ((x) & 0xffff)
 #define FTGMAC100_PHYDATA_MIIRDATA(phydata)    (((phydata) >> 16) & 0xffff)
 
+/*
+ * Flow control register
+ */
+#define FTGMAC100_FCR_FC_EN            (1 << 0)
+#define FTGMAC100_FCR_FCTHR_EN         (1 << 2)
+#define FTGMAC100_FCR_PAUSE_TIME(x)    (((x) & 0xffff) << 16)
+
 /*
  * Transmit descriptor, aligned to 16 bytes
  */
 struct ftgmac100_txdes {
-       unsigned int    txdes0;
-       unsigned int    txdes1;
-       unsigned int    txdes2; /* not used by HW */
-       unsigned int    txdes3; /* TXBUF_BADR */
+       __le32  txdes0; /* Control & status bits */
+       __le32  txdes1; /* Irq, checksum and vlan control */
+       __le32  txdes2; /* Reserved */
+       __le32  txdes3; /* DMA buffer address */
 } __attribute__ ((aligned(16)));
 
 #define FTGMAC100_TXDES0_TXBUF_SIZE(x) ((x) & 0x3fff)