[U-Boot] [PATCH v2 1/3] MX31: Add NAND SPL for i.MX31.
Magnus Lilja
lilja.magnus at gmail.com
Mon Jun 1 22:21:47 CEST 2009
Hi
2009/5/30 Magnus Lilja <lilja.magnus at gmail.com>:
> 2009/5/29 Scott Wood <scottwood at freescale.com>:
>> On Sun, May 03, 2009 at 09:56:57PM +0200, Magnus Lilja wrote:
>>> +static void mx31_nand_page_address(unsigned int page_address)
>>> +{
>>> + unsigned int page_count;
>>> +
>>> + writew(0x00, NFC_FLASH_ADDR);
>>> + writew(NFC_ADDR, NFC_CONFIG2);
>>> + mx31_wait_ready();
>>> +
>>> + /* code only for 2kb flash */
>>> + if (CFG_NAND_PAGE_SIZE == 0x800) {
>>> + writew(0x00, NFC_FLASH_ADDR);
>>> + writew(NFC_ADDR, NFC_CONFIG2);
>>> + mx31_wait_ready();
>>> + }
>>> +
>>> + page_count = CFG_NAND_CHIP_SIZE / CFG_NAND_PAGE_SIZE;
>>> +
>>> + if (page_address <= page_count) {
>>> + page_count--; /* transform 0x01000000 to 0x00ffffff */
>>> + do {
>>> + writew(page_address & 0xff, NFC_FLASH_ADDR);
>>> + writew(NFC_ADDR, NFC_CONFIG2);
>>> + mx31_wait_ready();
>>> + page_address = page_address >> 8;
>>> + page_count = page_count >> 8;
>>> + } while (page_count);
>>> + }
>>
>> Does the number of address bytes really need to depend on the size of the
>> flash chip, or can you base it on the number of non-zero bytes in
>> page_address (the chip will know when the address phase is over because
>> ALE drops)?
>
> Ok, will try to look into it.
I did try to output only the non-zero bytes in the page_address but
that didn't work at all, u-boot didn't boot Don't know why though.
/Magnus
More information about the U-Boot
mailing list