From: York Sun <yorksun@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] How do ARM platform initialize DDR?
Date: Thu, 19 Sep 2013 14:49:58 -0700 [thread overview]
Message-ID: <523B7186.9050604@freescale.com> (raw)
In-Reply-To: <523B6D91.3060305@ti.com>
On 09/19/2013 02:33 PM, Tom Rini wrote:
> On 09/19/2013 05:08 PM, York Sun wrote:
>> On 09/19/2013 01:57 PM, Tom Rini wrote:
>>> On Tue, Sep 17, 2013 at 08:59:24AM -0700, York Sun wrote:
>>>
>>>> Albert,
>>>>
>>>> Pardon me if this is a dumb question. I have been working on
>>>> powerpc platforms in the past. Now we (the developers I work
>>>> with) are exploring ARM cores. I am searching how memory is
>>>> initialized and found different solutions. Some platforms have
>>>> memory ready before u-boot even starts, some simply write to a
>>>> set of registers. I understand many platforms don't share the
>>>> IP of DDR controller. I am wondering if there is generic DDR
>>>> driver used by many ARM platforms, like the one we have for
>>>> powerpc/mpc85xx SoCs.
>>>
>>> Thinking back, as a rule of thumb, PowerPC has SPD I2C data
>>> available, usually. That's not the rule for ARM. One of a few
>>> choices happen: 1) ROM sets up DDR. 2) U-Boot/SPL sets up the DDR
>>> controller.
>>>
>
>> So for ARM platforms, the majority don't have the flexibility of
>> using different DIMMs and/or clocks?
>
> It's a different world. Again, thinking back to the PowerPC boards
> I've seen, they had "regular" DDR sockets. Most ARM boards don't.
> You can design your board with whatever, and I know in prototyping
> folks make do swapping chips in and out (and if you look at the omap
> code, you can see where we have code to calculate the timing values
> and print them, or use provided hard-coded values).
Understood. We may have boards with DIMM slots. I do see value of a
fully functional DDR driver here.
>
>>> The problem is that the DDR controller is usually
>>> vendor-specific. Perhaps the flip-side here is that there's not
>>> so much a generic DDR driver for mpc85xx but simply one vendor
>>> for mpc85xx. Taking arch/powerpc/cpu/mpc85xx/ddr-gen3.c as what
>>> you're talking about,
>>> arch/arm/cpu/armv7/omap-common/emif-common.c would be an
>>> ARM-world example (the 'EMIF' is found on a large variety of TI
>>> parts, not just "omap" ones).
>
>> Does it make sense to share the Freescale DDR driver across ARM
>> and Powerpc? Or does it make more sense to selectively copy the
>> mpc8xxx DDR driver to Freescale ARM subfolder to start with. If the
>> similarity sustains then we merge them into common driver. If not,
>> we maintain two separated drivers.
>
>> For those who is not familiar with, Freescale is extending products
>> to ARM cores. I am expecting peripherals stay relatively close, so
>> many driver can be reused.
>
> I've been wondering when this would start to be visible. If we are
> able to share the DDR controller code between mpc85xx and the ARM
> stuff you're talking about, we'll have to sort out someplace within
> drivers/ to place it, to avoid #include nightmares I suspect. Other
> drivers should be easier to share at least :)
>
I did a quick and dirty hack yesterday to move DDR driver to
drivers/ddr/fsl. I had to change many #include <asm/????>.
York
next prev parent reply other threads:[~2013-09-19 21:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-17 15:59 [U-Boot] How do ARM platform initialize DDR? York Sun
2013-09-17 16:34 ` MJ embd
2013-09-17 16:41 ` York Sun
2013-09-17 17:07 ` MJ embd
2013-09-18 4:23 ` Sharma Bhupesh-B45370
2013-09-19 20:57 ` Tom Rini
2013-09-19 21:08 ` York Sun
2013-09-19 21:33 ` Tom Rini
2013-09-19 21:49 ` York Sun [this message]
2013-09-20 7:13 ` Mj Embd
2013-09-19 21:39 ` Wolfgang Denk
2013-09-19 21:48 ` York Sun
2013-09-25 23:30 ` [U-Boot] When to create a SoC directory for ARM York Sun
2013-09-25 23:52 ` Scott Wood
2013-09-26 1:04 ` sun york-R58495
2013-09-26 1:10 ` Scott Wood
2013-09-26 9:58 ` Wolfgang Denk
2013-09-22 13:02 ` [U-Boot] How do ARM platform initialize DDR? Timur Tabi
2013-09-22 13:00 ` Timur Tabi
2013-09-22 13:50 ` Wolfgang Denk
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=523B7186.9050604@freescale.com \
--to=yorksun@freescale.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.