
Dear Ben Warren,
In message 1250145251-23438-1-git-send-email-biggerbadderben@gmail.com you wrote:
All in-tree boards that use this controller have CONFIG_NET_MULTI added Also:
- changed CONFIG_DRIVER_CS8900 to CONFIG_CS8900
- changed CS8900_BASE to CONFIG_CS8900_BASE
- changed CS8900_BUS?? to CONFIG_CS8900_BUS??
- cleaned up line lengths
- modified VCMA9 command function that accesses the device
- removed MAC address initialization from lib_arm/board.c
Signed-off-by: Ben Warren biggerbadderben@gmail.com
v2: Fixed typo: CS8900_BUS32 -> CONFIG_CS8900_BUS32 Added more descriptive printf in cs8900_init as suggested by Wolfgang Initialize 'priv' data structure in cs8900_initialize()
Thanks. That's better, but no cigar yet.
I now get this:
TRAB # run load Using CS8900-0 device TFTP from server 192.168.1.1; our IP address is 192.168.3.68 Filename 'trab/u-boot.bin-wd'. Load address: 0xc100000 Loading: data abort pc : [<0df6b254>] lr : [<0df4c694>] sp : 0df1bb74 ip : 00000004 fp : 0000083c r10: 0df79ca0 r9 : 000000c0 r8 : 0df1bfd8 r7 : 0df1c100 r6 : 0df1c140 r5 : 0000002a r4 : 0000005c r3 : 07000300 r2 : 0000002a r1 : 0df79ca0 r0 : 0df1c100 Flags: nzCv IRQs off FIQs off Mode SVC_32 Resetting CPU ...
Decoding PC and LR gives:
PC: 0x0df6b254 -- 0x0df6b228 + 0x002c cs8900_send LR: 0x0df4c694 -- 0x0df4c668 + 0x002c eth_send
Placing a few printf()s indicates that it crashes in the writel() following the rety: label. Looking at the code, the "&priv->regs->txcmd" looks a bit fishy to me. I played around a bit (guessing for "priv->regs->txcmd" and "&(priv->regs->txcmd)" but this doesn't change behaviour.
Best regards,
Wolfgang Denk