cm3xxx.c (bf61c8840efe60fd8f91446860b63338fb424158) cm3xxx.c (c6a2d839d0dba8a06f55c7b06f8ce33bdbe4aea3)
1/*
2 * OMAP3xxx CM module functions
3 *
4 * Copyright (C) 2009 Nokia Corporation
5 * Copyright (C) 2008-2010, 2012 Texas Instruments, Inc.
6 * Paul Walmsley
7 * Rajendra Nayak <rnayak@ti.com>
8 *

--- 622 unchanged lines hidden (view full) ---

631 omap2_cm_write_mod_reg(cm_context.per_cm_sleepdep, OMAP3430_PER_MOD,
632 OMAP3430_CM_SLEEPDEP);
633 omap2_cm_write_mod_reg(cm_context.usbhost_cm_sleepdep,
634 OMAP3430ES2_USBHOST_MOD, OMAP3430_CM_SLEEPDEP);
635 omap2_cm_write_mod_reg(cm_context.cm_clkout_ctrl, OMAP3430_CCR_MOD,
636 OMAP3_CM_CLKOUT_CTRL_OFFSET);
637}
638
1/*
2 * OMAP3xxx CM module functions
3 *
4 * Copyright (C) 2009 Nokia Corporation
5 * Copyright (C) 2008-2010, 2012 Texas Instruments, Inc.
6 * Paul Walmsley
7 * Rajendra Nayak <rnayak@ti.com>
8 *

--- 622 unchanged lines hidden (view full) ---

631 omap2_cm_write_mod_reg(cm_context.per_cm_sleepdep, OMAP3430_PER_MOD,
632 OMAP3430_CM_SLEEPDEP);
633 omap2_cm_write_mod_reg(cm_context.usbhost_cm_sleepdep,
634 OMAP3430ES2_USBHOST_MOD, OMAP3430_CM_SLEEPDEP);
635 omap2_cm_write_mod_reg(cm_context.cm_clkout_ctrl, OMAP3430_CCR_MOD,
636 OMAP3_CM_CLKOUT_CTRL_OFFSET);
637}
638
639void omap3_cm_save_scratchpad_contents(u32 *ptr)
640{
641 *ptr++ = omap2_cm_read_mod_reg(CORE_MOD, CM_CLKSEL);
642 *ptr++ = omap2_cm_read_mod_reg(WKUP_MOD, CM_CLKSEL);
643 *ptr++ = omap2_cm_read_mod_reg(PLL_MOD, CM_CLKEN);
644
645 /*
646 * As per erratum i671, ROM code does not respect the PER DPLL
647 * programming scheme if CM_AUTOIDLE_PLL..AUTO_PERIPH_DPLL == 1.
648 * Then, in anycase, clear these bits to avoid extra latencies.
649 */
650 *ptr++ = omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE) &
651 ~OMAP3430_AUTO_PERIPH_DPLL_MASK;
652 *ptr++ = omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL1_PLL);
653 *ptr++ = omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL2_PLL);
654 *ptr++ = omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL3);
655 *ptr++ = omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKEN_PLL);
656 *ptr++ = omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_AUTOIDLE_PLL);
657 *ptr++ = omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKSEL1_PLL);
658 *ptr++ = omap2_cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKSEL2_PLL);
659}
660
639/*
640 *
641 */
642
643static struct cm_ll_data omap3xxx_cm_ll_data = {
644 .split_idlest_reg = &omap3xxx_cm_split_idlest_reg,
645 .wait_module_ready = &omap3xxx_cm_wait_module_ready,
646};

--- 19 unchanged lines hidden ---
661/*
662 *
663 */
664
665static struct cm_ll_data omap3xxx_cm_ll_data = {
666 .split_idlest_reg = &omap3xxx_cm_split_idlest_reg,
667 .wait_module_ready = &omap3xxx_cm_wait_module_ready,
668};

--- 19 unchanged lines hidden ---