Lines Matching defs:pwrctrl
159 void spm_set_power_control(const struct pwr_ctrl *pwrctrl)
161 mmio_write_32(SPM_AP_STANBY_CON, (!pwrctrl->md32_req_mask << 21) |
162 (!pwrctrl->mfg_req_mask << 17) |
163 (!pwrctrl->disp_req_mask << 16) |
164 (!!pwrctrl->mcusys_idle_mask << 7) |
165 (!!pwrctrl->ca15top_idle_mask << 6) |
166 (!!pwrctrl->ca7top_idle_mask << 5) |
167 (!!pwrctrl->wfi_op << 4));
168 mmio_write_32(SPM_PCM_SRC_REQ, (!!pwrctrl->pcm_apsrc_req << 0));
172 (pwrctrl->srclkenai_mask ? CC_SRCLKENA_MASK_0 : 0));
174 mmio_write_32(SPM_SLEEP_CA15_WFI0_EN, !!pwrctrl->ca15_wfi0_en);
175 mmio_write_32(SPM_SLEEP_CA15_WFI1_EN, !!pwrctrl->ca15_wfi1_en);
176 mmio_write_32(SPM_SLEEP_CA15_WFI2_EN, !!pwrctrl->ca15_wfi2_en);
177 mmio_write_32(SPM_SLEEP_CA15_WFI3_EN, !!pwrctrl->ca15_wfi3_en);
178 mmio_write_32(SPM_SLEEP_CA7_WFI0_EN, !!pwrctrl->ca7_wfi0_en);
179 mmio_write_32(SPM_SLEEP_CA7_WFI1_EN, !!pwrctrl->ca7_wfi1_en);
180 mmio_write_32(SPM_SLEEP_CA7_WFI2_EN, !!pwrctrl->ca7_wfi2_en);
181 mmio_write_32(SPM_SLEEP_CA7_WFI3_EN, !!pwrctrl->ca7_wfi3_en);
184 void spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl)
188 if (pwrctrl->timer_val_cust == 0)
189 val = pwrctrl->timer_val ? pwrctrl->timer_val : PCM_TIMER_MAX;
191 val = pwrctrl->timer_val_cust;
196 if (pwrctrl->wake_src_cust == 0)
197 mask = pwrctrl->wake_src;
199 mask = pwrctrl->wake_src_cust;
201 if (pwrctrl->syspwreq_mask)
270 void spm_kick_pcm_to_run(struct pwr_ctrl *pwrctrl)
292 mmio_write_32(SPM_PCM_FLAGS, pwrctrl->pcm_flags);
295 (pwrctrl->infra_dcm_lock ? CC_LOCK_INFRA_DCM : 0));
298 (pwrctrl->r0_ctrl_en ? PCM_PWRIO_EN_R0 : 0) |
299 (pwrctrl->r7_ctrl_en ? PCM_PWRIO_EN_R7 : 0));