[U-Boot] Board is not booting after flashing U-boot and hard reset

Hi All,
I am facing an error while flashing u-boot on my PPC4xx based board.
When I flash the u-boot on the PCI board I am developing, and hard reset the board, then the board is not able to boot up. Also I am not able to debug the code as probe connection fails.
Whar are the reason that I should check to see why the board is not booting up after hard reset. Is it fault in start.S or somewhere else in code I need to see?
It would be great if someone who already have a solution on this porblem, share his experience.
Thanks & Regards, Prakash Bedge

On Tuesday 29 December 2009 16:04:28 prakash bedge wrote:
I am facing an error while flashing u-boot on my PPC4xx based board.
What kind of PPC4xx are you using (405EX, 440SP, 440EPx, 460EX...)?
When I flash the u-boot on the PCI board I am developing, and hard reset the board, then the board is not able to boot up. Also I am not able to debug the code as probe connection fails.
Whar are the reason that I should check to see why the board is not booting up after hard reset. Is it fault in start.S or somewhere else in code I need to see?
It would be great if someone who already have a solution on this porblem, share his experience.
I suspect some problems with the bootstrap configuration. Are you using a fixed bootstrap option? Or are you using the bootstrap I2C EEPROM? If yes, is this EEPROM configured correctly?
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

Hi Stefan,
I am using PPC440GX. I did not understood what mean by EEPROM configuration. Do you want to say that board is using data from EEPROM? I believe I am using fix configuration as I am not calling any I2C call in bootloader code.
How to check this hard reset issue.
Thanks in Advance.
Prakash
On Wed, Dec 30, 2009 at 10:51 AM, Stefan Roese sr@denx.de wrote:
On Tuesday 29 December 2009 16:04:28 prakash bedge wrote:
I am facing an error while flashing u-boot on my PPC4xx based board.
What kind of PPC4xx are you using (405EX, 440SP, 440EPx, 460EX...)?
When I flash the u-boot on the PCI board I am developing, and hard reset the board, then the board is not able to boot up. Also I am not able to debug the code as probe connection fails.
Whar are the reason that I should check to see why the board is not
booting
up after hard reset. Is it fault in start.S or somewhere else in code I need to see?
It would be great if someone who already have a solution on this porblem, share his experience.
I suspect some problems with the bootstrap configuration. Are you using a fixed bootstrap option? Or are you using the bootstrap I2C EEPROM? If yes, is this EEPROM configured correctly?
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

Hi Prakash,
On Wednesday 30 December 2009 12:31:52 prakash bedge wrote:
I am using PPC440GX. I did not understood what mean by EEPROM configuration. Do you want to say that board is using data from EEPROM?
I'm talking about the bootstrap controller of the PPC. I suggest you take a look at chapter "9. IIC Bootstrap Controller" for more information about this.
I believe I am using fix configuration as I am not calling any I2C call in bootloader code.
You don't need to call it. The PPC is reading these I2C bootstrap values *before* starting the first lines of code from flash (if configured to use the I2C bootstrapping).
So how are the strapping pins (UART0_DCD, UART0_DSR) configured in your custom board?
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

Hi Stefan,
I am modifying the start.S code and I believe this is the basic initialization code need to bring up the board at start.
If I flash my sample initialization code in flash and do hard reset then board is working, but after flashing u-boot image, board does not boot up.
Even the system fails to detect the board from PCI slot and system do not start with the board in PCI slot. when I remove the board from PCI slot then system starts.
Is this issue related to PCI core?
It would be great if you can please send the pdf on IIC bootstrap controller for PPC440x5 core.
Thanks & Regards, Prakash
On Wed, Dec 30, 2009 at 5:21 PM, Stefan Roese sr@denx.de wrote:
Hi Prakash,
On Wednesday 30 December 2009 12:31:52 prakash bedge wrote:
I am using PPC440GX. I did not understood what mean by EEPROM configuration. Do you want to
say
that board is using data from EEPROM?
I'm talking about the bootstrap controller of the PPC. I suggest you take a look at chapter "9. IIC Bootstrap Controller" for more information about this.
I believe I am using fix configuration as I am not calling any I2C call
in
bootloader code.
You don't need to call it. The PPC is reading these I2C bootstrap values *before* starting the first lines of code from flash (if configured to use the I2C bootstrapping).
So how are the strapping pins (UART0_DCD, UART0_DSR) configured in your custom board?
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

Hi Prakash,
On Thursday 31 December 2009 05:39:35 prakash bedge wrote:
I am modifying the start.S code and I believe this is the basic initialization code need to bring up the board at start.
If I flash my sample initialization code in flash and do hard reset then board is working, but after flashing u-boot image, board does not boot up.
If you can execute some code from FLASH then you don't seem to have a problem with the I2C bootstrap configuration after all. Your U-Boot port is just not correct and crashing/hanging at some time.
Even the system fails to detect the board from PCI slot and system do not start with the board in PCI slot. when I remove the board from PCI slot then system starts.
Is this issue related to PCI core?
No. Most likely you need to configure the some PCI related registers in the 440GX core so that it can be accessed via the PCI bus (BAR address mapping etc).
It would be great if you can please send the pdf on IIC bootstrap controller for PPC440x5 core.
As it seems this is not a problem with the bootstrap controller. But I still recommend that you download the manuals from the Applied Micro (AMCC) page yourself.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

