diff options
author | Sekhar Nori <nsekhar@ti.com> | 2009-11-16 06:51:36 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-02-04 16:29:37 -0500 |
commit | e2da3aaa4254d9e79d9524190fc7e5f0cbdc3c33 (patch) | |
tree | 42d3637d038179ef69056713482bf4186d12c8a1 /arch/arm | |
parent | c94fa15ba2d736af786ac1e56686d41987b1aba0 (diff) |
davinci: make it possible to include clock.h and psc.h in assembly code
psc.h contains register defines for PSC module which
need to be accessed in assembly code which helps the
DA850/OMAP-L138 SoC go to sleep. Shutting down DDR clock
using PSC is a part of the sleep procedure.
Also, the PLL related hardware definitions in clock.h are
needed in assembly code to bypass the DDR2 PLL.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-davinci/clock.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/psc.h | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/arch/arm/mach-davinci/clock.h b/arch/arm/mach-davinci/clock.h index eca4d9972225..31fb6eac712c 100644 --- a/arch/arm/mach-davinci/clock.h +++ b/arch/arm/mach-davinci/clock.h | |||
@@ -12,9 +12,6 @@ | |||
12 | #ifndef __ARCH_ARM_DAVINCI_CLOCK_H | 12 | #ifndef __ARCH_ARM_DAVINCI_CLOCK_H |
13 | #define __ARCH_ARM_DAVINCI_CLOCK_H | 13 | #define __ARCH_ARM_DAVINCI_CLOCK_H |
14 | 14 | ||
15 | #include <linux/list.h> | ||
16 | #include <asm/clkdev.h> | ||
17 | |||
18 | #define DAVINCI_PLL1_BASE 0x01c40800 | 15 | #define DAVINCI_PLL1_BASE 0x01c40800 |
19 | #define DAVINCI_PLL2_BASE 0x01c40c00 | 16 | #define DAVINCI_PLL2_BASE 0x01c40c00 |
20 | #define MAX_PLL 2 | 17 | #define MAX_PLL 2 |
@@ -68,6 +65,11 @@ | |||
68 | */ | 65 | */ |
69 | #define PLL_LOCK_TIME 20 | 66 | #define PLL_LOCK_TIME 20 |
70 | 67 | ||
68 | #ifndef __ASSEMBLER__ | ||
69 | |||
70 | #include <linux/list.h> | ||
71 | #include <asm/clkdev.h> | ||
72 | |||
71 | struct pll_data { | 73 | struct pll_data { |
72 | u32 phys_base; | 74 | u32 phys_base; |
73 | void __iomem *base; | 75 | void __iomem *base; |
@@ -124,3 +126,5 @@ int davinci_set_pllrate(struct pll_data *pll, unsigned int prediv, | |||
124 | extern struct platform_device davinci_wdt_device; | 126 | extern struct platform_device davinci_wdt_device; |
125 | 127 | ||
126 | #endif | 128 | #endif |
129 | |||
130 | #endif | ||
diff --git a/arch/arm/mach-davinci/include/mach/psc.h b/arch/arm/mach-davinci/include/mach/psc.h index 2776b2356594..651f6d8158fa 100644 --- a/arch/arm/mach-davinci/include/mach/psc.h +++ b/arch/arm/mach-davinci/include/mach/psc.h | |||
@@ -191,8 +191,12 @@ | |||
191 | 191 | ||
192 | #define MDSTAT_STATE_MASK 0x1f | 192 | #define MDSTAT_STATE_MASK 0x1f |
193 | 193 | ||
194 | #ifndef __ASSEMBLER__ | ||
195 | |||
194 | extern int davinci_psc_is_clk_active(unsigned int ctlr, unsigned int id); | 196 | extern int davinci_psc_is_clk_active(unsigned int ctlr, unsigned int id); |
195 | extern void davinci_psc_config(unsigned int domain, unsigned int ctlr, | 197 | extern void davinci_psc_config(unsigned int domain, unsigned int ctlr, |
196 | unsigned int id, char enable); | 198 | unsigned int id, char enable); |
197 | 199 | ||
200 | #endif | ||
201 | |||
198 | #endif /* __ASM_ARCH_PSC_H */ | 202 | #endif /* __ASM_ARCH_PSC_H */ |