Kevin Hilman had written, on 12/13/2010 09:28 PM, the following: > Nishanth Menon writes: > >> Erratum id: i608 >> RTA (Retention Till Access) feature is not supported and leads to device >> stability issues when enabled. This impacts modules with embedded memories >> on OMAP3630 >> >> Workaround is to disable RTA on boot and coming out of core off. >> For disabling rta coming out of off mode, we do this by overriding the >> restore pointer for 3630 to allow us restore handler as the first point of >> entry before caches are touched and is common for GP and HS devices. >> to disable earlier than this could be possible by modifying the ppa for HS >> devices, but not for GP devices. >> >> Cc: Kevin Hilman >> Cc: Tony Lindgren >> >> [ambresh@ti.com: co-developer] >> Signed-off-by: Ambresh K >> Signed-off-by: Nishanth Menon > > [...] > >> @@ -1045,6 +1057,15 @@ static int __init omap3_pm_init(void) >> pm_idle = omap3_pm_idle; >> omap3_idle_init(); >> >> + /* >> + * RTA is disabled during initialization as per erratum i608 >> + * it is safer to disable rta by the bootloader, but we would like >> + * to be doubly sure here and prevent any mishaps. >> + */ >> + if (IS_PM34XX_ERRATUM(RTA_ERRATUM_i608)) >> + omap_ctrl_writel(OMAP36XX_RTA_DISABLE, >> + OMAP36XX_CONTROL_MEM_RTA_CTRL); >> + > > Minor nit: we've been trying to clean up control module access. So, > rather than directly writing control module registers, could you create > an API for this like was done for omap3_ctrl_write_boot_mode(). looks like the cleanups are somewhere in -next and not in k.org tree. basing the change similar to http://marc.info/?l=linux-omap&m=129168623011464&w=2 does the attached(based on 2.6.37-rc5) looks like how you'd like to see it? If i need to rebase to any particular tree which already has this change instead of k.org, do let me know. -- Regards, Nishanth Menon