mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* imx23evk NAND support
@ 2013-01-13  3:24 Paul B. Henson
  2013-01-13  5:19 ` Paul B. Henson
  0 siblings, 1 reply; 4+ messages in thread
From: Paul B. Henson @ 2013-01-13  3:24 UTC (permalink / raw)
  To: barebox

I'm working with a freescale i.MX23EVK board prototyping a project that 
is going to need to boot from NAND. I'm trying to get barebox  installed 
on the NAND chip on this board, with the next step being getting a linux 
kernel and filesystem on NAND as well.

I've compiled barebox from git as of today, and successfully booted it 
from SD and USB, but have been unable to get the NAND device recognized.

Booting from SD with the mci driver enabled:


devices:
`---- platform
      `---- stm_serial0
           `---- cs0
      `---- mem0
           `---- 0x00000000-0x01ffffff: /dev/ram0
      `---- mem1
           `---- 0x00000000-0xfffffffe: /dev/mem
      `---- mxs_mci0
           `---- mci0
`---- fs
      `---- ramfs0
      `---- devfs0
`---- global

drivers:
stm_serial
ramfs
devfs
mxs_nand
mci
mxs_mci
mem


Booting from SD without the mci driver:

devices:
`---- platform
      `---- stm_serial0
           `---- cs0
      `---- mem0
           `---- 0x00000000-0x01ffffff: /dev/ram0
      `---- mem1
           `---- 0x00000000-0xfffffffe: /dev/mem
      `---- mxs_mci0
`---- fs
      `---- ramfs0
      `---- devfs0
`---- global

drivers:
stm_serial
ramfs
devfs
mxs_nand
mem


In both cases, it seems to find the mci device, but not the nand device. 
(On a side note, running mci0.probe=1 with the mci driver enabled 
appears to completely lock up the board).

My understanding is that the SD card and the NAND chip cannot be used at 
the same time due to a pin conflict. Considering the possibility that 
perhaps the NAND cannot be accessed if booting from SD, I tried booting 
via USB, with the same result:

devices:
`---- platform
      `---- stm_serial0
           `---- cs0
      `---- mem0
           `---- 0x00000000-0x01ffffff: /dev/ram0
      `---- mem1
           `---- 0x00000000-0xfffffffe: /dev/mem
      `---- mxs_mci0
`---- fs
      `---- ramfs0
      `---- devfs0
`---- global

drivers:
stm_serial
ramfs
devfs
mxs_nand
mem

The SD card device is found, but not the nand device.

Am I missing something? Given its inclusion in barebox, I'm assuming 
*somebody* has gotten the i.mx23 NAND driver working :). Any assistance 
much appreciated, thanks.

