summaryrefslogtreecommitdiff
path: root/openwrt/package/linux/kernel-source/include/bcmenetrxh.h
diff options
context:
space:
mode:
authorwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-16 13:50:00 +0000
committerwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-16 13:50:00 +0000
commit2cea1e6b9aa20af4040e87e88f9d4d2017cc2233 (patch)
tree5cd5a5f93b8b203d2343d5ade6e35ebd6b99f55d /openwrt/package/linux/kernel-source/include/bcmenetrxh.h
parentcfb6561e9bd4c5db6a6323525f0b5383e0649c5f (diff)
add all source code from linksys/broadcom which is free, to cvs for better maintainence inside
openwrt. this gives us the ability to better support different hardware models, without changing any external tar-balls. only et.o and wl.o is missing and is fetched from my webserver. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@379 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/linux/kernel-source/include/bcmenetrxh.h')
-rw-r--r--openwrt/package/linux/kernel-source/include/bcmenetrxh.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/openwrt/package/linux/kernel-source/include/bcmenetrxh.h b/openwrt/package/linux/kernel-source/include/bcmenetrxh.h
new file mode 100644
index 0000000000..835e42ba4e
--- /dev/null
+++ b/openwrt/package/linux/kernel-source/include/bcmenetrxh.h
@@ -0,0 +1,43 @@
+/*
+ * Hardware-specific Receive Data Header for the
+ * Broadcom Home Networking Division
+ * BCM44XX and BCM47XX 10/100 Mbps Ethernet cores.
+ *
+ * Copyright 2004, Broadcom Corporation
+ * All Rights Reserved.
+ *
+ * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
+ * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
+ * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
+ * $Id$
+ */
+
+#ifndef _bcmenetrxh_h_
+#define _bcmenetrxh_h_
+
+/*
+ * The Ethernet MAC core returns an 8-byte Receive Frame Data Header
+ * with every frame consisting of
+ * 16bits of frame length, followed by
+ * 16bits of EMAC rx descriptor info, followed by 32bits of undefined.
+ */
+typedef volatile struct {
+ uint16 len;
+ uint16 flags;
+ uint16 pad[12];
+} bcmenetrxh_t;
+
+#define RXHDR_LEN 28
+
+#define RXF_L ((uint16)1 << 11) /* last buffer in a frame */
+#define RXF_MISS ((uint16)1 << 7) /* received due to promisc mode */
+#define RXF_BRDCAST ((uint16)1 << 6) /* dest is broadcast address */
+#define RXF_MULT ((uint16)1 << 5) /* dest is multicast address */
+#define RXF_LG ((uint16)1 << 4) /* frame length > rxmaxlength */
+#define RXF_NO ((uint16)1 << 3) /* odd number of nibbles */
+#define RXF_RXER ((uint16)1 << 2) /* receive symbol error */
+#define RXF_CRC ((uint16)1 << 1) /* crc error */
+#define RXF_OV ((uint16)1 << 0) /* fifo overflow */
+
+#endif /* _bcmenetrxh_h_ */