
Hi
I am using U-Boot 1.0.2 on our custom platform which is based on the PXA255 and we use SMSC LAN91c96 ethernet chip. When I use "bootp" all I get are timeouts. I checked the code and I found the problem is in the udelay() located in the cpu/pxa/interrupts.c
Did you have a look at a more recent version of U-Boot? This problem is believed to be fixed.
No. Tried with the CVS version. Here is the log: ----------------------------------------------------------------------- U-Boot 1.1.2 (May 11 2004 - 11:28:32)
U-Boot code: A1F00000 -> A1F1984C BSS: -> A1F4DB80 RAM Configuration: Bank #0: a0000000 32 MB Flash: 2 MB *** Warning - bad CRC, using default environment
Bolfenk> bootp BOOTP broadcast 1 TFTP from server 172.18.1.53; our IP address is 172.18.1.18 Filename '/home/matej/Projects/bolfenk/images/uzImage'. Load address: 0xa1000000 Loading: T #T T T T T T T T T Retry count exceeded; starting again BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5
Retry count exceeded; starting again BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5
Retry count exceeded; starting again BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5
Abort Bolfenk> -----------------------------------------------------------------------
When I replace the get_timer_masked: ----------------------------------------------------------------------- Bolfenk> bootp BOOTP broadcast 1 TFTP from server 172.18.1.53; our IP address is 172.18.1.18 Filename '/home/matej/Projects/bolfenk/images/uzImage'. Load address: 0xa1000000 Loading: #################################################################
################################################################# ###### done Bytes transferred = 693416 (a94a8 hex) Bolfenk> -----------------------------------------------------------------------
Where is the best place to check if this is reset due to Hardware reset or due to WakeUp event? In memsetup.S?
Ask yourself: has this anything to do with setting up the memory controller? ==> No!
Actually, IMHO it does. If you followed the ARM maling list, message PXA255 Resume, they talked about not touching the GPIO registers during resume. And since the GPIO registers are modified in the memsetup.S, this code should be aware of resume.
Also I found some "hints" on the WEB, qoute: " Second, your bootloader must find out if he got called because of a Hardware or Awake event. This can be done by checking RCSR. If RCSR_SMR is set, you> should load the value of PSPR to the PC. This can be all done in u-boot/boards/<yours>/memsetup.S "
What do you suggest? Maybe in cpu/pxa/start.S, just after the call to the memsetup in cpu_init_crit, before the MMU gets disbaled?
Thank you and best regards, Matej