----- Original Message ----- From: "prakash bedge" embeddeddeveloper2009@gmail.com To: "Stefan Roese" sr@denx.de Cc: u-boot@lists.denx.de; sreedhar.a@jasmin-infotech.com Sent: Wednesday, December 30, 2009 5:01 PM Subject: Re: [U-Boot] Board is not booting after flashing U-boot and hard reset
Hi Stefan,
I am using PPC440GX. I did not understood what mean by EEPROM configuration. Do you want to say that board is using data from EEPROM? I believe I am using fix configuration as I am not calling any I2C call in bootloader code.
The bootstrap code resides in ROM. When you reset the board, PC jumps at that location. Bootstrap code redirects to secondary storage(may be NAND chip) where your U-boot should be existing. Check whether its jumping onto NAND address where you downloaded U-Boot inshort check your bootstrap configurations. Also check where you are downloading U-boot. Both should be same. after verifying above step, and if correct then for debugging U-Boot, you can do below steps:- 1) If your board have UART, then try to capture Log. If no message is coming, it means U-boot crashed in primary initialisation before UART got initialised. You can use LED(if you have one, on your board) for debugging step be step before UART initialisation. Once UART is up, then I think its very easy to debug the issue.
How to check this hard reset issue.
Thanks in Advance.
Prakash
On Wed, Dec 30, 2009 at 10:51 AM, Stefan Roese sr@denx.de wrote:
On Tuesday 29 December 2009 16:04:28 prakash bedge wrote:
I am facing an error while flashing u-boot on my PPC4xx based board.
What kind of PPC4xx are you using (405EX, 440SP, 440EPx, 460EX...)?
When I flash the u-boot on the PCI board I am developing, and hard reset the board, then the board is not able to boot up. Also I am not able to debug the code as probe connection fails.
Whar are the reason that I should check to see why the board is not
booting
up after hard reset. Is it fault in start.S or somewhere else in code I need to see?
It would be great if someone who already have a solution on this porblem, share his experience.
I suspect some problems with the bootstrap configuration. Are you using a fixed bootstrap option? Or are you using the bootstrap I2C EEPROM? If yes, is this EEPROM configured correctly?
Cheers, Stefan
Cheers Vivek
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
--------------------------------------------------------------------------------
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Stefan,
Why the below code start with the TLB1?
My U-boot image is supposed to boot from flash, so here #else condition is valid in my case. I believe it should start from the TLB 0 entry. But I think TLB0 is not selected.
code snippet from /cpu/ppc4xx/start.S
addis r0,0,0x0000 #ifdef CONFIG_SYS_RAMBOOT li r4,0 /* Start with TLB #0 */ #else li r4,1 /* Start with TLB #1 */ #endif li r1,64 /* 64 TLB entries */ sub r1,r1,r4 /* calculate last TLB # */ mtctr r1
... Here we are setting TLBs from 0-63. #else bl tlbtab /* Get tlbtab pointer */ #endif mr r5,r0 li r1,0x003f /* 64 TLB entries max */ mtctr r1 li r4,0 /* TLB # */
I might be not very clear of above code. Please explain.
Thanks, Prakash
On Tue, Dec 29, 2009 at 8:34 PM, prakash bedge < embeddeddeveloper2009@gmail.com> wrote:
Hi All,
I am facing an error while flashing u-boot on my PPC4xx based board.
When I flash the u-boot on the PCI board I am developing, and hard reset the board, then the board is not able to boot up. Also I am not able to debug the code as probe connection fails.
Whar are the reason that I should check to see why the board is not booting up after hard reset. Is it fault in start.S or somewhere else in code I need to see?
It would be great if someone who already have a solution on this porblem, share his experience.
Thanks & Regards, Prakash Bedge

Hi Prakash,
On Thursday 31 December 2009 11:04:50 prakash bedge wrote:
Why the below code start with the TLB1?
My U-boot image is supposed to boot from flash, so here #else condition is valid in my case. I believe it should start from the TLB 0 entry. But I think TLB0 is not selected.
code snippet from /cpu/ppc4xx/start.S
addis r0,0,0x0000 #ifdef CONFIG_SYS_RAMBOOT li r4,0 /* Start with TLB #0 */ #else li r4,1 /* Start with TLB #1 */ #endif li r1,64 /* 64 TLB entries */ sub r1,r1,r4 /* calculate last TLB # */ mtctr r1
.. Here we are setting TLBs from 0-63. #else bl tlbtab /* Get tlbtab pointer */ #endif mr r5,r0 li r1,0x003f /* 64 TLB entries max */ mtctr r1 li r4,0 /* TLB # */
I might be not very clear of above code. Please explain.
What makes you think that this code causes problems with your custom board port? Did you check the content of the TLB's using a JTAG debugger (tlb 0 63 on the BDI2000/3000)?
BTW: This code is working for all kind of PPC4xx boards. Even 440GX based ones. So I don't really expect a problem with your board in this code snippet here.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
participants (3)
-
prakash bedge
-
Stefan Roese
-
Vivek