Add support for new NAND/SDRAM POP memory

102 views
Skip to first unread message

Enric Balletbò i Serra

unread,
Oct 20, 2011, 3:58:37 AM10/20/11
to x-lo...@googlegroups.com
Hi OMAP-gurus,

I've a customized board with DM3730 + Micron NAND/SDRAM chip populated
[1], as I known anybody is using this chip so I would like add support
for this in x-loader. I get it working using a micro-SD card with a
patched x-loader. The system boots until the kernel. I made some mtd
tests [2] with success results, so seems the new chip is working fine.

The problem appears trying to booting from nand flash. From kernel I
flashed the x-loader to the nand using

$ nandwrite -p /dev/mtd0 x-loader.bin.ift

I checked that x-loader is correctly flashed reading from nand, all
seems ok but when I restarted the board, the ROM can't boot from nand,
nothing appears in serial console ( just 60 ) that means the x-loader
is not loaded.

Also I checked that Sys.Boot pin values sampled at power_on reset and
was ok. The boot order for 0x32F value is USB UART3 MMC1 NAND

# devmem2 0x480022F0
/dev/mem opened.
Memory mapped at address 0x400ab000.
Value at address 0x480022F0 (0x400ab2f0): 0x32F

My guess is that kernel is handling the nand differently than OMAP3
ROM, something similar happened to me with a OneNAND memory from
Numonyx I tried the same solution but for now I don't solved the
problem.

My next step is trying to flash x-loader from u-boot, but meanwhile
anybody knows how exactly the OMAP3 ROM is reading from NAND ? Or any
ideas about this problem ? And any help would be appreciated :-)

[1] http://www.micron.com/products/ProductDetails.html?product=products/mcp/multichip_packages/MT29C4G96MAZAPCJG-5%20IT
[2] http://www.linux-mtd.infradead.org/doc/general.html

Thanks in advance.

Enric

Ash Charles

unread,
Oct 21, 2011, 11:45:43 AM10/21/11
to x-lo...@googlegroups.com
Hi Enric,

On Thu, Oct 20, 2011 at 12:58 AM, Enric Balletbò i Serra
<ebal...@gmail.com> wrote:
> I checked that x-loader is correctly flashed reading from nand, all
> seems ok but when I restarted the board, the ROM can't boot from nand,
> nothing appears in serial console ( just 60 ) that means the x-loader
> is not loaded.

I had a similar problem with a Gumstix Overo board that *may* be
relevant. Are you sure x-loader is not getting loaded? My board
appeared not to boot (the sysboot pins were correct and, on power on,
I saw the boot rom text on the serial console and then...nothing). I
assumed that x-loader wasn't getting loaded when actually, it was
loading just fine and dying quickly so no more feedback was giving.
We ended up toggling GPIOs in the early part of x-loader to indicate
that x-load was actually running and, after a few iterations,
discovered a missing call to i2c_init
(http://www.sakoman.com/cgi-bin/gitweb.cgi?p=x-loader.git;a=commit;h=4d497bbb8703c798b677ef9c75685b12ad619c11).

-Ash

Steve Sakoman

unread,
Oct 28, 2011, 1:40:21 PM10/28/11
to x-lo...@googlegroups.com, Enric Balletbò i Serra
On Thu, Oct 20, 2011 at 12:58 AM, Enric Balletbò i Serra
<ebal...@gmail.com> wrote:
> Hi OMAP-gurus,
>
> I've a customized board with DM3730 + Micron NAND/SDRAM chip populated
> [1], as I known anybody is using this chip so I would like add support
> for this in x-loader. I get it working using a micro-SD card with a
> patched x-loader. The system boots until the kernel. I made some mtd
> tests [2] with success results, so seems the new chip is working fine.
>
> The problem appears trying to booting from nand flash. From kernel I
> flashed the x-loader to the nand using
>
>  $ nandwrite -p /dev/mtd0 x-loader.bin.ift

Not sure if you have resolved this yet.

Here is what I think is going on:

The boot rom requires that x-loader be written with hwecc. Linux
typically uses swecc.

So unless you are running a kernel with hwecc enabled by default, you
will need to use u-boot to write x-load.

Steve

> I checked that x-loader is correctly flashed reading from nand, all
> seems ok but when I restarted the board, the ROM can't boot from nand,
> nothing appears in serial console ( just 60 ) that means the x-loader
> is not loaded.
>
> Also I checked that Sys.Boot pin values sampled at power_on reset and
> was ok. The boot order for 0x32F value is USB UART3 MMC1 NAND
>
>  # devmem2 0x480022F0
>  /dev/mem opened.
>  Memory mapped at address 0x400ab000.
>  Value at address 0x480022F0 (0x400ab2f0): 0x32F
>
> My guess is that kernel is handling the nand differently than OMAP3
> ROM, something similar happened to me with a OneNAND memory from
> Numonyx I tried the same solution but for now I don't solved the
> problem.
>
> My next step is trying to flash x-loader from u-boot, but meanwhile
> anybody knows how exactly the OMAP3 ROM is reading from NAND ? Or any
> ideas about this problem ? And any help would be appreciated :-)
>
> [1] http://www.micron.com/products/ProductDetails.html?product=products/mcp/multichip_packages/MT29C4G96MAZAPCJG-5%20IT
> [2] http://www.linux-mtd.infradead.org/doc/general.html
>
> Thanks in advance.
>
>  Enric
>

> --
> --
> To unsubscribe from this group, email: x-loader+u...@googlegroups.com
> For more options: http://groups.google.com/group/x-loader?hl=en?hl=en
> Home Page: http://gitorious.org/x-loader
>

Reply all
Reply to author
Forward
0 new messages