saa9730.h

来自「开放源码实时操作系统源码.」· C头文件 代码 · 共 365 行 · 第 1/2 页

H
365
字号
#  define SAA9730_DMASTA_TXABADR_MSK          (1 << 19)
#  define SAA9730_DMASTA_TXBBADR_MSK          (1 << 18)
#  define SAA9730_DMASTA_RXABADR_MSK          (1 << 17)
#  define SAA9730_DMASTA_RXBBADR_MSK          (1 << 16)
#  define SAA9730_DMASTA_RXBBADR_SHIFT        8
#  define SAA9730_DMASTA_RXPCKCNT_MASK        (0xff << SAA9730_DMASTA_RXPCKCNT_SHIFT)
#  define SAA9730_DMASTA_TXMACBUSY_MSK        (1 << 7)
#  define SAA9730_DMASTA_RXAFULL_MSK          (1 << 6)
#  define SAA9730_DMASTA_RXBFULL_MSK          (1 << 5)
#  define SAA9730_DMASTA_RXTOINT_MSK          (1 << 4)
#  define SAA9730_DMASTA_RXINT_MSK            (1 << 3)
#  define SAA9730_DMASTA_TXINT_MSK            (1 << 2)
#  define SAA9730_DMASTA_MACTXINT_MSK         (1 << 1)
#  define SAA9730_DMASTA_MACRXINT_MSK         (1 << 0)

#define SAA9730_DMATST          *((volatile unsigned *)(__base + 0x20424)) // DMA loop back
#  define SAA9730_DMATST_LPBACK           (1 << 24)
#  define SAA9730_DMATST_RESET            1

#define SAA9730_PAUSE           *((volatile unsigned *)(__base + 0x20430)) // Pause count

#define SAA9730_REMPAUSE        *((volatile unsigned *)(__base + 0x20434)) // Remote Pause count

#define SAA9730_MACCTL          *((volatile unsigned *)(__base + 0x20440)) // MAC control
#  define SAA9730_MACCTL_MISSRINT         (1 << 13)
#  define SAA9730_MACCTL_MISSROLL         (1 << 10)
#  define SAA9730_MACCTL_LOOP10           (1 << 7)
#  define SAA9730_MACCTL_CONMODE_AUTOMATIC  (0 << 5)
#  define SAA9730_MACCTL_CONMODE_FORCE_10MB (1 << 5)
#  define SAA9730_MACCTL_CONMODE_FORCE_MII  (2 << 5)
#  define SAA9730_MACCTL_LPBACK           (1 << 4)
#  define SAA9730_MACCTL_FULLDUP          (1 << 3)
#  define SAA9730_MACCTL_RESET            (1 << 2)
#  define SAA9730_MACCTL_HALTNOW          (1 << 1)
#  define SAA9730_MACCTL_HALTREQ          (1 << 0)

#define SAA9730_CAMCTL          *((volatile unsigned *)(__base + 0x20444)) // CAM control
#  define SAA9730_CAMCTL_COMPARE          (1 << 4)
#  define SAA9730_CAMCTL_NEGATE           (1 << 3)
#  define SAA9730_CAMCTL_BROADCAST        (1 << 2)
#  define SAA9730_CAMCTL_MULTICAST        (1 << 1)
#  define SAA9730_CAMCTL_UNICAST          (1 << 0)

#define SAA9730_TXCTL           *((volatile unsigned *)(__base + 0x20448)) // TX control
#  define SAA9730_TXCTL_COMPLINT            (1 << 14)
#  define SAA9730_TXCTL_TXPARINT            (1 << 13)
#  define SAA9730_TXCTL_LATECOLLINT         (1 << 12)
#  define SAA9730_TXCTL_EXCOLLINT           (1 << 11)
#  define SAA9730_TXCTL_CARRIERINT          (1 << 10)
#  define SAA9730_TXCTL_DEFERINT            (1 << 9)
#  define SAA9730_TXCTL_UNDERINT            (1 << 8)
#  define SAA9730_TXCTL_MII10               (1 << 7)
#  define SAA9730_TXCTL_SDPAUSE             (1 << 6)
#  define SAA9730_TXCTL_NOEXDEF             (1 << 5)
#  define SAA9730_TXCTL_FBACK               (1 << 4)
#  define SAA9730_TXCTL_NOCRC               (1 << 3)
#  define SAA9730_TXCTL_NOPAD               (1 << 2)
#  define SAA9730_TXCTL_TXHALT              (1 << 1)
#  define SAA9730_TXCTL_ENTX                (1 << 0)

