|
@@ -194,3 +194,64 @@ int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user),
|
|
|
void *user);
|
|
|
int pwrdm_for_each_nolock(int (*fn)(struct powerdomain *pwrdm, void *user),
|
|
|
void *user);
|
|
|
+
|
|
|
+int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm);
|
|
|
+int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm);
|
|
|
+int pwrdm_for_each_clkdm(struct powerdomain *pwrdm,
|
|
|
+ int (*fn)(struct powerdomain *pwrdm,
|
|
|
+ struct clockdomain *clkdm));
|
|
|
+struct voltagedomain *pwrdm_get_voltdm(struct powerdomain *pwrdm);
|
|
|
+
|
|
|
+int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm);
|
|
|
+
|
|
|
+int pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst);
|
|
|
+int pwrdm_read_next_pwrst(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_read_pwrst(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_read_prev_pwrst(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_clear_all_prev_pwrst(struct powerdomain *pwrdm);
|
|
|
+
|
|
|
+int pwrdm_set_logic_retst(struct powerdomain *pwrdm, u8 pwrst);
|
|
|
+int pwrdm_set_mem_onst(struct powerdomain *pwrdm, u8 bank, u8 pwrst);
|
|
|
+int pwrdm_set_mem_retst(struct powerdomain *pwrdm, u8 bank, u8 pwrst);
|
|
|
+
|
|
|
+int pwrdm_read_logic_pwrst(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_read_logic_retst(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_read_mem_pwrst(struct powerdomain *pwrdm, u8 bank);
|
|
|
+int pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank);
|
|
|
+int pwrdm_read_mem_retst(struct powerdomain *pwrdm, u8 bank);
|
|
|
+
|
|
|
+int pwrdm_enable_hdwr_sar(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm);
|
|
|
+bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm);
|
|
|
+
|
|
|
+int pwrdm_wait_transition(struct powerdomain *pwrdm);
|
|
|
+
|
|
|
+int pwrdm_state_switch(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_pre_transition(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_post_transition(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_set_lowpwrstchange(struct powerdomain *pwrdm);
|
|
|
+int pwrdm_get_context_loss_count(struct powerdomain *pwrdm);
|
|
|
+bool pwrdm_can_ever_lose_context(struct powerdomain *pwrdm);
|
|
|
+
|
|
|
+extern void omap242x_powerdomains_init(void);
|
|
|
+extern void omap243x_powerdomains_init(void);
|
|
|
+extern void omap3xxx_powerdomains_init(void);
|
|
|
+extern void am33xx_powerdomains_init(void);
|
|
|
+extern void omap44xx_powerdomains_init(void);
|
|
|
+
|
|
|
+extern struct pwrdm_ops omap2_pwrdm_operations;
|
|
|
+extern struct pwrdm_ops omap3_pwrdm_operations;
|
|
|
+extern struct pwrdm_ops am33xx_pwrdm_operations;
|
|
|
+extern struct pwrdm_ops omap4_pwrdm_operations;
|
|
|
+
|
|
|
+/* Common Internal functions used across OMAP rev's */
|
|
|
+extern u32 omap2_pwrdm_get_mem_bank_onstate_mask(u8 bank);
|
|
|
+extern u32 omap2_pwrdm_get_mem_bank_retst_mask(u8 bank);
|
|
|
+extern u32 omap2_pwrdm_get_mem_bank_stst_mask(u8 bank);
|
|
|
+
|
|
|
+extern struct powerdomain wkup_omap2_pwrdm;
|
|
|
+extern struct powerdomain gfx_omap2_pwrdm;
|
|
|
+
|
|
|
+
|
|
|
+#endif
|