Lines Matching +full:vp +full:- +full:p

1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2011-2012 Texas Instruments, Inc.
24 #include "vp.h"
27 #include "prm-regbits-44xx.h"
67 * omap44xx_prm_reset_src_map - map from bits in the PRM_RSTST
69 * source ID bit shifts (which is an OMAP SoC-independent
90 { -1, -1 },
93 /* PRM low-level functions */
107 /* Read-modify-write a register in a PRM module. Caller must lock */
120 /* PRM VP */
123 * struct omap4_vp - OMAP4 VP register access description.
124 * @irqstatus_mpu: offset to IRQSTATUS_MPU register for VP
149 struct omap4_vp *vp = &omap4_vp[vp_id]; in omap4_prm_vp_check_txdone() local
154 vp->irqstatus_mpu); in omap4_prm_vp_check_txdone()
155 return irqstatus & vp->tranxdone_status; in omap4_prm_vp_check_txdone()
160 struct omap4_vp *vp = &omap4_vp[vp_id]; in omap4_prm_vp_clear_txdone() local
162 omap4_prminst_write_inst_reg(vp->tranxdone_status, in omap4_prm_vp_clear_txdone()
165 vp->irqstatus_mpu); in omap4_prm_vp_clear_txdone()
216 * omap44xx_prm_read_pending_irqs - read pending PRM MPU IRQs into @events
219 * Read PRM_IRQSTATUS_MPU* bits, AND'ed with the currently-enabled PRM
233 * omap44xx_prm_ocp_barrier - force buffered MPU writes to the PRM to complete
247 * omap44xx_prm_save_and_clear_irqen - save/clear PRM_IRQENABLE_MPU* regs
277 * omap44xx_prm_restore_irqen - set PRM_IRQENABLE_MPU* registers from args
297 * omap44xx_prm_reconfigure_io_chain - clear latches and reconfigure I/O chain
299 * Clear any previously-latched I/O wakeup events and ensure that the
344 * omap44xx_prm_enable_io_wakeup - enable wakeup events from I/O wakeup latches
365 * omap44xx_prm_read_reset_sources - return the last SoC reset source
372 struct prm_reset_src_map *p; in omap44xx_prm_read_reset_sources() local
384 p = omap44xx_prm_reset_src_map; in omap44xx_prm_read_reset_sources()
385 while (p->reg_shift >= 0 && p->std_shift >= 0) { in omap44xx_prm_read_reset_sources()
386 if (v & (1 << p->reg_shift)) in omap44xx_prm_read_reset_sources()
387 r |= 1 << p->std_shift; in omap44xx_prm_read_reset_sources()
388 p++; in omap44xx_prm_read_reset_sources()
395 * omap44xx_prm_was_any_context_lost_old - was module hardware context lost?
410 * omap44xx_prm_clear_context_loss_flags_old - clear context loss flags
425 /* Powerdomain low-level functions */
431 pwrdm->prcm_partition, in omap4_pwrdm_set_next_pwrst()
432 pwrdm->prcm_offs, OMAP4_PM_PWSTCTRL); in omap4_pwrdm_set_next_pwrst()
440 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_next_pwrst()
452 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_pwrst()
464 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_prev_pwrst()
476 pwrdm->prcm_partition, in omap4_pwrdm_set_lowpwrstchange()
477 pwrdm->prcm_offs, OMAP4_PM_PWSTCTRL); in omap4_pwrdm_set_lowpwrstchange()
485 pwrdm->prcm_partition, in omap4_pwrdm_clear_all_prev_pwrst()
486 pwrdm->prcm_offs, OMAP4_PM_PWSTST); in omap4_pwrdm_clear_all_prev_pwrst()
496 pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_set_logic_retst()
510 pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_set_mem_onst()
524 pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_set_mem_retst()
534 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_logic_pwrst()
546 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_logic_retst()
555 * omap4_pwrdm_read_prev_logic_pwrst - read the previous logic powerstate
588 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_mem_pwrst()
602 v = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, pwrdm->prcm_offs, in omap4_pwrdm_read_mem_retst()
611 * omap4_pwrdm_read_prev_mem_pwrst - reads the previous memory powerstate
645 * via a callback and a periodic timer check -- how long do we expect in omap4_pwrdm_wait_transition()
650 while ((omap4_prminst_read_inst_reg(pwrdm->prcm_partition, in omap4_pwrdm_wait_transition()
651 pwrdm->prcm_offs, in omap4_pwrdm_wait_transition()
659 pwrdm->name); in omap4_pwrdm_wait_transition()
660 return -EAGAIN; in omap4_pwrdm_wait_transition()
677 * omap4_pwrdm_save_context - Saves the powerdomain state
685 pwrdm->context = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, in omap4_pwrdm_save_context()
686 pwrdm->prcm_offs, in omap4_pwrdm_save_context()
687 pwrdm->pwrstctrl_offs); in omap4_pwrdm_save_context()
693 pwrdm->context &= ~OMAP4430_LOWPOWERSTATECHANGE_MASK; in omap4_pwrdm_save_context()
697 * omap4_pwrdm_restore_context - Restores the powerdomain state
707 st = omap4_prminst_read_inst_reg(pwrdm->prcm_partition, in omap4_pwrdm_restore_context()
708 pwrdm->prcm_offs, in omap4_pwrdm_restore_context()
709 pwrdm->pwrstctrl_offs); in omap4_pwrdm_restore_context()
711 omap4_prminst_write_inst_reg(pwrdm->context, in omap4_pwrdm_restore_context()
712 pwrdm->prcm_partition, in omap4_pwrdm_restore_context()
713 pwrdm->prcm_offs, in omap4_pwrdm_restore_context()
714 pwrdm->pwrstctrl_offs); in omap4_pwrdm_restore_context()
718 ctrl = OMAP_POWERSTATEST_MASK & pwrdm->context; in omap4_pwrdm_restore_context()
811 if (data->flags & PRM_HAS_IO_WAKEUP) in omap44xx_prm_init()
814 if (data->flags & PRM_HAS_VOLTAGE) in omap44xx_prm_init()
817 omap4_prminst_set_prm_dev_inst(data->device_inst_offset); in omap44xx_prm_init()
820 if (of_device_is_compatible(data->np, "ti,am4-prcm")) { in omap44xx_prm_init()
828 /* Only AM43XX can lose prm context during rtc-ddr suspend */ in omap44xx_prm_init()
844 irq_num = of_irq_get(prm_init_data->np, 0); in omap44xx_prm_late_init()
845 if (irq_num == -EPROBE_DEFER) in omap44xx_prm_late_init()