1#ifndef BCM63XX_IUDMA_H_ 2#define BCM63XX_IUDMA_H_ 3 4#include <linux/types.h> 5 6/* 7 * rx/tx dma descriptor 8 */ 9struct bcm_enet_desc { 10 u32 len_stat; 11 u32 address; 12}; 13 14/* control */ 15#define DMADESC_LENGTH_SHIFT 16 16#define DMADESC_LENGTH_MASK (0xfff << DMADESC_LENGTH_SHIFT) 17#define DMADESC_OWNER_MASK (1 << 15) 18#define DMADESC_EOP_MASK (1 << 14) 19#define DMADESC_SOP_MASK (1 << 13) 20#define DMADESC_ESOP_MASK (DMADESC_EOP_MASK | DMADESC_SOP_MASK) 21#define DMADESC_WRAP_MASK (1 << 12) 22#define DMADESC_USB_NOZERO_MASK (1 << 1) 23#define DMADESC_USB_ZERO_MASK (1 << 0) 24 25/* status */ 26#define DMADESC_UNDER_MASK (1 << 9) 27#define DMADESC_APPEND_CRC (1 << 8) 28#define DMADESC_OVSIZE_MASK (1 << 4) 29#define DMADESC_RXER_MASK (1 << 2) 30#define DMADESC_CRC_MASK (1 << 1) 31#define DMADESC_OV_MASK (1 << 0) 32#define DMADESC_ERR_MASK (DMADESC_UNDER_MASK | \ 33 DMADESC_OVSIZE_MASK | \ 34 DMADESC_RXER_MASK | \ 35 DMADESC_CRC_MASK | \ 36 DMADESC_OV_MASK) 37 38#endif /* ! BCM63XX_IUDMA_H_ */ 39