Lines Matching +full:dsp +full:- +full:standby
1 // SPDX-License-Identifier: GPL-2.0-only
6 * Copyright (C) 2008-2010, 2012 Texas Instruments, Inc.
21 #include "cm-regbits-24xx.h"
99 * omap2xxx_cm_split_idlest_reg - split CM_IDLEST reg addr into its components
115 idlest_offs = idlest_reg->offset & 0xff; in omap2xxx_cm_split_idlest_reg()
124 return -EINVAL; in omap2xxx_cm_split_idlest_reg()
126 offs = idlest_reg->offset; in omap2xxx_cm_split_idlest_reg()
138 * omap2xxx_cm_wait_module_ready - wait for a module to leave idle or standby
146 * success or -EBUSY if the module doesn't enable in time.
156 return -EINVAL; in omap2xxx_cm_wait_module_ready()
158 cm_idlest_reg = omap2xxx_cm_idlest_offs[idlest_id - 1]; in omap2xxx_cm_wait_module_ready()
166 return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; in omap2xxx_cm_wait_module_ready()
169 /* Clockdomain low-level functions */
173 omap2xxx_cm_clkdm_enable_hwsup(clkdm->pwrdm.ptr->prcm_offs, in omap2xxx_clkdm_allow_idle()
174 clkdm->clktrctrl_mask); in omap2xxx_clkdm_allow_idle()
179 omap2xxx_cm_clkdm_disable_hwsup(clkdm->pwrdm.ptr->prcm_offs, in omap2xxx_clkdm_deny_idle()
180 clkdm->clktrctrl_mask); in omap2xxx_clkdm_deny_idle()
187 if (!clkdm->clktrctrl_mask) in omap2xxx_clkdm_clk_enable()
190 hwsup = omap2xxx_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, in omap2xxx_clkdm_clk_enable()
191 clkdm->clktrctrl_mask); in omap2xxx_clkdm_clk_enable()
192 if (!hwsup && clkdm->flags & CLKDM_CAN_FORCE_WAKEUP) in omap2xxx_clkdm_clk_enable()
202 if (!clkdm->clktrctrl_mask) in omap2xxx_clkdm_clk_disable()
205 hwsup = omap2xxx_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, in omap2xxx_clkdm_clk_disable()
206 clkdm->clktrctrl_mask); in omap2xxx_clkdm_clk_disable()
208 if (!hwsup && clkdm->flags & CLKDM_CAN_FORCE_SLEEP) in omap2xxx_clkdm_clk_disable()
270 void omap2xxx_cm_set_mod_dividers(u32 mpu, u32 dsp, u32 gfx, u32 core, u32 mdm) in omap2xxx_cm_set_mod_dividers() argument
275 omap2_cm_write_mod_reg(dsp, OMAP24XX_DSP_MOD, CM_CLKSEL); in omap2xxx_cm_set_mod_dividers()