Lines Matching +full:irq +full:- +full:can +full:- +full:wake
1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2010-2012 Texas Instruments, Inc.
16 #include <linux/irq.h>
26 #include "prm-regbits-34xx.h"
28 #include "cm-regbits-34xx.h"
48 .irq = 11 + OMAP_INTC_START,
57 * omap3_prm_reset_src_map - map from bits in the PRM_RSTST hardware
59 * bit shifts (which is an OMAP SoC-independent enumeration)
74 { -1, -1 },
80 * struct omap3_vp - OMAP3 VP register access description.
105 return irqstatus & vp->tranxdone_status; in omap3_prm_vp_check_txdone()
112 omap2_prm_write_mod_reg(vp->tranxdone_status, in omap3_prm_vp_clear_txdone()
132 * omap3xxx_prm_dpll3_reset - use DPLL3 reset to reboot the OMAP SoC
147 * omap3xxx_prm_read_pending_irqs - read pending PRM MPU IRQs into @events
150 * Read PRM_IRQSTATUS_MPU bits, AND'ed with the currently-enabled PRM
158 /* XXX Can the mask read be avoided (e.g., can it come from RAM?) */ in omap3xxx_prm_read_pending_irqs()
166 * omap3xxx_prm_ocp_barrier - force buffered MPU writes to the PRM to complete
169 * by the PRM IRQ handler, which reads and writes directly to the IP
170 * block, to avoid race conditions after acknowledging or clearing IRQ
179 * omap3xxx_prm_save_and_clear_irqen - save/clear PRM_IRQENABLE_MPU reg
200 * omap3xxx_prm_restore_irqen - set PRM_IRQENABLE_MPU register from args
216 * omap3xxx_prm_clear_mod_irqs - clear wake-up events from PRCM interrupt
221 * The purpose of this function is to clear any wake-up events latched
222 * in the PRCM PM_WKST_x registers. It is possible that a wake-up event
225 * that any peripheral wake-up events occurring while attempting to
249 * HOST2 woke us up, so enable both f-clocks in omap3xxx_prm_clear_mod_irqs()
267 * omap3_prm_reset_modem - toggle reset signal for modem
282 * omap3_prm_init_pm - initialize PM related registers for PRM
338 /* and allow them to wake up MPU */ in omap3_prm_init_pm()
380 * omap3430_pre_es3_1_reconfigure_io_chain - restart wake-up daisy chain
383 * thing we can do is toggle EN_IO bit for earlier omaps.
395 * omap3_prm_reconfigure_io_chain - clear latches and reconfigure I/O chain
397 * Clear any previously-latched I/O wakeup events and ensure that the
426 * omap3xxx_prm_enable_io_wakeup - enable wakeup events from I/O wakeup latches
442 * omap3xxx_prm_read_reset_sources - return the last SoC reset source
456 while (p->reg_shift >= 0 && p->std_shift >= 0) { in omap3xxx_prm_read_reset_sources()
457 if (v & (1 << p->reg_shift)) in omap3xxx_prm_read_reset_sources()
458 r |= 1 << p->std_shift; in omap3xxx_prm_read_reset_sources()
466 * omap3xxx_prm_iva_idle - ensure IVA is in idle so it can be put into retention
469 * full-chip retention or off-mode because it is not idle. This
470 * function forces the IVA2 into idle state so it can go
471 * into retention/off and thus allow full-chip retention/off.
493 /* Un-reset IVA2 */ in omap3xxx_prm_iva_idle()
507 * omap3xxx_prm_clear_global_cold_reset - checks the global cold reset status
510 * Checks if cold-reset has occurred and clears the status bit if yes. Returns
511 * 1 if cold-reset has occurred, 0 otherwise.
535 /* Powerdomain low-level functions */
541 pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL); in omap3_pwrdm_set_next_pwrst()
547 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_next_pwrst()
554 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_pwrst()
562 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_prev_pwrst()
569 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_logic_pwrst()
576 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_logic_retst()
583 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_prev_logic_pwrst()
601 return -EEXIST; in omap3_get_mem_bank_lastmemst_mask()
612 return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs, in omap3_pwrdm_read_prev_mem_pwrst()
618 omap2_prm_write_mod_reg(0, pwrdm->prcm_offs, OMAP3430_PM_PREPWSTST); in omap3_pwrdm_clear_all_prev_pwrst()
626 pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL); in omap3_pwrdm_enable_hdwr_sar()
632 0, pwrdm->prcm_offs, in omap3_pwrdm_disable_hdwr_sar()
685 { .compatible = "ti,omap3-prm" },
708 return -ENODEV; in omap3xxx_prm_late_init()
713 if (irq_num == -EPROBE_DEFER) in omap3xxx_prm_late_init()
716 omap3_prcm_irq_setup.irq = irq_num; in omap3xxx_prm_late_init()