From: 黄涛 Date: Tue, 15 May 2012 06:52:03 +0000 (+0800) Subject: rk30: sram: add sram_32k_udelay support deep slow mode delay X-Git-Tag: firefly_0821_release~9184 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bed915e3c8094a8b3655d6cf33900d48c385bc4c;p=firefly-linux-kernel-4.4.55.git rk30: sram: add sram_32k_udelay support deep slow mode delay --- diff --git a/arch/arm/mach-rk30/include/mach/sram.h b/arch/arm/mach-rk30/include/mach/sram.h index a236fb8ab1a7..eba76bccf64d 100644 --- a/arch/arm/mach-rk30/include/mach/sram.h +++ b/arch/arm/mach-rk30/include/mach/sram.h @@ -4,8 +4,10 @@ #include #define SRAM_LOOPS_PER_USEC 24 -#define SRAM_LOOP(loops) do { unsigned int i = loops; barrier(); while (--i) barrier(); } while (0) +#define SRAM_LOOP(loops) do { unsigned int i = (loops); if (i < 7) i = 7; barrier(); while (--i) barrier(); } while (0) /* delay on slow mode */ #define sram_udelay(usecs) SRAM_LOOP((usecs)*SRAM_LOOPS_PER_USEC) +/* delay on deep slow mode */ +#define sram_32k_udelay(usecs) SRAM_LOOP(((usecs)*SRAM_LOOPS_PER_USEC)/(24000000/32768)) #endif