
Thanks Sascha,
Sascha Hauer wrote:
On Thu, Mar 27, 2008 at 10:39:38AM -0000, Peter Pearse wrote:
-----Original Message----- From: Ben Warren [mailto:biggerbadderben@gmail.com] Sent: 26 March 2008 20:08 To: Guennadi Liakhovetski Cc: u-boot-users@lists.sourceforge.net; Wolfgang Denk; Peter Pearse Subject: Re: [U-Boot-Users] [PATCH v2 4/7] add SMSC LAN9x1x Network driver
Hi Guennadi,
Guennadi Liakhovetski wrote:
From: Sascha Hauer s.hauer@pengutronix.de
This patch adds a driver for the following smsc network controllers: LAN9115 LAN9116 LAN9117 LAN9215 LAN9216 LAN9217
How many of these have been tested, and on what platforms. I'm asking because the code seems to assume a 32-bit interface and these aren't all 32-bit chips.
Comments please Sascha.
It's tested on the LAN9217 but I remember using it on one of the 16bit controllers as well, maybe with some register access adjustments. Maybe it's best to abstract the register accesses because I already had a board which had the address lines shifted (somehow SMSC seems to provoke this)
Sascha
I have no issue with bringing this in as a 32-bit only driver, leaving 16-bit implementation as a future exercise. We really should do this right, and the amount of code in the driver is small, so hopefully it can be fixed up for this merge window. If either you or Guennadi can do the following, I'll try my best to keep up:
1. Change all register definitions as following: #define RX_DATA_FIFO __REG(CONFIG_DRIVER_SMC911X_BASE + 0x00) to #define RX_DATA_FIFO CONFIG_DRIVER_SMC911X_BASE + 0x00
2. Implement read/write methods #ifdef CONFIG_DRIVER_SMC911X_32_BIT static inline u32 reg_read(u32 addr) ... static inline void reg_write(u32 addr, u32 val) ... #else #error "SMC911X: Only 32-bit bus is supported" #endif
or use macros if you insist. I won't get religious on this, just make it readable and debuggable.
thanks, Ben