|
@@ -318,3 +318,70 @@ struct clkdm_ops omap3_clkdm_operations = {
|
|
|
/*
|
|
|
* Context save/restore code - OMAP3 only
|
|
|
*/
|
|
|
+struct omap3_cm_regs {
|
|
|
+ u32 iva2_cm_clksel1;
|
|
|
+ u32 iva2_cm_clksel2;
|
|
|
+ u32 cm_sysconfig;
|
|
|
+ u32 sgx_cm_clksel;
|
|
|
+ u32 dss_cm_clksel;
|
|
|
+ u32 cam_cm_clksel;
|
|
|
+ u32 per_cm_clksel;
|
|
|
+ u32 emu_cm_clksel;
|
|
|
+ u32 emu_cm_clkstctrl;
|
|
|
+ u32 pll_cm_autoidle;
|
|
|
+ u32 pll_cm_autoidle2;
|
|
|
+ u32 pll_cm_clksel4;
|
|
|
+ u32 pll_cm_clksel5;
|
|
|
+ u32 pll_cm_clken2;
|
|
|
+ u32 cm_polctrl;
|
|
|
+ u32 iva2_cm_fclken;
|
|
|
+ u32 iva2_cm_clken_pll;
|
|
|
+ u32 core_cm_fclken1;
|
|
|
+ u32 core_cm_fclken3;
|
|
|
+ u32 sgx_cm_fclken;
|
|
|
+ u32 wkup_cm_fclken;
|
|
|
+ u32 dss_cm_fclken;
|
|
|
+ u32 cam_cm_fclken;
|
|
|
+ u32 per_cm_fclken;
|
|
|
+ u32 usbhost_cm_fclken;
|
|
|
+ u32 core_cm_iclken1;
|
|
|
+ u32 core_cm_iclken2;
|
|
|
+ u32 core_cm_iclken3;
|
|
|
+ u32 sgx_cm_iclken;
|
|
|
+ u32 wkup_cm_iclken;
|
|
|
+ u32 dss_cm_iclken;
|
|
|
+ u32 cam_cm_iclken;
|
|
|
+ u32 per_cm_iclken;
|
|
|
+ u32 usbhost_cm_iclken;
|
|
|
+ u32 iva2_cm_autoidle2;
|
|
|
+ u32 mpu_cm_autoidle2;
|
|
|
+ u32 iva2_cm_clkstctrl;
|
|
|
+ u32 mpu_cm_clkstctrl;
|
|
|
+ u32 core_cm_clkstctrl;
|
|
|
+ u32 sgx_cm_clkstctrl;
|
|
|
+ u32 dss_cm_clkstctrl;
|
|
|
+ u32 cam_cm_clkstctrl;
|
|
|
+ u32 per_cm_clkstctrl;
|
|
|
+ u32 neon_cm_clkstctrl;
|
|
|
+ u32 usbhost_cm_clkstctrl;
|
|
|
+ u32 core_cm_autoidle1;
|
|
|
+ u32 core_cm_autoidle2;
|
|
|
+ u32 core_cm_autoidle3;
|
|
|
+ u32 wkup_cm_autoidle;
|
|
|
+ u32 dss_cm_autoidle;
|
|
|
+ u32 cam_cm_autoidle;
|
|
|
+ u32 per_cm_autoidle;
|
|
|
+ u32 usbhost_cm_autoidle;
|
|
|
+ u32 sgx_cm_sleepdep;
|
|
|
+ u32 dss_cm_sleepdep;
|
|
|
+ u32 cam_cm_sleepdep;
|
|
|
+ u32 per_cm_sleepdep;
|
|
|
+ u32 usbhost_cm_sleepdep;
|
|
|
+ u32 cm_clkout_ctrl;
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap3_cm_regs cm_context;
|
|
|
+
|
|
|
+void omap3_cm_save_context(void)
|
|
|
+{
|
|
|
+ cm_context.iva2_cm_clksel1 =
|