summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/pxa/pxa2xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/pxa/pxa2xx.c')
-rw-r--r--arch/arm/cpu/pxa/pxa2xx.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/arm/cpu/pxa/pxa2xx.c b/arch/arm/cpu/pxa/pxa2xx.c
index 0b28f0a3ef..002ff7988b 100644
--- a/arch/arm/cpu/pxa/pxa2xx.c
+++ b/arch/arm/cpu/pxa/pxa2xx.c
@@ -10,6 +10,8 @@
*/
#include <common.h>
+#include <cpu_func.h>
+#include <irq_func.h>
#include <asm/arch/pxa-regs.h>
#include <asm/io.h>
#include <asm/system.h>
@@ -39,13 +41,6 @@ int cleanup_before_linux(void)
return 0;
}
-void pxa_wait_ticks(int ticks)
-{
- writel(0, OSCR);
- while (readl(OSCR) < ticks)
- asm volatile("" : : : "memory");
-}
-
inline void writelrb(uint32_t val, uint32_t addr)
{
writel(val, addr);
@@ -136,8 +131,11 @@ void pxa2xx_dram_init(void)
writelrb(CONFIG_SYS_MDCNFG_VAL &
~(MDCNFG_DE0 | MDCNFG_DE1 | MDCNFG_DE2 | MDCNFG_DE3), MDCNFG);
+
/* Wait for the clock to the SDRAMs to stabilize, 100..200 usec. */
- pxa_wait_ticks(0x300);
+ writel(0, OSCR);
+ while (readl(OSCR) < 0x300)
+ asm volatile("" : : : "memory");
/*
* 8) Trigger a number (usually 8) refresh cycles by attempting