[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