My development board hardware:
MCU at91sam9260
SDRAM mt48lcm32 (32 MB 32bit)
Nandflash k9f5608doc (32 MB)
No dataflash or norflash
Modify Bootstrap as follows for our board.
I. Because the sdram I used is 32 m and 12 pins are used, I changed at91c_sdramc_nr_13 to at91c_sdramc_nr_12.
Sdram_init (at91c_sdramc_nc_9 |
At91c_sdramc_nr_12 |
At91c_sdramc_cas_2 |
At91c_sdramc_nb_4_banks |
At91c_sdramc_dbw_32_bits |
At91c_sdramc_twr_2 |
At91c_sdramc_trc_7 |
At91c_sdramc_trp_2 |
At91c_sdramc_trcd_2 |
At91c_sdramc_tras_5 |
At91c_sdramc_txsr_8,/* control register */
(Master_clock * 7)/1000000);/* refresh timer register */
2. Change the nandflash parameter in nand_ids.h to {0xec75, 0x800, 0X4000, 0x200, 0x10, 0x0, "Samsung k9f5608u0m 32 MB/0 "}.
3. Change the value of jump_addr from 23f00000 to 21f00000.
4. Remove the program for detecting Bad blocks from the at91f_nandread () function in Driver/nandflash. C. If you don't go, bootstrap always thinks that all the nandflash blocks are bad blocks, and the program cannot proceed. This is just an opportunistic method. Fortunately, it does not affect the loading of U-boot. The reason is that it is unclear, as if it is because the read/write timing of nandflash is different from that of the public version.