[U-Boot-Users] Bootp on PXA255 and resume from sleep

Matej Kupljen matej.kupljen at ultra.si
Tue May 11 11:50:56 CEST 2004


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





More information about the U-Boot mailing list