#define SAA9730_TXSTA           *((volatile unsigned *)(__base + 0x2044C)) // TX status
#  define SAA9730_TXSTA_SQERR             (1 << 16)
#  define SAA9730_TXSTA_TXHALTED          (1 << 15)
#  define SAA9730_TXSTA_COMPLETION        (1 << 14)
#  define SAA9730_TXSTA_PARITYERR         (1 << 13)
#  define SAA9730_TXSTA_LATECOLLERR       (1 << 12)
#  define SAA9730_TXSTA_WAS10MB           (1 << 11)
#  define SAA9730_TXSTA_LOSTCARRIER       (1 << 10)
#  define SAA9730_TXSTA_EXDEFER           (1 << 9)
#  define SAA9730_TXSTA_UNDERRUN          (1 << 8)
#  define SAA9730_TXSTA_INTERRUPT         (1 << 7)
#  define SAA9730_TXSTA_PAUSED            (1 << 6)
#  define SAA9730_TXSTA_DEFERRED          (1 << 5)
#  define SAA9730_TXSTA_EXCOLL            (1 << 4)
#  define SAA9730_TXSTA_COLLISIONS_MASK   0xf

#define SAA9730_RXCTL           *((volatile unsigned *)(__base + 0x20450)) // RX control
#  define SAA9730_RXCTL_ENGOOD            (1 << 14)
#  define SAA9730_RXCTL_ENPARITY          (1 << 13)
#  define SAA9730_RXCTL_ENLONGERR         (1 << 11)
#  define SAA9730_RXCTL_ENOVER            (1 << 10)
#  define SAA9730_RXCTL_ENCRCERR          (1 << 9)
#  define SAA9730_RXCTL_ENALIGN           (1 << 8)
#  define SAA9730_RXCTL_IGNORECRC         (1 << 6)
#  define SAA9730_RXCTL_PASSCTL           (1 << 5)
#  define SAA9730_RXCTL_STRIPCRC          (1 << 4)
#  define SAA9730_RXCTL_SHORTEN           (1 << 3)
#  define SAA9730_RXCTL_LONGEN            (1 << 2)
#  define SAA9730_RXCTL_RXHALT            (1 << 1)
#  define SAA9730_RXCTL_ENRX              (1 << 0)

#define SAA9730_RXSTA           *((volatile unsigned *)(__base + 0x20454)) // RX status
#  define SAA9730_RXSTA_HALTED            (1 << 15)
#  define SAA9730_RXSTA_GOOD              (1 << 14)
#  define SAA9730_RXSTA_PARITY            (1 << 13)
#  define SAA9730_RXSTA_LONGERR           (1 << 11)
#  define SAA9730_RXSTA_OVERFLOW          (1 << 10)
#  define SAA9730_RXSTA_CRCERR            (1 << 9)
#  define SAA9730_RXSTA_ALIGNERR          (1 << 8)
#  define SAA9730_RXSTA_WAS10MB           (1 << 7)
#  define SAA9730_RXSTA_INTERRUPT         (1 << 6)
#  define SAA9730_RXSTA_CONTROLRCV        (1 << 5)

#define SAA9730_MDDATA          *((volatile unsigned *)(__base + 0x20458)) // PHY mgmt data
#  define SAA9730_MDDATA_DATA_MASK             (0xffff << SAA9730_MDDATA_DATA_SHIFT)

#define SAA9730_MDCTL           *((volatile unsigned *)(__base + 0x2045C)) // PHY mgmt control
#  define SAA9730_MDCTL_PRESUP            (1 << 12)
#  define SAA9730_MDCTL_BUSY              (1 << 11)
#  define SAA9730_MDCTL_WRITE             (1 << 10)
#  define SAA9730_MDCTL_PHY_SHIFT         5
#  define SAA9730_MDCTL_PHY_MASK          (0x1f << SAA9730_MDCTL_PHY_SHIFT)
#  define SAA9730_MDCTL_ADDR_MASK         0x1f

