Re: [U-Boot] [PATCH] at91: Add arch_preboot_os which disables PIT in a faster way

2010-09-03 Thread Reinhard Meyer
Dear Alexander Stein,
> ...
> 
> Signed-off-by: Alexander Stein 
> ...
> + /*  Disble PITC
> +  * Add 0x1000 to current counter to stop it faster
> +  * without waiting for wrapping back to 0
> +  */
> + writel(cpiv + 0x1000, &pit->mr);
> ...

Please fix the multi-line comment.

Thanks, Reinhard

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] at91: Add arch_preboot_os which disables PIT in a faster way

2010-08-04 Thread Alexander Stein
When disabled the PIT runs until it reaches the CPIV value.
The Linux PIT driver stops the PIT and waits until it stopped. This can
take over 100ms. Simply stopping in u-boot isn't sufficient as the PIT
will still be running when Linux is waiting until it stopped.
So, we stop it in u-boot by setting the compare value to a value slightly
greater than the current running counter to make the PIT stopped in short
time.

Signed-off-by: Alexander Stein 
---
 arch/arm/cpu/arm926ejs/at91/cpu.c |   15 +++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/at91/cpu.c 
b/arch/arm/cpu/arm926ejs/at91/cpu.c
index 141a7d1..af86ee2 100644
--- a/arch/arm/cpu/arm926ejs/at91/cpu.c
+++ b/arch/arm/cpu/arm926ejs/at91/cpu.c
@@ -28,6 +28,7 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -47,6 +48,20 @@ int arch_cpu_init(void)
return at91_clock_init(CONFIG_SYS_AT91_MAIN_CLOCK);
 }
 
+void arch_preboot_os(void)
+{
+   ulong cpiv;
+   at91_pit_t *pit = (at91_pit_t *) AT91_PIT_BASE;
+
+   cpiv = AT91_PIT_MR_PIV_MASK(readl(&pit->piir));
+
+   /*  Disble PITC
+* Add 0x1000 to current counter to stop it faster
+* without waiting for wrapping back to 0
+*/
+   writel(cpiv + 0x1000, &pit->mr);
+}
+
 #if defined(CONFIG_DISPLAY_CPUINFO)
 int print_cpuinfo(void)
 {
-- 
1.7.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot