Olinuxino maxi and using UEXT (SSP2/SPI2) for SPI NAND flash

Started by jlumme, October 11, 2012, 05:58:34 am

Previous topic - Next topic

jlumme

Hi,

There was some discussion about my hopes to move boot target from microsd to flash already in the bitburner topic, but as the bitburner is not really the factor here, I thought it's better to create another thread.

So, we have a prototype in mind based on the maxi board, and we would like to move the mass storage from microsd to NAND flash.

This is our first project on this scale (full-blown linux & not a simple HW), so if you see errors in my reasoning, please don't hesitate to point it out - I really appreciate it!

Looking at the Freescales EVK docs, they say that hooking up NAND flash interferes with LAN9512 - so we started thinking other possibilities.
Now it says that imx233 boot target can be also SPI flash 1 or 2, I guess this referes to the SPI1 and 2?
Since SPI1 is currently being used for microsd, I started thinking that I could maybe use the SPI2 bus found currently in the UEXT connector with appropriate SPI-NAND flash. I wonder if there might be any problems in this ?
I am now thinking how could I verify this kind of configuration ?
Do I need to so something to the bootlets, or just jumper soldering is enough ?
I suppose the easiest way to see the boot-time code to connect a usb-serial cable, and hook up proper lines to the Tx, Rx, and GND pins ?

Thank you for any hints, book recommendations or just related conversation!

jlumme

I'll shamelessly bump this topic up, as we have arrived to a point in our project, that it would be appropriate time trying to boot up our package from spi flash.

We have compiled 3.6 kernel and bootlets to create a booting kernel package. And a busybox based rootfs running from sdcard, all under 6MB and all seems good for a first try.
I have a separate (FT2232H based) way of reading and writing to flash, so I could write this "package" of ours to flash.

But - I need some help understanding, is there something I should modify in bootlets for SPI flash (like flash block size, speed or something like that?), or it can understand all that it needs from the jumper configuration, and then via SPI communication ?

At first I would try to get kernel booting to some point, even without filesystem (since for file system I don't have a "stream of bits" that I could just copy to flash, unlike the "raw" package that is created with bootlets and DD't to first partition of sdcard). I will worry about getting inside the file system later.. :)
Any help is appreciated!