forked from luck/tmp_suning_uos_patched
ARM: OMAP: add support for oscillator setup
This contains startup and shutdown times for the oscillator. By default use ULONG_MAX. Oscillator setup is used for calculating and setting up latencies for sleep modes that disable oscillator. Based on a patch from Nishanth Menon <nm@ti.com>. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
parent
9a1729cbaa
commit
908b75e850
@ -39,6 +39,36 @@ static struct omap_device_pm_latency *pm_lats;
|
||||
*/
|
||||
int (*omap_pm_suspend)(void);
|
||||
|
||||
/**
|
||||
* struct omap2_oscillator - Describe the board main oscillator latencies
|
||||
* @startup_time: oscillator startup latency
|
||||
* @shutdown_time: oscillator shutdown latency
|
||||
*/
|
||||
struct omap2_oscillator {
|
||||
u32 startup_time;
|
||||
u32 shutdown_time;
|
||||
};
|
||||
|
||||
static struct omap2_oscillator oscillator = {
|
||||
.startup_time = ULONG_MAX,
|
||||
.shutdown_time = ULONG_MAX,
|
||||
};
|
||||
|
||||
void omap_pm_setup_oscillator(u32 tstart, u32 tshut)
|
||||
{
|
||||
oscillator.startup_time = tstart;
|
||||
oscillator.shutdown_time = tshut;
|
||||
}
|
||||
|
||||
void omap_pm_get_oscillator(u32 *tstart, u32 *tshut)
|
||||
{
|
||||
if (!tstart || !tshut)
|
||||
return;
|
||||
|
||||
*tstart = oscillator.startup_time;
|
||||
*tshut = oscillator.shutdown_time;
|
||||
}
|
||||
|
||||
static int __init _init_omap_device(char *name)
|
||||
{
|
||||
struct omap_hwmod *oh;
|
||||
|
@ -129,4 +129,12 @@ static inline int omap4_twl_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
extern void omap_pm_setup_oscillator(u32 tstart, u32 tshut);
|
||||
extern void omap_pm_get_oscillator(u32 *tstart, u32 *tshut);
|
||||
#else
|
||||
static inline void omap_pm_setup_oscillator(u32 tstart, u32 tshut) { }
|
||||
static inline void omap_pm_get_oscillator(u32 *tstart, u32 *tshut) { }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user