Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83521291 authored by Jean Pihet's avatar Jean Pihet Committed by Kevin Hilman
Browse files

OMAP3: add comments for low power code errata



Errata covered:
- 1.157 & 1.185
- i443
- i581

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: default avatarNishanth Menon <nm@ti.com>
Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
parent f7dfe3d8
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -146,7 +146,7 @@ static void omap3_core_save_context(void)


	/*
	/*
	 * Force write last pad into memory, as this can fail in some
	 * Force write last pad into memory, as this can fail in some
	 * cases according to erratas 1.157, 1.185
	 * cases according to errata 1.157, 1.185
	 */
	 */
	omap_ctrl_writel(omap_ctrl_readl(OMAP343X_PADCONF_ETK_D14),
	omap_ctrl_writel(omap_ctrl_readl(OMAP343X_PADCONF_ETK_D14),
		OMAP343X_CONTROL_MEM_WKUP + 0x2a0);
		OMAP343X_CONTROL_MEM_WKUP + 0x2a0);
@@ -433,7 +433,7 @@ void omap_sram_idle(void)
	/*
	/*
	* On EMU/HS devices ROM code restores a SRDC value
	* On EMU/HS devices ROM code restores a SRDC value
	* from scratchpad which has automatic self refresh on timeout
	* from scratchpad which has automatic self refresh on timeout
	* of AUTO_CNT = 1 enabled. This takes care of errata 1.142.
	* of AUTO_CNT = 1 enabled. This takes care of erratum ID i443.
	* Hence store/restore the SDRC_POWER register here.
	* Hence store/restore the SDRC_POWER register here.
	*/
	*/
	if (omap_rev() >= OMAP3430_REV_ES3_0 &&
	if (omap_rev() >= OMAP3430_REV_ES3_0 &&
+11 −0
Original line number Original line Diff line number Diff line
@@ -596,6 +596,7 @@ usettbr0:
 * Internal functions
 * Internal functions
 */
 */


/* This function implements the erratum ID i443 WA, applies to 34xx >= ES3.0 */
	.text
	.text
ENTRY(es3_sdrc_fix)
ENTRY(es3_sdrc_fix)
	ldr	r4, sdrc_syscfg		@ get config addr
	ldr	r4, sdrc_syscfg		@ get config addr
@@ -641,6 +642,16 @@ sdrc_manual_1:
ENTRY(es3_sdrc_fix_sz)
ENTRY(es3_sdrc_fix_sz)
	.word	. - es3_sdrc_fix
	.word	. - es3_sdrc_fix


/*
 * This function implements the erratum ID i581 WA:
 *  SDRC state restore before accessing the SDRAM
 *
 * Only used at return from non-OFF mode. For OFF
 * mode the ROM code configures the SDRC and
 * the DPLL before calling the restore code directly
 * from DDR.
 */

/* Make sure SDRC accesses are ok */
/* Make sure SDRC accesses are ok */
wait_sdrc_ok:
wait_sdrc_ok: