[beagleboard] SPI support in u-boot to support e.g. tftpboot for Zippy/Zippy2

83 views
Skip to first unread message

Koen Kooi

unread,
May 13, 2010, 5:56:10 AM5/13/10
to Beagle Board
I applied the attached patch to the 2010.3 based beagle tree and I get:

------
U-Boot 2010.03-00037-gf27bb38 (May 11 2010 - 20:20:56)

OMAP3530-GP ES3.0, CPU-OPP2, L3-165MHz, Max clock-600Mhz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MB
NAND: 256 MiB
*** Warning - bad CRC or NAND, using default environment

In: serial
Out: serial
Err: serial

Probing for expansion boards, if none are connected you'll see a harmless I2C error.

Recognized Tincantools Zippy expansion board (rev 1 )
Beagle Rev C1/C2/C3
Die ID #48f6000300000000040323090d01b00c
Net: Test 3
------

So it seems to be hanging here:

printf("Test 3\n");

/* taken from the Linux driver - dangerous stuff here! */
/* Wait for CLKRDY to become set (i.e., check that we can communicate with
the ENC) */
do
{
estatVal = m_nic_read(CTL_REG_ESTAT);
} while ((estatVal & 0x08) || (~estatVal & ENC_ESTAT_CLKRDY));
printf("Test 4\n");

After applying this patch:

--- a/drivers/net/enc28j60.c
+++ b/drivers/net/enc28j60.c
@@ -979,6 +979,7 @@ int enc28j60_initialize(bd_t *bis, unsigned int spi_bus, unsigned int spi_cs,
the ENC) */
do
{
+ printf("estatVal: %s\n", estatVal);
estatVal = m_nic_read(CTL_REG_ESTAT);


I get:

Net: Test 3
estatVal: <NULL>
<hang>

After some more digging:

drivers/net/enc28j60.c:622 encReadReg()
spi_write (0x1f); /* read reg 0x1f */

It hangs on that spi_write(). The spi pins should already be muxed at this point, since that happens straight after the "Recognized Tincantools Zippy expansion board (rev 1 )" print.

Does anyone have any suggestions where to start debugging this? Dirk suggested:

"This sounds like the SPI driver itself doesn't work yet. Most probably because I'm no SPI expert and just took the Davinci driver as an (maybe wrong?) example ;)
I would post it to the Beagle list and ask for some help there. Hopefully there are some experts which could help with U-Boot SPI."

regards,

Koen

--
You received this message because you are subscribed to the Google Groups "Beagle Board" group.
To post to this group, send email to beagl...@googlegroups.com.
To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.

0037-ARM-beagle-add-enc28j60-driver.patch
Reply all
Reply to author
Forward
0 new messages