I wonder why they didn't hook the SD interface up to SSP1 rather than 
SSP2 to avoid the NAND conflict. It looks like you can't use the SD 
device and the ethernet device simultaneously either :(.

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: imx23evk NAND support
  2013-01-13  3:24 imx23evk NAND support Paul B. Henson
@ 2013-01-13  5:19 ` Paul B. Henson
  2013-01-13 10:47   ` Juergen Beisert
  0 siblings, 1 reply; 4+ messages in thread
From: Paul B. Henson @ 2013-01-13  5:19 UTC (permalink / raw)
  To: barebox

On 1/12/2013 7:24 PM, Paul B. Henson wrote:

> My understanding is that the SD card and the NAND chip cannot be used at
> the same time due to a pin conflict.

Hmm, it seems what I read on this wasn't entirely correct. I ended up 
booting the BSP linux kernel and root file system off of SD, and it was 
able to access the NAND device while simultaneously using the SD device 
(as the root filesystem source) so there doesn't seem to be any inherent 
hardware limitation preventing bareboot from accessing it.

Just for fun, I tried to use the kobs-ng freescale tool from within the 
linux environment to burn the bareboot bootstream to NAND. However, 
after trying to boot, I receive the error code 0x80501003 from the ROM 
loader, which evidently indicates "The file signature or file version is 
incorrect". The exact same bootstream on an SD card boots fine, so I 
don't think there's anything wrong with it. I also tried to burn the BSP 
linux kernel bootstream, with the same result. (Side question, what's 
the difference in the bootstream files that contain "ivt" in the 
filename? I used the non-ivt versions on SD, I tried both on NAND with 
neither working).

The board came from the factory with a working kernel on NAND, so I know 
it can work. Given I'm using the freescale supplied linux environment 
and their nand bootstream burning tool you'd think it would be fairly 
straightforward…



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: imx23evk NAND support
  2013-01-13  5:19 ` Paul B. Henson
@ 2013-01-13 10:47   ` Juergen Beisert
  2013-01-15 20:30     ` Paul B. Henson
  0 siblings, 1 reply; 4+ messages in thread
From: Juergen Beisert @ 2013-01-13 10:47 UTC (permalink / raw)
  To: barebox

Hi Paul,

Paul B. Henson wrote:
> On 1/12/2013 7:24 PM, Paul B. Henson wrote:
> > My understanding is that the SD card and the NAND chip cannot be used at
> > the same time due to a pin conflict.
>
> Hmm, it seems what I read on this wasn't entirely correct. I ended up
> booting the BSP linux kernel and root file system off of SD, and it was
> able to access the NAND device while simultaneously using the SD device
> (as the root filesystem source) so there doesn't seem to be any inherent
> hardware limitation preventing bareboot from accessing it.
>
> Just for fun, I tried to use the kobs-ng freescale tool from within the
> linux environment to burn the bareboot bootstream to NAND. However,
> after trying to boot, I receive the error code 0x80501003 from the ROM
> loader, which evidently indicates "The file signature or file version is
> incorrect". The exact same bootstream on an SD card boots fine, so I
> don't think there's anything wrong with it. I also tried to burn the BSP
> linux kernel bootstream, with the same result. (Side question, what's
> the difference in the bootstream files that contain "ivt" in the
> filename? I used the non-ivt versions on SD, I tried both on NAND with
> neither working).

IIRC ivt/non-ivt is relevant for the i.MX28 firmware, not for i.MX23. On the 
other hand, for some i.MX23 based systems the encryption must be enabled for 
the bootstream, but with an empty key.

Hope it helps.
Juergen

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: imx23evk NAND support
  2013-01-13 10:47   ` Juergen Beisert
@ 2013-01-15 20:30     ` Paul B. Henson
  0 siblings, 0 replies; 4+ messages in thread
From: Paul B. Henson @ 2013-01-15 20:30 UTC (permalink / raw)
  To: barebox

On 1/13/2013 2:47 AM, Juergen Beisert wrote:

> IIRC ivt/non-ivt is relevant for the i.MX28 firmware, not for
> i.MX23.

Ah, okay. I actually have an mx28 eval board too, but started with the 
23 and haven't looked at the 28 board yet. I'm using the freescale tool 
to generate the bootstream, which knows it's intended for an i.MX23, 
you'd think (or wish I suppose) it would be smart enough not to generate 
the ivt versions if they're not relevant for that architecture.

> On the other hand, for some i.MX23 based systems the encryption must
> be enabled for the bootstream, but with an empty key.

The bootstream file seems to work fine from SD. I don't think it 
requires a different format for burning to NAND vs booting from SD, so I 
think I have a good file. The kobs-ng tool that burns the bootstream to 
NAND claims it is a valid image and that it is successfully burned, but 
then it just won't boot :(. I'd be interested in trying to burn it from 
barebox to see if that makes a difference, but a prerequisite for that 
is getting the NAND to work in barebox <sigh>.

It looks like the i.MX23/28 NAND support was ported from u-boot? u-boot 
doesn't actually support the i.MX23 board at the moment. There's 
somebody working on that, but they told me that the 23 and 28 NAND 
implementation is a bit different, and their current support for the 28 
needs to be updated to work with the 23. Perhaps the barebox NAND driver 
only works with the 28 board as well? I'll give it a try on that board 
and see what happens.

Has anyone successfully accessed the NAND on an i.MX23 board with barebox?


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-15 20:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-13  3:24 imx23evk NAND support Paul B. Henson
2013-01-13  5:19 ` Paul B. Henson
2013-01-13 10:47   ` Juergen Beisert
2013-01-15 20:30     ` Paul B. Henson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox