[U-Boot-Users] PXA resume

Hi
I've implemented resume into the U-Boot which can resume Linux from sleep, but I have a "strange bug". Maybe someone have seen this and can help me.
We have two identical development boards, the only difference is the amount of SDRAM on board. One has 32MB and the other one has 64 MB of SDRAM. When configuring the memory controller the code checks the value of the DIP switch on board and configures the memory controller for 32 MB or 64 MB of SDRAM. The difference between those configurations is, that when configuring for 64 MB I have to turn on the SA1111 addressing (in the MDCNFG), the refresh interval and the number of row address bits.
I can resume the board with the 32 MB, but cannot resume the board with the 64 MB. If I add a single NOP instruction (or any other instruction, like LDR, MOV, ...) before (or just after) the code that reads the value of the DIP switch, I can resume the board with 64 MB and not the board with 32 MB.
I have attached the memsetup.S.
What might be wrong?
Regards, Matej
participants (1)
-
Matej Kupljen