Das u-boot customization for MPC8569E based board

188 views Asked by At

I am beginner in embedded systems and I need some help here. I have a board with freescale MPC8569E processor. We have been using a 256Mb flash till now, with 2 flash chips. The memory map is as follows:
f000_0000 - f7ff_ffff (128Mb)
f800_0000 - ffff_ffff (128Mb)
Now we want to use 512Mb of flash, using 2 256Mb flash chips each, the memory map being:
e000_0000 - efff_ffff (Flash 1)
f000_0000 - ffff_ffff (Flash 2)

From what I understand from reading about modifying u-boot for one's custom board, first
1. I have to modify the LAW configuraiton. So I add the following in board/freescale/mpc8569mds/law.c
SET_LAW(CONFIG_SYS_FLASH_BASE, LAW_SIZE_512M, LAW_TRGT_IF_LBC),
Flash chip is on local bus.
I have set the Macro CONFIG_SYS_FLASH_BASE to 0xe000_0000 in include/configs/MPC8569MDS.h
2. I need to configure the chipselects for the flash

#define CONFIG_FLASH_BR_PRELIM 0xF0001011
#define CONFIG_FLASH_OR_PRELIM 0xF0006FF7
for CS0 and
#define CONFIG_SYS_BR1_PRELIM 0xE0001011
#define CONFIG_SYS_OR1_PRELIM 0xF0006FF7

I have read that CS0 should contain the chipselect of the flash containing boot-code/U-boot, so I have configured CS0 for second flash (base-address 0xf000_0000)

  1. I configured the Tlbs as follows:

SET_TLB_ENTRY(1, CONFIG_SYS_FLASH_BASE2, CONFIG_SYS_FLASH_BASE2,MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,0, 0, BOOKE_PAGESZ_256M, 1),

and

SET_TLB_ENTRY(1, CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE,MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 0, 1, BOOKE_PAGESZ_256M, 1)

So I have configured the law, configured the chip-selects, configured the tlbs but the console output is a continous line of special chars ������������ , nothing else !!! What Am I doing wrong?

I have attached the snapshots of tlb1, law and chip-selects for the board, as observed after running the uboot and using an ICD (lauterbach) to pause the boot process after a few secs.
TLB

Chip selects

Law

0

There are 0 answers