Patchwork [U-Boot] omap4460 nand booting ?

login
register
mail settings
Submitter pekon gupta
Date Jan. 10, 2014, 10:15 p.m.
Message ID <20980858CB6D3A4BAE95CA194937D5E73EA60AA2@DBDE04.ent.ti.com>
Download mbox | patch
Permalink /patch/309435/
State RFC
Headers show

Comments

pekon gupta - Jan. 10, 2014, 10:15 p.m.
>From: abraham.varricatt@vvdntech.com 
>Hello,
>
>Thanks to the help I obtained on this mailing list, I've been able to
>customize u-boot (2013.10 release) to work on a custom omap4460 board.
>Schematically, it's similar to the pandaboard, but uses the twl6032
>pmic and has a NAND memory from micron present.
>
>I've been able to boot this board from USB and from an external mmc
>card. In both cases, I've been able to access the nand memory (i.e.
>reading/writing). My team tried writing an image of the linux kernel
>to the nand from mmc, rebooted the board, copied the image from nand
>to ddr and booted off it. At the very least, we feel that this shows
>that the memory is working properly.
>
>The problem I'm facing is that I can't seem to boot directly from the
>nand memory chip. We've set the boot configuration pins to start with
>NAND boot, but it doesn't seem to work. On probing the CS and
>nand-busy lines we can see some activity happening, but don't
>understand what it means.
>
>The way I expect the board to work, is that the ROM code should detect
>the external nand present, query for ONFI data, configure the
>bus/interface accordingly, copy SPL part of bootloader from first
>sector to internal sram and boot off that.
>
>I *think* that the omap4460 is sending the ONFI request, but after
>that, something malfunctions, nand is deemed unusable and the next
>device in boot sequence is queried. In my case its the uart and I can
>see some garbage characters coming out on the console.
>
>Any suggestions on how I could debug this?
>
If this NAND has bus-width = 16, then you need to tweak the
board file with following changes.
Below code is for AM335x platforms, you need similar for omap4 platforms
------------------------------
------------------------------

with regards, pekon
Abraham Varricatt - Jan. 11, 2014, 1:35 a.m.
On Sat, Jan 11, 2014 at 3:45 AM, Gupta, Pekon <pekon@ti.com> wrote:
>
> >From: abraham.varricatt@vvdntech.com
> >Hello,
> >
> >Thanks to the help I obtained on this mailing list, I've been able to
> >customize u-boot (2013.10 release) to work on a custom omap4460 board.
> >Schematically, it's similar to the pandaboard, but uses the twl6032
> >pmic and has a NAND memory from micron present.
> >
> >
> >The problem I'm facing is that I can't seem to boot directly from the
> >nand memory chip. We've set the boot configuration pins to start with
> >NAND boot, but it doesn't seem to work. On probing the CS and
> >nand-busy lines we can see some activity happening, but don't
> >understand what it means.
> >
> >
> >Any suggestions on how I could debug this?
> >
> If this NAND has bus-width = 16, then you need to tweak the
> board file with following changes.
> Below code is for AM335x platforms, you need similar for omap4 platforms

No, the NAND memory I'm using has a bus-width of 8.

-Abraham V.
Michael Trimarchi - Jan. 11, 2014, 4:59 a.m.
Hi

On Sat, Jan 11, 2014 at 2:35 AM, Abraham Varricatt
<abraham.varricatt@googlemail.com> wrote:
> On Sat, Jan 11, 2014 at 3:45 AM, Gupta, Pekon <pekon@ti.com> wrote:
>>
>> >From: abraham.varricatt@vvdntech.com
>> >Hello,
>> >
>> >Thanks to the help I obtained on this mailing list, I've been able to
>> >customize u-boot (2013.10 release) to work on a custom omap4460 board.
>> >Schematically, it's similar to the pandaboard, but uses the twl6032
>> >pmic and has a NAND memory from micron present.
>> >
>> >
>> >The problem I'm facing is that I can't seem to boot directly from the
>> >nand memory chip. We've set the boot configuration pins to start with
>> >NAND boot, but it doesn't seem to work. On probing the CS and
>> >nand-busy lines we can see some activity happening, but don't
>> >understand what it means.
>> >
>> >
>> >Any suggestions on how I could debug this?
>> >
>> If this NAND has bus-width = 16, then you need to tweak the
>> board file with following changes.
>> Below code is for AM335x platforms, you need similar for omap4 platforms
>
> No, the NAND memory I'm using has a bus-width of 8.
>

How do you write on the nand the fist stage boot? Should
be ecc check of the bootrom

Michael


> -Abraham V.
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

Patch

--- arch/arm/cpu/armv7/am33xx/mem.c
+++ arch/arm/cpu/armv7/am33xx/mem.c
@@ -64,7 +64,7 @@ 
 	u32 base = CONFIG_SYS_FLASH_BASE;
 #elif defined(CONFIG_NAND)
 /* configure GPMC for NAND */
-	const u32  gpmc_regs[GPMC_MAX_REG] = {	M_NAND_GPMC_CONFIG1,
+	const u32  gpmc_regs[GPMC_MAX_REG] = {	M_NAND_GPMC_CONFIG1 | 0x1000,
 						M_NAND_GPMC_CONFIG2,
 						M_NAND_GPMC_CONFIG3,
 						M_NAND_GPMC_CONFIG4,