Why change the size from 0x400000 to 0x300000? Do you plan to use initrd/initramfs
The message reading NAND page at offset 0x100000 failed
is a bad sign. this may be indicate you have some bad blocks in your NAND at that region.
To verify if the uImage you flush to NAND validity you can do at u-boot prompt
Marvell>> nand read.e 0x800000 0x100000 0x400000
Marvell>> imi 0x800000
The imi ...
should report no CRC error otherwise it is possible your flush did not succeed.
If it is possible please post the flashing process, the commands you use and the process output this will help understand the setup.
A note, if you plan to use later version of Linux OS (>2.6.30) , in the bootargs
the word nand_mtd
need to change to orion_nand
or else there may be problem for Linux to read NAND device.