|
@@ -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;
|