Mini2440: NAND size decreased from 1GB to 128MB

Serv
Hello everyone,

a while ago I've bought a Mini2440 with 1GB NAND. I played around with it a
bit. And I changed the bootloader from supervivi to u-boot. 

But after scrubbing the device the NAND size decreased from 1GB to 128MB. 

I am sure that it was 1GB NAND before the first scrub, since u-boot showed
me the size the first time I tested it. But I used different u-boot
versions for the first tests and for the first scrub, which happend a few
days after the first test. I don't know why I did this stupid move, but it
happend.

Up until know I used different versions of u-boot from different sources
(precompiled from FriendlyARM and other sites and self-compiled). I'm not
sure anymore which version I used for scrubbing the NAND, since I scrubbed
it againg and again, in order to try to repair the damage I did.

I can't reproduce the screen output from u-boot but I can outline the steps
I did take (first part mainly from
http://code.google.com/p/mini2440/wiki/MiniBringup).

1. Switch to NOR and boot the device
2. Load u-boot into ram to any address (e.g. 0x31000000) with >>load ram
0x31000000 sizeOfUboot u<<
3. Execute u-boot with >>go 0x31000000<<
4. Stop the autoboot by hitting any key
5. Scrub the nand with >>nand scrub<<
6. Create bad block table: >>nand createbbt<<
7. Write u-boot from RAM to Nand: >>nand write.e 31000000 0 sizeOfUboot<<
8. Partition the NAND >>dynpart<<
9. Get the offset with >>mtdparts<<
9. Create the environement for u-boot: >>dynenv set u-boot-offset<<
10. Save it to NAND >>saveenv<<

I can't recall how long the scrub process (step 5) did take, but I know
that I didn't interrupt it.

Further on I know that with the 10 steps from above I couldn't get u-boot
into the device, so directly afterwards I tried the steps from Bill's Blog
(http://bill.station51.net/index.php?post/2010/01/16/U-Boot-on-Mini2440).
The last steps from the May update (bottom of the page):

1. Switch to NOR and hit >>v<< in supervivi
2. Upload the u-boot.bin file
3. Switch to nand and boot u-boot (here I noticed the decreased NAND size)
4. Scrub the NAND and create the 'bad block table'
5. Switch to NOR, hit >>v<< again and upload u-boot again
8. Switch back to NAND and boot up
9. Run >>dynpart<< and >>dynenv<<

I suppose that I decreased the size of the NAND with the first scrub. The
NAND itself works properly, I flashed it with several Linux distributions
(e.g. Angstrom). The size restriction didn't disturb me at first, but now I
want to install mono on it, and the cross compiled size of mono is to big
for the 128MB. 

So my question is, if there is a way to increase the size again to 1GB? If
so, what steps do I have to take?

Kind regards
Markus Schmidt

P.S. please excuse my bad english, I'm no native speaker

Screwface
Hi,

I'm not an u-boot expert, but did you try to burn the original supervivi
bootloader in NAND to go back to a stock configuration? Maybe it will help
getting back the 1Gb NAND FLASH.

Regards

Serv
Hello,

and thanks for the reply.

To answer your question: I formatted the NAND with supervivi from the NOR
with hitting >>f<< like indicated below.

#####  BIOS 2.0 for 2440 #####
[x] format NAND FLASH for Linux
[v] Download vivi
[k] Download linux kernel
[y] Download root_yaffs image
[a] Absolute User Application
[n] Download Nboot for WinCE
[l] Download WinCE boot-logo
[w] Download WinCE NK.bin
[d] Download & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the nand flash
[b] Boot the system
[s] Set the boot parameters
[u] Backup NAND Flash to HOST through USB(upload)
[r] Restore NAND Flash from HOST through USB
[q] Goto shell of vivi
[i] Version: 0945-2K
Enter your selection: f

This didn't bring back the 1GB NAND. But I indeed didn't try to reflash
supervivi to the NAND.

I will give it a try and post the results.

Kind Regards

Juergen Beisert
Maybe you have a 1 Gbit NAND which results into 128 MiB. Take a look to the
device on your PCB. Maybe it is a K9F1G08U0B NAND (note the '1G' in the
name). If it is marked with K9K8G08 (note the '8G' in the name) it is
really a 8Gbit -> 1 GiB NAND.

Serv
Hello,

I've checked my NAND as you suggested Juergen. And what can I say, I
brought shame to myself. You're completely right. I have a '1G' NAND and
not the '8G' version. Seems that I never had 1 GByte NAND. 

I must have done some weired reading error when I first saw it in u-boot.
Or it was just my imagination :) 

My God, I'm really sorry. I totally screwed up. 

Well thank you both for your time and your suggestions.  

Have a nice day!

Kind regards

Juergen Beisert
Don't worry. The same happens to me again and again in my daily job with
stupid hardware... and 'GB' und 'GiB' really looks like the same, but
isn't.

TheRegnirps
I do the same thing. I try to make sure in docs that I use Mb for bits and
MB for bytes.

So. 1Gb = 128MB, etc.