imx51 u-boot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx51 u-boot

1,220 Views
wysockilukasz
Contributor II

Hello,

I have custom board with imx51, and u-boot 2009.

System starts from sd card but I would like to port it to parallel nor flash (Micron m29ew)  connected do CS0.

I modified config.h,

change: CONFIG_FLASH_HEADER_OFFSET 0x1000 /* 0x400 */

add:

#define CONFIG_SYS_FLASH_BASE       0Xb0000000
#define CONFIG_SYS_MAX_FLASH_BANKS  1      
#define CONFIG_SYS_MAX_FLASH_SECT   (1)    

#define CONFIG_SYS_MONITOR_BASE    0xb0000000

#define CONFIG_SYS_MONITOR_LEN   (384 * 1024)

#define CONFIG_ENV_ADDR         (CONFIG_SYS_FLASH_BASE + 384 * 1024)
#define    CONFIG_ENV_IS_IN_FLASH  1

#define CONFIG_ENV_SECT_SIZE    1023

#define CONFIG_ENV_OFFSET    ( CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN )

/*-----------------------------------------------------------------------

* CFI FLASH driver setup

*/

#define CONFIG_SYS_FLASH_CFI   1   

#define CONFIG_FLASH_CFI_DRIVER    1 

#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 

#define CONFIG_SYS_FLASH_ERASE_TOUT (100*CONFIG_SYS_HZ)
#define CONFIG_SYS_FLASH_WRITE_TOUT (100*CONFIG_SYS_HZ)

and set up all efuse but u-boot doesn't even start.

Can you help me?

Lukasz


Labels (2)
Tags (3)
0 Kudos
7 Replies

903 Views
fabio_estevam
NXP Employee
NXP Employee

I would suggest you to try a more recent U-boot, like 2013.04.

If you face issues with this version, then please post it to the u-boot list.

0 Kudos

903 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,wysockilukasz,

     The modification you did is not enough, Paralell nor flash will use WEIM interface of i.mx51, normally it has 25bit or 26bit address line and 16bit data lines, for example , probably you will use EIM_DA0~EIM_DA15 and EIM_A16~EIM_A25 to be address lines, and EIM_D16~EIM_D31 is used to be data lines; EIM_OE is reading signal, EIM_RW is writing signal, EIM_CS0 is used as chipselect,  So you will configure these pins in u-boot/board/freescale/mx51_bbg/mx51_bbg.c :

(1)IOMUX all pins you will use.

(2)Setting IOMUX mode( such as 16bit non-mux mode etc)

(3)Setting work mode (maybe it works as asysncronous mode)

(4)Setting total capacities on EIM_CS0 and disable other EIM_CSx.

For mode detail, please refer to weim interface in mcimx51RM.pdf

   Then on hardware, you should set boot_mode0 & boot_mode1 pin to be internal mode. and set corresponding EIM PINs to boot from Parallel NOR Flash connected to WEIM interface.

Regards,

Weidong

0 Kudos

903 Views
weidong_sun
NXP TechSupport
NXP TechSupport

,Hello,wysockilukasz,

         Do you understand above steps ?

Weidong

0 Kudos

903 Views
wysockilukasz
Contributor II

Hello and thanks for your reply!

I did all this of this changes, but I think that the problem is somewhere else.

It seems that lowlevel_init doesn't start at all.

In this part after Uart initialization (this code works when u-boot starts form sd card) -  before even u-boot starts I puts so small logs and now I can't see them.

I will be appreciate for your help!

Regards
Lukasz


0 Kudos

903 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi,wysockilukasz

      Could you share the following information ?

(1)Schematic of your board

(2)tell me the bsp version you are using

weidong

0 Kudos

903 Views
wysockilukasz
Contributor II

Hi!
Ad1. I can't show you my schematic but:

- address lines: EIM_DA0-EIM_DA15 + EIM_A16-EIM_A26
- data lines: EIM_D16 - EIM_D31
- chip select:  EIM_CS0

- Output Enable:  EIM_OE

- Write eneble: EIM_RW

Nor flash: PC28F00AM29EWL

I'm booting from internal flash witch fuse overridden by the GPIO.

BT_MEM_CTL - 00 WEIM

BT_MEM_TYPE - 00 NOR

BT_WITDTH - 0 16 bits

BT_WEIM_MUXED - 00 -Not muxed, not multiplexed with NAND,

                                        16-bit data (high half) NOR interface.

Ad.2. I'm using QNX Neutrino 6.4.1 BSP

Regards
Lukasz

0 Kudos

903 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,wysockilukasz,

      According to your description, your configuration / settings on hardware are all correct. But QNX bsp is supported by QNX Company, So probably you can try to contact with QNX supporting engineer.

weidong