From: Kevin Hilman <khilman@ti.com>
To: "Mark A. Greer" <mgreer@animalcreek.com>
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
paul@pwsan.com, Ranjith Lohithakshan <ranjithl@ti.com>
Subject: Re: [PATCH 11/12] arm: omap3: am35x: Add do_wfi routine for EMIF4 submodules
Date: Wed, 11 Apr 2012 15:35:53 -0700 [thread overview]
Message-ID: <871untrj5i.fsf@ti.com> (raw)
In-Reply-To: <1334171147-7517-12-git-send-email-mgreer@animalcreek.com> (Mark A. Greer's message of "Wed, 11 Apr 2012 12:05:46 -0700")
"Mark A. Greer" <mgreer@animalcreek.com> writes:
> From: "Mark A. Greer" <mgreer@animalcreek.com>
>
> The typical SDRAM Controller Subsystem module (SDRC)
> on TI OMAP3 devices has two submodules: the SDRAM Memory
> Scheduler (SMS) submodule, and the SDRC submodule--the
> 'SDRC' acronym/term is overloaded. The am35x family of
> devices is different in that it has an EMIF4 submodule
> instead of an SDRC submodule. The SMS submodules are
> similar, though.
>
> The difference in SDRC/EMIF4 submodules is important because
> omap34xx_cpu_suspend() will ultimately access the submodule's
> registers and the register sets are different. To support
> the EMIF4 submodule, add the omap3_emif4_do_wfi() routine which
> roughly does for the EMIF4 submodule what omap3_do_wfi() does
> for the SDRC submodule. This requires omap34xx_cpu_suspend()
> to use a pointer set up in omap_push_sram_idle() so that it
> jumps to the correct omap3*_do_wfi() routine in either SDRAM
> or SRAM.
>
> Credits: arch/arm/mach-omap2/sleep3517.S in TI's am35x SDK
> (05.03.02.00) which appears to be authored by Ranjith Lohithakshan
> <ranjithl@ti.com> was used as a reference.
>
> CC: Ranjith Lohithakshan <ranjithl@ti.com>
> Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Dumb Q: do you actually need to do the EMIF4 self-refresh control from
SRAM?
The reason I ask is because on OMAP3, we tried going down the path of
not running any of this from SRAM (run it from cache instead.) However,
due to some errata (c.f. wait_sdrc*, wait_dll_* ...), we had to handle
these errata from SRAM.
Looking at your omap3_emif4_do_wfi, it looks like that's very minimal,
and can probably be prefetched/run from cache.
Kevin
next prev parent reply other threads:[~2012-04-11 22:35 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-11 19:05 arm: omap3: am35x: Powerdomain, EMIF4, etc. fixups Mark A. Greer
2012-04-11 19:05 ` [PATCH 01/12] arm: omap3: Only access IVA if one exists Mark A. Greer
2012-04-11 19:05 ` [PATCH 02/12] arm: omap3: Only sleep during cpu_idle if I/O wake-ups work Mark A. Greer
2012-04-11 21:38 ` Paul Walmsley
2012-04-11 23:42 ` Jon Hunter
2012-04-13 0:13 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 03/12] arm: omap3: Only sleep in cpuidle driver " Mark A. Greer
2012-04-11 21:37 ` Paul Walmsley
2012-04-11 22:23 ` Mark A. Greer
2012-04-11 22:47 ` Paul Walmsley
2012-04-11 23:08 ` Mark A. Greer
2012-04-24 20:51 ` Mark A. Greer
2012-04-24 23:25 ` Mark A. Greer
2012-04-27 21:12 ` Kevin Hilman
2012-04-27 21:55 ` Mark A. Greer
2012-04-30 21:34 ` Mark A. Greer
2012-04-30 22:00 ` Kevin Hilman
2012-04-30 22:18 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 04/12] arm: omap3: am35x: Don't mark missing features as present Mark A. Greer
2012-04-11 19:05 ` [PATCH 05/12] arm: omap3: am35x: Add PWROFF feature Mark A. Greer
2012-04-11 22:46 ` Kevin Hilman
2012-04-11 23:11 ` Mark A. Greer
2012-04-24 4:36 ` Mark A. Greer
2012-04-27 21:07 ` Kevin Hilman
2012-04-30 22:08 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 06/12] arm: omap3: am35x: Add full PWRDM_POWER_INACTIVE support Mark A. Greer
2012-04-11 20:56 ` Jean Pihet
2012-04-11 21:08 ` Paul Walmsley
2012-04-11 21:14 ` Mark A. Greer
2012-04-11 21:15 ` Jean Pihet
2012-04-11 21:12 ` Mark A. Greer
2012-04-11 22:17 ` Paul Walmsley
2012-04-11 19:05 ` [PATCH 07/12] arm: omap3: am35x: Set proper powerdomain states Mark A. Greer
2012-04-11 21:53 ` Paul Walmsley
2012-04-11 22:40 ` Mark A. Greer
2012-04-12 0:24 ` Jon Hunter
2012-04-12 2:19 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 08/12] arm: omap3: am35x: Fix clockdomain dependencies Mark A. Greer
2012-04-11 21:44 ` Paul Walmsley
2012-04-11 21:55 ` Mark A. Greer
2012-04-11 22:04 ` Paul Walmsley
2012-04-11 22:49 ` Mark A. Greer
2012-04-11 23:49 ` Paul Walmsley
2012-04-12 2:23 ` Mark A. Greer
2012-04-12 2:29 ` Paul Walmsley
2012-04-12 23:00 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 09/12] arm: omap3: am35x: Add SDRC EMIF4 feature Mark A. Greer
2012-04-11 21:29 ` Paul Walmsley
2012-04-11 22:50 ` Mark A. Greer
2012-04-11 22:56 ` Paul Walmsley
2012-04-11 23:23 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 10/12] arm: omap3: am35x: Add minimal EMIF4 support Mark A. Greer
2012-04-11 21:31 ` Paul Walmsley
2012-04-11 23:22 ` Mark A. Greer
2012-04-11 19:05 ` [PATCH 11/12] arm: omap3: am35x: Add do_wfi routine for EMIF4 submodules Mark A. Greer
2012-04-11 22:35 ` Kevin Hilman [this message]
2012-04-11 23:26 ` Mark A. Greer
2012-04-11 22:36 ` Paul Walmsley
2012-04-13 0:12 ` Mark A. Greer
2012-04-11 22:54 ` Paul Walmsley
2012-04-11 19:05 ` [PATCH 12/12] arm: omap3: am35x: Register davinci_mdio before davinci_emac Mark A. Greer
2012-04-11 21:24 ` Paul Walmsley
2012-04-11 22:00 ` Mark A. Greer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871untrj5i.fsf@ti.com \
--to=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mgreer@animalcreek.com \
--cc=paul@pwsan.com \
--cc=ranjithl@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox