Lines Matching defs:powerdomain
3 * OMAP2/3/4 powerdomain control
43 * Powerdomain flags (struct powerdomain.flags)
45 * PWRDM_HAS_HDWR_SAR - powerdomain has hardware save-and-restore support
51 * to a lower sleep state without waking up the powerdomain
64 * Maximum number of clockdomains that can be associated with a powerdomain.
65 * PER powerdomain on AM33XX is the worst case
73 struct powerdomain;
77 * struct powerdomain - OMAP powerdomain
79 * @voltdm: voltagedomain containing this powerdomain
82 * @pwrsts: Possible powerdomain power states
85 * @banks: Number of software-controllable memory banks in this powerdomain
88 * @pwrdm_clkdms: Clockdomains in this powerdomain
104 * @_lock: spinlock used to serialize powerdomain and some clockdomain ops
109 struct powerdomain {
170 * chips, a powerdomain's power state is not allowed to directly
173 * powerdomain. This wastes energy. So OMAP4 chips support the
174 * ability to transition a powerdomain power state directly from one
177 * hardware powerdomain state machine to enable this feature.
180 int (*pwrdm_set_next_pwrst)(struct powerdomain *pwrdm, u8 pwrst);
181 int (*pwrdm_read_next_pwrst)(struct powerdomain *pwrdm);
182 int (*pwrdm_read_pwrst)(struct powerdomain *pwrdm);
183 int (*pwrdm_read_prev_pwrst)(struct powerdomain *pwrdm);
184 int (*pwrdm_set_logic_retst)(struct powerdomain *pwrdm, u8 pwrst);
185 int (*pwrdm_set_mem_onst)(struct powerdomain *pwrdm, u8 bank, u8 pwrst);
186 int (*pwrdm_set_mem_retst)(struct powerdomain *pwrdm, u8 bank, u8 pwrst);
187 int (*pwrdm_read_logic_pwrst)(struct powerdomain *pwrdm);
188 int (*pwrdm_read_prev_logic_pwrst)(struct powerdomain *pwrdm);
189 int (*pwrdm_read_logic_retst)(struct powerdomain *pwrdm);
190 int (*pwrdm_read_mem_pwrst)(struct powerdomain *pwrdm, u8 bank);
191 int (*pwrdm_read_prev_mem_pwrst)(struct powerdomain *pwrdm, u8 bank);
192 int (*pwrdm_read_mem_retst)(struct powerdomain *pwrdm, u8 bank);
193 int (*pwrdm_clear_all_prev_pwrst)(struct powerdomain *pwrdm);
194 int (*pwrdm_enable_hdwr_sar)(struct powerdomain *pwrdm);
195 int (*pwrdm_disable_hdwr_sar)(struct powerdomain *pwrdm);
196 int (*pwrdm_set_lowpwrstchange)(struct powerdomain *pwrdm);
197 int (*pwrdm_wait_transition)(struct powerdomain *pwrdm);
199 void (*pwrdm_save_context)(struct powerdomain *pwrdm);
200 void (*pwrdm_restore_context)(struct powerdomain *pwrdm);
204 int pwrdm_register_pwrdms(struct powerdomain **pwrdm_list);
207 struct powerdomain *pwrdm_lookup(const char *name);
209 int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user),
212 int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm);
214 int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm);
216 u8 pwrdm_get_valid_lp_state(struct powerdomain *pwrdm,
219 int pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst);
220 int pwrdm_read_next_pwrst(struct powerdomain *pwrdm);
221 int pwrdm_read_pwrst(struct powerdomain *pwrdm);
222 int pwrdm_read_prev_pwrst(struct powerdomain *pwrdm);
223 int pwrdm_clear_all_prev_pwrst(struct powerdomain *pwrdm);
225 int pwrdm_set_logic_retst(struct powerdomain *pwrdm, u8 pwrst);
226 int pwrdm_set_mem_onst(struct powerdomain *pwrdm, u8 bank, u8 pwrst);
227 int pwrdm_set_mem_retst(struct powerdomain *pwrdm, u8 bank, u8 pwrst);
229 int pwrdm_read_logic_pwrst(struct powerdomain *pwrdm);
230 int pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm);
231 int pwrdm_read_logic_retst(struct powerdomain *pwrdm);
232 int pwrdm_read_mem_pwrst(struct powerdomain *pwrdm, u8 bank);
233 int pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank);
234 int pwrdm_read_mem_retst(struct powerdomain *pwrdm, u8 bank);
236 int pwrdm_enable_hdwr_sar(struct powerdomain *pwrdm);
237 int pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm);
238 bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm);
240 int pwrdm_state_switch_nolock(struct powerdomain *pwrdm);
241 int pwrdm_state_switch(struct powerdomain *pwrdm);
242 int pwrdm_pre_transition(struct powerdomain *pwrdm);
243 int pwrdm_post_transition(struct powerdomain *pwrdm);
245 extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u8 state);
266 extern struct powerdomain wkup_omap2_pwrdm;
267 extern struct powerdomain gfx_omap2_pwrdm;
269 extern void pwrdm_lock(struct powerdomain *pwrdm);
270 extern void pwrdm_unlock(struct powerdomain *pwrdm);