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 <[EMAIL PROTECTED]> 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__ */ + _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot