[U-Boot-Users] [PATCH v2 4/7] add SMSC LAN9x1x Network driver
Ben Warren
biggerbadderben at gmail.com
Thu Mar 27 18:39:14 CET 2008
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 at gmail.com]
>>> Sent: 26 March 2008 20:08
>>> To: Guennadi Liakhovetski
>>> Cc: u-boot-users at 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 at 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
More information about the U-Boot
mailing list