From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Wed, 14 Oct 2009 12:00:47 -0700 Subject: [U-Boot] NET: SDP3430: trouble with shifting from LAN9C916 to SMC91XX driver In-Reply-To: <4AD5CA99.5080305@ti.com> References: <4AD541CF.3000505@ti.com> <4AD5CA99.5080305@ti.com> Message-ID: <4AD61FDF.8020001@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Nishanth, Nishanth Menon wrote: > Ben Warren had written, on 10/13/2009 11:36 PM, the following: >> Nishanth, >> >> On Tue, Oct 13, 2009 at 8:13 PM, Nishanth Menon > > wrote: >> >> Hi Folks, >> >> While attempting to address the warning for SDP3430 as pointed >> out by >> dirk in [1], I did a patch corresponding to what was done for >> EVM(353x) >> as in [2]. unfortunately, this wont work for me, I get: >> U-Boot 2009.08-00515-gfea6a55-dirty (Oct 12 2009 - 14:03:23) >> >> OMAP3530-GP ES3.0, CPU-OPP2 L3-165MHz >> OMAP3 SDP3430 board + LPDDR/NOR >> I2C: ready >> DRAM: 128 MB >> Flash: 128 MB >> In: serial >> Out: serial >> Err: serial >> smc911x: Invalid chip endian 0xdee0013d >> Net: No ethernet found. >> OMAP34XX SDP # >> >> and no network, using LEGACY driver seems to be working just great >> for me. >> >> Note: in my patch [2], I did try both CONFIG_SMC911X_32_BIT and >> CONFIG_SMC911X_16_BIT with no luck either way. I even tried to >> hack the >> driver by skipping the supported chip detection code, but the driver >> still did not work for me. >> >> When using CONFIG_NET_MULTI you need to have a board_eth_init() function > done >> in your board code which in turn must call smc911x_initialize(). Make > done >> sure that eth_initialize() gets called somewhere in your cpu/board.c > why eth_initalize? rest of the OMAP3 boards dont seem to be doing that >> call sequence. I suspect that while the SMC911x driver is being >> initialized, it isn't being registered properly with the networking >> library. There are many examples in the source tree of how to do this. > I would expect that and did check too, but why: > smc911x: Invalid chip endian 0xdee0013d > when I had a base address and device which was supported by LAN91C96 > legacy driver? > The SMC911x chips all contain the magic value 0x87654321 @ offset 0x64. Your board has something else there (it's obviously not an endianness issue, so ignore the error message text). I think you need to learn more about your board, in particular which SMCS chip you're using, which data width and where it's located in memory. This is a simple memory-mapped device, and once you find out where it's located, it should 'just work' Here's a datasheet for reference. See page 68 for the memory map. http://www.smsc.com/media/Downloads_Public/Data_Sheets/9116.pdf regards, Ben