#define SAA9730_CAMADR          *((volatile unsigned *)(__base + 0x20460)) // CAM address
#  define SAA9730_CAMADR_ADDRESS_MASK          (0x1ff << SAA9730_CAMADR_ADDRESS_SHIFT)

#define SAA9730_CAMDAT          *((volatile unsigned *)(__base + 0x20464)) // CAM data

#define SAA9730_CAMENA          *((volatile unsigned *)(__base + 0x20468)) // CAM enable
#  define SAA9730_CAMENA_ENABLE_MASK          (0x3fffff << SAA9730_CAMENA_ENABLE_SHIFT)

#define SAA9730_DBGRXS          *((volatile unsigned *)(__base + 0x20508)) // DEBUG
#  define SAA9730_DBGRXS_RXPI_MASK           (0x3ff << 16)
#  define SAA9730_DBGRXS_RXPI_ERROR          (0x001 << 16)
#  define SAA9730_DBGRXS_RXDII_MASK          0x1ff
#  define SAA9730_DBGRXS_RXDII_ERROR         8


#define SAA9730_DBGRXFIFO       *((volatile unsigned *)(__base + 0x20510)) // DEBUG

#define SAA9730_DBGLANSTA       *((volatile unsigned *)(__base + 0x20514)) // DEBUG

// ******** Packet control/status **********

#define TXPACKET_CTL_FLAG_MASK      (0x3 << 30)
#  define TX_EMPTY                  (0 << 30)
#  define TX_READY                  (2 << 30)
#  define TX_HWDONE                 (3 << 30)

#  define TXPACKET_CTL_IRQ_MASK     (1 << 29)
#  define TXPACKET_CTL_NOCRC_MASK   (1 << 28)
#  define TXPACKET_CTL_NOPAD_MASK   (1 << 27)
#  define TXPACKET_CTL_SIZE_MASK    0x7ff

#define TXPACKET_STATUS_FLAG_MASK     (0x3 << 30)
#  define TXPACKET_STATUS_SQERR       (1 << 27)
#  define TXPACKET_STATUS_TXHALTED    (1 << 26)
#  define TXPACKET_STATUS_COMPLETION  (1 << 25)
#  define TXPACKET_STATUS_PARITYERR   (1 << 24)
#  define TXPACKET_STATUS_LATECOLLERR (1 << 23)
#  define TXPACKET_STATUS_WAS10MB     (1 << 22)
#  define TXPACKET_STATUS_LOSTCARRIER (1 << 21)
#  define TXPACKET_STATUS_EXDEFER     (1 << 20)
#  define TXPACKET_STATUS_UNDERRUN    (1 << 19)
#  define TXPACKET_STATUS_COLLISIONS_SHIFT 11
#  define TXPACKET_STATUS_COLLISIONS_MASK  (0x1f << TXPACKET_STATUS_COLLISIONS_SHIFT)
#  define TXPACKET_STATUS_SIZE_MASK   0x7ff

#  define TXPACKET_STATUS_ERROR  (TXPACKET_STATUS_EXDEFER      | \
                                  TXPACKET_STATUS_LATECOLLERR  | \
                                  TXPACKET_STATUS_LOSTCARRIER  | \
                                  TXPACKET_STATUS_UNDERRUN     | \
                                  TXPACKET_STATUS_SQERR)

#  define RXPACKET_STATUS_FLAG_MASK       (0x3 << 30)
#  define RX_NDIS                         (0 << 30)
#  define RX_INVALID_STAT                 (1 << 30)
#  define RX_READY                        (2 << 30)
#  define RX_HWDONE                       (3 << 30)

#  define RXPACKET_STATUS_GOOD        (1 << 25)
#  define RXPACKET_STATUS_PARITY      (1 << 24)
#  define RXPACKET_STATUS_LONGERR     (1 << 22)
#  define RXPACKET_STATUS_OVERFLOW    (1 << 21)
#  define RXPACKET_STATUS_CRCERR      (1 << 20)
#  define RXPACKET_STATUS_ALIGNERR    (1 << 19)
#  define RXPACKET_STATUS_WAS10MB     (1 << 18)
#  define RXPACKET_STATUS_SIZE_MASK   0x7ff

#endif  // CYGONCE_DEVS_ETH_MIPS_ATLAS_SAA9730_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?