[U-Boot] [PATCH] drivers/net/ax88796.h revised

Daniel Mack daniel at caiaq.de
Sat Nov 29 18:47:31 CET 2008


Hi,

I overhauled drivers/net/ax88796.h a bit to make some more settings
board-dependend that used to be hard-coded.

There is also a new settings block for the chip to be used on the
Colibri PXA300 board.

Signed-off-by: Daniel Mack <daniel at caiaq.de>


diff --git a/drivers/net/ax88796.h b/drivers/net/ax88796.h
index 43a1639..60469c0 100644
--- a/drivers/net/ax88796.h
+++ b/drivers/net/ax88796.h
@@ -23,7 +23,6 @@
 #ifndef __DRIVERS_AX88796L_H__
 #define __DRIVERS_AX88796L_H__
 
-#define DP_DATA		(0x10 << 1)
 #define START_PG	0x40	/* First page of TX buffer */
 #define START_PG2	0x48
 #define STOP_PG		0x80	/* Last page +1 of RX ring */
@@ -32,8 +31,47 @@
 #define RX_END		STOP_PG
 
 #define AX88796L_BASE_ADDRESS	CONFIG_DRIVER_NE2000_BASE
-#define AX88796L_BYTE_ACCESS	0x00001000
-#define AX88796L_OFFSET		0x00000400
+
+/* R7780MP Specific code */
+#if defined(CONFIG_R7780MP)
+	#define DP_DATA			(0x10 << 1)
+	#define ISA_OFFSET		0x1400
+	#define AX88796L_BYTE_ACCESS	0x00001000
+	#define AX88796L_OFFSET		0x00000400
+	
+	#define DP_IN(_b_, _o_, _d_)	(_d_) = \
+		*( (vu_short *) ((_b_) + ((_o_) * 2) + ISA_OFFSET))
+	#define DP_OUT(_b_, _o_, _d_) \
+		*((vu_short *)((_b_) + ((_o_) * 2) + ISA_OFFSET)) = (_d_)
+	#define DP_IN_DATA(_b_, _d_)	(_d_) = *( (vu_short *) ((_b_) + ISA_OFFSET))
+	#define DP_OUT_DATA(_b_, _d_)	*( (vu_short *) ((_b_)+ISA_OFFSET)) = (_d_)
+/* Colribri PXA300 specific code */
+#elif defined(CONFIG_COLIBRI_PXA300)
+	#define ISA_OFFSET		0
+	#define DP_DATA			(1 << 11)
+	#define AX88796L_BYTE_ACCESS	0
+	#define AX88796L_OFFSET		0
+
+	#define DP_IN(_b_, _o_, _d_)	(_d_) = \
+		*( (vu_char *) ((_b_) + ((_o_) * 2) + ISA_OFFSET))
+	#define DP_OUT(_b_, _o_, _d_) \
+		*((vu_char *)((_b_) + ((_o_) * 2) + ISA_OFFSET)) = (_d_)
+	#define DP_IN_DATA(_b_, _d_)	(_d_) = *( (vu_char *) ((_b_) + ISA_OFFSET))
+	#define DP_OUT_DATA(_b_, _d_)	*( (vu_char *) ((_b_)+ISA_OFFSET)) = (_d_)
+#else
+/* Please change for your target boards */
+	#warning PLEASE DEFINE AX88796 SETTINGS!
+	#define ISA_OFFSET		0
+	#define DP_DATA			0
+	#define AX88796L_BYTE_ACCESS	0
+	#define AX88796L_OFFSET		0
+	
+	#define DP_IN(_b_, _o_, _d_)	(_d_) = *( (vu_short *)((_b_)+(_o_ )+ISA_OFFSET))
+	#define DP_OUT(_b_, _o_, _d_)	*((vu_short *)((_b_)+(_o_)+ISA_OFFSET)) = (_d_)
+	#define DP_IN_DATA(_b_, _d_)	(_d_) = *( (vu_short *) ((_b_)+ISA_OFFSET))
+	#define DP_OUT_DATA(_b_, _d_)	*( (vu_short *) ((_b_)+ISA_OFFSET)) = (_d_)
+#endif
+
 #define AX88796L_ADDRESS_BYTE	AX88796L_BASE_ADDRESS + \
 		AX88796L_BYTE_ACCESS + AX88796L_OFFSET
 #define AX88796L_REG_MEMR	AX88796L_ADDRESS_BYTE + (0x14<<1)
@@ -60,22 +98,5 @@
 #define MAC_EEP_EWEN	4
 #define MAC_EEP_EWDS	5
 
-/* R7780MP Specific code */
-#if defined(CONFIG_R7780MP)
-#define ISA_OFFSET	0x1400
-#define DP_IN(_b_, _o_, _d_)	(_d_) = \
-	*( (vu_short *) ((_b_) + ((_o_) * 2) + ISA_OFFSET))
-#define DP_OUT(_b_, _o_, _d_) \
-	*((vu_short *)((_b_) + ((_o_) * 2) + ISA_OFFSET)) = (_d_)
-#define DP_IN_DATA(_b_, _d_)	(_d_) = *( (vu_short *) ((_b_) + ISA_OFFSET))
-#define DP_OUT_DATA(_b_, _d_)	*( (vu_short *) ((_b_)+ISA_OFFSET)) = (_d_)
-#else
-/* Please change for your target boards */
-#define ISA_OFFSET	0x0000
-#define DP_IN(_b_, _o_, _d_)	(_d_) = *( (vu_short *)((_b_)+(_o_ )+ISA_OFFSET))
-#define DP_OUT(_b_, _o_, _d_)	*((vu_short *)((_b_)+(_o_)+ISA_OFFSET)) = (_d_)
-#define DP_IN_DATA(_b_, _d_)	(_d_) = *( (vu_short *) ((_b_)+ISA_OFFSET))
-#define DP_OUT_DATA(_b_, _d_)	*( (vu_short *) ((_b_)+ISA_OFFSET)) = (_d_)
-#endif
-
 #endif /* __DRIVERS_AX88796L_H__ */
+


More information about the U-Boot mailing list