diff options
author | Arnd Bergmann <arnd@arndb.de> | 2022-04-28 09:32:09 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2022-04-29 09:53:06 +0200 |
commit | ca31807b8506d261c884f152fc434a9dd7ccdf42 (patch) | |
tree | dc79468cad209f478e97d155b9b1810c35b25055 /arch/arm/mach-davinci/pm.h | |
parent | ARM: omap2: remove include/mach/ subdirectory (diff) | |
download | linux-ca31807b8506d261c884f152fc434a9dd7ccdf42.tar.xz linux-ca31807b8506d261c884f152fc434a9dd7ccdf42.zip |
ARM: davinci: remove include/mach/ subdirectory
The files in include/mach are only used from mach/davinci,
so they are no longer needed in the traditional location.
Move them to arch/arm/mach-davinci/ and drop the logic for
the special include path.
The mach/uncompress.h file is not used at all and can just
be removed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-davinci/pm.h')
-rw-r--r-- | arch/arm/mach-davinci/pm.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/pm.h b/arch/arm/mach-davinci/pm.h new file mode 100644 index 000000000000..5a5f0ecc0704 --- /dev/null +++ b/arch/arm/mach-davinci/pm.h @@ -0,0 +1,54 @@ +/* + * TI DaVinci platform support for power management. + * + * Copyright (C) 2009 Texas Instruments, Inc. https://www.ti.com/ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation version 2. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifndef _MACH_DAVINCI_PM_H +#define _MACH_DAVINCI_PM_H + +/* + * Caution: Assembly code in sleep.S makes assumtion on the order + * of the members of this structure. + */ +struct davinci_pm_config { + void __iomem *ddr2_ctlr_base; + void __iomem *ddrpsc_reg_base; + int ddrpsc_num; + void __iomem *ddrpll_reg_base; + void __iomem *deepsleep_reg; + void __iomem *cpupll_reg_base; + /* + * Note on SLEEPCOUNT: + * The SLEEPCOUNT feature is mainly intended for cases in which + * the internal oscillator is used. The internal oscillator is + * fully disabled in deep sleep mode. When you exist deep sleep + * mode, the oscillator will be turned on and will generate very + * small oscillations which will not be detected by the deep sleep + * counter. Eventually those oscillations will grow to an amplitude + * large enough to start incrementing the deep sleep counter. + * In this case recommendation from hardware engineers is that the + * SLEEPCOUNT be set to 4096. This means that 4096 valid clock cycles + * must be detected before the clock is passed to the rest of the + * system. + * In the case that the internal oscillator is not used and the + * clock is generated externally, the SLEEPCOUNT value can be very + * small since the clock input is assumed to be stable before SoC + * is taken out of deepsleep mode. A value of 128 would be more than + * adequate. + */ + int sleepcount; +}; + +extern unsigned int davinci_cpu_suspend_sz; +extern void davinci_cpu_suspend(struct davinci_pm_config *); + +#endif |