[U-Boot-Users] mpc8260 reset procedure

Hi all, I am new to embedded world and I am trying to port u-boot on a board based on the mpc8260. I hope I can bore you a little bit with a simple question. I use the Lauterbach Trace32 to program the 4Mb flash. I compile u-boot 1.0.2 using the following settings: �TEXT_BASE = fff00000 �CFG_DEFAULT_IMMR = 00010000 �CFG_IMMR = 0f000000 �CFG_SDRAM_BASE = 00000000 �CFG_FLASH_BASE = ffc00000 �CFG_BR0_PRELIM = ffc01001 �CFG_OR0_PRELIM = ffc00856 �CFG_BR1_PRELIM = 00000041 �CFG_OR1_PRELIM = f8002b00 �HRCW = 08 c2 01 07 Note that I use three Trace32 scripts to: - init the board - store the HRCW at the begin of the flash (FFC00000) - store the u-boot.bin at fff00000 � My problem is with the HRCW and the reset procedure. It is not clear how it works and what steps I should follow to setup everything. � When I start debugging, the Program Counter starts correctly from fff00100, but as soon as the code starts to manage IMMR everything seems to not work. It is like the code expect the registers in one position but in reality it is in another location. � I know it is basic knoledge about the mpc8260 but do you have any advices? Thanks � Walter
__________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/

Hi Walter,
According to your HRCW configuration, IMMR is set to 0x0f000000 after reset. CFG_DEFAULT_IMMR must be the IMMR after system reset (in your configuration, 0x0f000000 not 0x00010000), and CFG_IMMR is the IMMR that you would like to use inside u-boot. Since you keep the IMMR defined by HRCW, you don't need to define the CFG_DEFAULT_IMMR. Just comment out the CFG_DEFAULT_IMMR definition, and I guess it will fix your problem.
Sincerely, Ho
----- Original Message ----- From: "walter dicarlo" walter_dicarlo@yahoo.com To: u-boot-users@lists.sourceforge.net Sent: Wednesday, June 09, 2004 7:58 AM Subject: [U-Boot-Users] mpc8260 reset procedure
Hi all, I am new to embedded world and I am trying to port u-boot on a board based on the mpc8260. I hope I can bore you a little bit with a simple question. I use the Lauterbach Trace32 to program the 4Mb flash. I compile u-boot 1.0.2 using the following settings: TEXT_BASE = fff00000 CFG_DEFAULT_IMMR = 00010000 CFG_IMMR = 0f000000 CFG_SDRAM_BASE = 00000000 CFG_FLASH_BASE = ffc00000 CFG_BR0_PRELIM = ffc01001 CFG_OR0_PRELIM = ffc00856 CFG_BR1_PRELIM = 00000041 CFG_OR1_PRELIM = f8002b00 HRCW = 08 c2 01 07 Note that I use three Trace32 scripts to: - init the board - store the HRCW at the begin of the flash (FFC00000) - store the u-boot.bin at fff00000
My problem is with the HRCW and the reset procedure. It is not clear how it works and what steps I should follow to setup everything.
When I start debugging, the Program Counter starts correctly from fff00100, but as soon as the code starts to manage IMMR everything seems to not work. It is like the code expect the registers in one position but in reality it is in another location.
I know it is basic knoledge about the mpc8260 but do you have any advices? Thanks
Walter

Hi Ho,
I don't remeber the details but I have been forced to define the CFG_DEFAULT_IMMR. However, now, I have understood that the default IMMR should point to the begin of the register area (in my case 0x0f010000) while CFG_IMMR should point to the begin of the processor memory map (in my case 0x0f000000).
Thanks for your suggestion
Walter
--- Ho Lee flylist@linuxkernel.net wrote:
Hi Walter,
According to your HRCW configuration, IMMR is set to 0x0f000000 after reset. CFG_DEFAULT_IMMR must be the IMMR after system reset (in your configuration, 0x0f000000 not 0x00010000), and CFG_IMMR is the IMMR that you would like to use inside u-boot. Since you keep the IMMR defined by HRCW, you don't need to define the CFG_DEFAULT_IMMR. Just comment out the CFG_DEFAULT_IMMR definition, and I guess it will fix your problem.
Sincerely, Ho
----- Original Message ----- From: "walter dicarlo" walter_dicarlo@yahoo.com To: u-boot-users@lists.sourceforge.net Sent: Wednesday, June 09, 2004 7:58 AM Subject: [U-Boot-Users] mpc8260 reset procedure
Hi all, I am new to embedded world and I am trying to port u-boot on a board based on the mpc8260. I hope I can bore you a little bit with a simple question. I use the Lauterbach Trace32 to program the 4Mb flash. I compile u-boot 1.0.2 using the following settings: TEXT_BASE = fff00000 CFG_DEFAULT_IMMR = 00010000 CFG_IMMR = 0f000000 CFG_SDRAM_BASE = 00000000 CFG_FLASH_BASE = ffc00000 CFG_BR0_PRELIM = ffc01001 CFG_OR0_PRELIM = ffc00856 CFG_BR1_PRELIM = 00000041 CFG_OR1_PRELIM = f8002b00 HRCW = 08 c2 01 07 Note that I use three Trace32 scripts to:
- init the board
- store the HRCW at the begin of the flash
(FFC00000)
- store the u-boot.bin at fff00000
My problem is with the HRCW and the reset procedure. It is not clear how it works and what steps I should follow to setup everything.
When I start debugging, the Program Counter starts correctly from fff00100, but as soon as the code starts to manage IMMR everything seems to not work. It is like the code expect the registers in one position but in reality it is in another location.
I know it is basic knoledge about the mpc8260 but do you have any advices? Thanks
Walter
__________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/

In message 20040614093531.37881.qmail@web60005.mail.yahoo.com you wrote:
I don't remeber the details but I have been forced to define the CFG_DEFAULT_IMMR. However, now, I have understood that the default IMMR should point to the begin of the register area (in my case 0x0f010000) while CFG_IMMR should point to the begin of the processor memory map (in my case 0x0f000000).
Just to mention that this will bring you in trouble as soon as you attempt to boot Linux, since a 0x0F...... address does not meet the Linux kernel memory mapping requirements.
Wolfgang Denk
participants (3)
-
Ho Lee
-
walter dicarlo
-
Wolfgang Denk