[U-Boot-Users] Stops booting after RAM info

-- Hi all,
I am new to this list, I planned port u-boot on my board(pxa255), followed the procedure in README and i am able to compile the uboot.
I loaded the image on board. The messages i got when i boot the board are
------------------------------------------------------------- U-Boot 0.4.5 (Jun 16 2008 - 12:24:00)
U-Boot code: A3000000 -> A301BD30 BSS: -> A301FE98 DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB -------------------------------------------------------------
and it stops at that point. Please give me an hint where i am making the mistake.
Regards, Naveen

Hi all,
I tried to debug why it is stopping after
DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB
It is unable to find the flash type; and control is not coming out of flash_init() function.
Regards, Naveen.
On Mon, Jun 16, 2008 at 1:35 PM, navin karnam navin.karnam@gmail.com wrote:
-- Hi all,
I am new to this list, I planned port u-boot on my board(pxa255), followed the procedure in README and i am able to compile the uboot.
I loaded the image on board. The messages i got when i boot the board are
U-Boot 0.4.5 (Jun 16 2008 - 12:24:00)
U-Boot code: A3000000 -> A301BD30 BSS: -> A301FE98 DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB
and it stops at that point. Please give me an hint where i am making the mistake.
Regards, Naveen

I changed CFG_MAX_FLASH_BANKS from 2 to 1 soi am getting the message as Flash: 0 kB *** Warning - bad CRC, using default environment
and stops there.
On Tue, Jun 17, 2008 at 10:29 AM, navin karnam navin.karnam@gmail.com wrote:
Hi all,
I tried to debug why it is stopping after
DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB
It is unable to find the flash type; and control is not coming out of flash_init() function.
Regards, Naveen.
On Mon, Jun 16, 2008 at 1:35 PM, navin karnam navin.karnam@gmail.com wrote:
-- Hi all,
I am new to this list, I planned port u-boot on my board(pxa255), followed the procedure in README and i am able to compile the uboot.
I loaded the image on board. The messages i got when i boot the board are
U-Boot 0.4.5 (Jun 16 2008 - 12:24:00)
U-Boot code: A3000000 -> A301BD30 BSS: -> A301FE98 DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB
and it stops at that point. Please give me an hint where i am making the mistake.
Regards, Naveen
--
--

Hi,
As far as I know CFG_MAX_FLASH_BANKS should be set to 1 always. Multiple flash banks in u-boot are not supported.
Flash: 0 kB
This message is saying that u-boot was unable to detect the flash chip itself. The easiest way to get you flash working: 1. add flash id in include/flash.h (check your flash datasheet) 2. based on board/../flash.c get it working (probably you will need only sector organization, also a datasheet material)
Hope this helps.
Regards, Andrejs Cainikovs.
navin karnam wrote:
I changed CFG_MAX_FLASH_BANKS from 2 to 1 soi am getting the message as Flash: 0 kB *** Warning - bad CRC, using default environment
and stops there.
On Tue, Jun 17, 2008 at 10:29 AM, navin karnam <navin.karnam@gmail.com mailto:navin.karnam@gmail.com> wrote:
Hi all, I tried to debug why it is stopping after DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB It is unable to find the flash type; and control is not coming out of flash_init() function. Regards, Naveen. On Mon, Jun 16, 2008 at 1:35 PM, navin karnam <navin.karnam@gmail.com <mailto:navin.karnam@gmail.com>> wrote: -- Hi all, I am new to this list, I planned port u-boot on my board(pxa255), followed the procedure in README and i am able to compile the uboot. I loaded the image on board. The messages i got when i boot the board are ------------------------------------------------------------- U-Boot 0.4.5 (Jun 16 2008 - 12:24:00) U-Boot code: A3000000 -> A301BD30 BSS: -> A301FE98 DRAM Configuration: Bank #0: a0000000 64 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB ------------------------------------------------------------- and it stops at that point. Please give me an hint where i am making the mistake. Regards, Naveen --
--
Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php
U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

As far as I know CFG_MAX_FLASH_BANKS should be set to 1 always. Multiple flash banks in u-boot are not supported.
I have a system with two banks.
u-boot> flinfo
Bank # 1: CFI conformant FLASH (16 x 16) Size: 16 MB in 131 Sectors Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x1B Erase timeout: 4096 ms, write timeout: 1 ms Buffer write timeout: 2 ms, buffer size: 64 bytes
Sector Start Addresses: 60000000 RO 60008000 RO 60010000 RO 60018000 [...]
Bank # 2: CFI conformant FLASH (16 x 16) Size: 16 MB in 131 Sectors Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x1B Erase timeout: 4096 ms, write timeout: 1 ms Buffer write timeout: 2 ms, buffer size: 64 bytes
Sector Start Addresses: 10000000 RO 10008000 RO 10010000 RO 10018000 [...]
As expected, it also works in the older board with one bank only (no CFI QRY found for second bank and everything continues as smooth as always).
/alessandro

In message 4857C743.7060300@GlobalAutomationSystems.com you wrote:
As far as I know CFG_MAX_FLASH_BANKS should be set to 1 always. Multiple flash banks in u-boot are not supported.
Huuuu? Who claims so?
What do you think how these boards are working then:
include/configs/ADCIOP.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/BAB7xx.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/CCM.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/CPU86.h:#define CFG_MAX_FLASH_BANKS 2 /* max num of memory banks */ include/configs/CPU87.h:#define CFG_MAX_FLASH_BANKS 2 /* max num of memory banks */ include/configs/CU824.h:#define CFG_MAX_FLASH_BANKS 2 /* Max number of flash banks */ include/configs/ELPPC.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/EXBITGEN.h:#define CFG_MAX_FLASH_BANKS 5 /* max number of memory banks */ include/configs/IceCube.h:#define CFG_MAX_FLASH_BANKS 2 /* max num of memory banks */ include/configs/LANTEC.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/M54455EVB.h:# define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/M54455EVB.h:# define CFG_MAX_FLASH_BANKS 3 /* max number of memory banks */ include/configs/M5475EVB.h:# define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/M5485EVB.h:# define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/MOUSSE.h:#define CFG_MAX_FLASH_BANKS 3 /* Max number of flash banks */ include/configs/MPC8349ITX.h:#define CFG_MAX_FLASH_BANKS 2 /* number of banks */ include/configs/MPC8544DS.h:#define CFG_MAX_FLASH_BANKS 2 /* number of banks */ include/configs/MPC8548CDS.h:#define CFG_MAX_FLASH_BANKS 2 /* number of banks */ include/configs/MPC8555CDS.h:#define CFG_MAX_FLASH_BANKS 2 /* number of banks */ include/configs/MUSENKI.h:#define CFG_MAX_FLASH_BANKS 2 /* Max number of flash banks */ include/configs/NETPHONE.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/NETTA2.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/OCRTC.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/ORSG.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/P3G4.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/Rattler.h:#define CFG_JFFS2_NUM_BANKS CFG_MAX_FLASH_BANKS include/configs/SMN42.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/Sandpoint8245.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/TQM823L.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/TQM834x.h: * When CFG_MAX_FLASH_BANKS_DETECT is defined, the actual number of Flash include/configs/TQM834x.h: * tqm834x_num_flash_banks. The value of CFG_MAX_FLASH_BANKS_DETECT is only include/configs/TQM834x.h: * used instead of CFG_MAX_FLASH_BANKS to allocate the array flash_info, and include/configs/TQM834x.h: * CFG_MAX_FLASH_BANKS as the number of actual banks on the board, it is include/configs/TQM834x.h:#define CFG_MAX_FLASH_BANKS_DETECT 2 include/configs/TQM834x.h:#define CFG_MAX_FLASH_BANKS (tqm834x_num_flash_banks) include/configs/TQM855L.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/TQM85xx.h:#define CFG_MAX_FLASH_BANKS 2 /* number of banks */ include/configs/TQM862L.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/W7OLMC.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/W7OLMG.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/ZUMA.h:#define CFG_MAX_FLASH_BANKS 3 /* max number of memory banks */ include/configs/actux4.h:#define CFG_MAX_FLASH_BANKS 2 include/configs/bamboo.h:#define CFG_MAX_FLASH_BANKS 3 /* number of banks */ include/configs/bf533-ezkit.h:#define CFG_MAX_FLASH_BANKS 3 /* max number of memory banks */ include/configs/c2mon.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/cogent_mpc8xx.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/ebony.h:#define CFG_MAX_FLASH_BANKS 3 /* number of banks */ include/configs/ep8248.h:#define CFG_JFFS2_NUM_BANKS CFG_MAX_FLASH_BANKS include/configs/ep82xxm.h:#define CFG_JFFS2_NUM_BANKS CFG_MAX_FLASH_BANKS include/configs/gth2.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/hymod.h:#define CFG_MAX_FLASH_BANKS 2 /* max num of memory banks */ include/configs/impa7.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/incaip.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/korat.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/logodl.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/lpc2292sodimm.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/luan.h:#define CFG_MAX_FLASH_BANKS 3 /* max number of memory banks */ include/configs/lubbock.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/lwmon.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/lwmon5.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/mgcoge.h:#define CFG_MAX_FLASH_BANKS 2 /* max num of flash banks */ include/configs/ms7722se.h:#define CFG_MAX_FLASH_BANKS 2 include/configs/ocotea.h:#define CFG_MAX_FLASH_BANKS 3 /* number of banks */ include/configs/pcu_e.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/ppmc7xx.h: * CFG_MAX_FLASH_BANKS - Number of banks of flash on board include/configs/r2dplus.h:#define CFG_MAX_FLASH_BANKS (2) include/configs/rsdproto.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/sacsng.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/sc3.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/socrates.h:#define CFG_MAX_FLASH_BANKS 2 /* number of banks */ include/configs/sorcery.h:#define CFG_MAX_FLASH_BANKS 2 /* max num of flash banks */ include/configs/stxxtc.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/svm_sc8xx.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/taihu.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/v37.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/virtlab2.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/yucca.h:#define CFG_MAX_FLASH_BANKS 3 /* number of banks */
???
Flash: 0 kB
This message is saying that u-boot was unable to detect the flash chip itself. The easiest way to get you flash working:
- add flash id in include/flash.h (check your flash datasheet)
NO!!!! Use the CFI driver instead!!!
- based on board/../flash.c get it working (probably you will need only
sector organization, also a datasheet material)
NO!!!! Do not add custom drivers unless *really*, I mean REALLY necessary.
Best regards,
Wolfgang Denk

Wolfgang Denk wrote:
In message 4857C743.7060300@GlobalAutomationSystems.com you wrote:
As far as I know CFG_MAX_FLASH_BANKS should be set to 1 always. Multiple flash banks in u-boot are not supported.
Huuuu? Who claims so?
What do you think how these boards are working then:
include/configs/ADCIOP.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/BAB7xx.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ include/configs/CCM.h:#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ ...
???
Huh!? Well, there is some time since we have implemented the flash support for our board (Atmel AT91RM9200 based), but at the moment we have done that, as far as I remember it was impossible to support both chips we have.
Flash: 0 kB
This message is saying that u-boot was unable to detect the flash chip itself. The easiest way to get you flash working:
- add flash id in include/flash.h (check your flash datasheet)
NO!!!! Use the CFI driver instead!!!
- based on board/../flash.c get it working (probably you will need only
sector organization, also a datasheet material)
NO!!!! Do not add custom drivers unless *really*, I mean REALLY necessary.
Our boards flash driver is the same as in board/atmel/at91rm9200dk/flash.c The only thing that was modified is the flash identification routine, as there was no support for AT49BV642D. The flash organization for this chip is the same as in AT49BV6416 which exists in the sources, so we haven't changed a lot.
So, I think that's all are board dependent what and where are easier and/or faster to implement.
Best regards,
Wolfgang Denk
Kind regards, Andrejs Cainikovs.

In message 48584C2F.3090400@GlobalAutomationSystems.com you wrote:
So, I think that's all are board dependent what and where are easier and/or faster to implement.
I can understand this position to some extend from your local, project-specific point of view. But in general, and especially from the point of view a maintainer of the whole U-Boot project, I strongly discourage the use of custom flash drivers if you could use the CFI driver as well.
So please do not recommend to use custom drivers in new projects (and don't do it your self either), because such code will not be accepted for inclusion into mainline.
Best regards,
Wolfgang Denk

Wolfgang Denk wrote:
In message 48584C2F.3090400@GlobalAutomationSystems.com you wrote:
So, I think that's all are board dependent what and where are easier and/or faster to implement.
I can understand this position to some extend from your local, project-specific point of view. But in general, and especially from the point of view a maintainer of the whole U-Boot project, I strongly discourage the use of custom flash drivers if you could use the CFI driver as well.
So please do not recommend to use custom drivers in new projects (and don't do it your self either), because such code will not be accepted for inclusion into mainline.
Pardon... Now i'm wonder how easy CFI driver can be implemented on AT91 and why somebody haven't done this already. I think now I'll get my hands on that.
Kind regards, Andrejs Cainikovs.

Andrejs Cainikovs AndrejsC@GlobalAutomationSystems.com wrote:
Our boards flash driver is the same as in board/atmel/at91rm9200dk/flash.c The only thing that was modified is the flash identification routine, as there was no support for AT49BV642D.
This chip is supported by the CFI driver (the ATNGW100 board relies on that.)
The flash organization for this chip is the same as in AT49BV6416 which exists in the sources, so we haven't changed a lot.
This chip is not yet supported by the CFI driver. It needs a fixup due to reversed erase region information, but since the CFI driver only reads the low 8 bits of the ID, there's currently no way to tell it apart from AT49BV642D, which doesn't need this fixup.
If someone can figure out how to read a 16-bit ID when appropriate, I suspect we can get rid of quite a few board-specific flash drivers (including the one for ATSTK1000).
Unfortunately, I don't have the time to look into this myself at the moment.
Haavard

Hi all,
The flash chip in my board is Intel 28F256P33T which is not defined in the u-boot-1.1.6/include/flash.h
Please guide what is the procedure i should follow to add it.
On Wed, Jun 18, 2008 at 7:35 PM, Andrejs Cainikovs < AndrejsC@globalautomationsystems.com> wrote:
Haavard Skinnemoen wrote:
Andrejs Cainikovs AndrejsC@GlobalAutomationSystems.com AndrejsC@GlobalAutomationSystems.com wrote:
Our boards flash driver is the same as in board/atmel/at91rm9200dk/flash.c The only thing that was modified is the flash identification routine, as there was no support for AT49BV642D.
This chip is supported by the CFI driver (the ATNGW100 board relies on that.)
The flash organization for this chip is the same as in AT49BV6416 which exists in the sources, so we haven't changed a lot.
This chip is not yet supported by the CFI driver. It needs a fixup due to reversed erase region information, but since the CFI driver only reads the low 8 bits of the ID, there's currently no way to tell it apart from AT49BV642D, which doesn't need this fixup.
If someone can figure out how to read a 16-bit ID when appropriate, I suspect we can get rid of quite a few board-specific flash drivers (including the one for ATSTK1000).
Unfortunately, I don't have the time to look into this myself at the moment.
Haavard
+1 goes to Atmel people. Thanks, Haavard!
Kind reagards, Andrejs Cainikovs.
Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

navin karnam wrote:
Hi all,
The flash chip in my board is Intel 28F256P33T which is not defined in the u-boot-1.1.6/include/flash.h
Please guide what is the procedure i should follow to add it.
I suppose You haven't read a lot of your own thread.. Use CFI + add your flash ID. http://www.numonyx.com/Documents/Datasheets/314749_P33_Discrete_DS.pdf, page 78 - Table 36: CFI Identification
Kind regards, Andrejs Cainikovs.

In message 4859161B.5080505@GlobalAutomationSystems.com you wrote:
--===============0619104168== Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> <br> Haavard Skinnemoen wrote: <blockquote cite="mid:20080618142851.0c4a51a3@hskinnemo-gx745.norway.atmel.com" type="cite"> <pre wrap="">Andrejs Cainikovs <a class="moz-txt-link-rfc2396E" href="mailto:AndrejsC@GlobalAutomationSystems.com"><AndrejsC@GlobalAutomationSystems.com></a> wrote: </pre> <blockquote type="cite"> <pre wrap="">Our boards flash driver is the same as in board/atmel/at91rm9200dk/flash.c The only thing that was modified is the flash identification routine, as there was no support for AT49BV642D. </pre> </blockquote> <pre wrap=""><!----> This chip is supported by the CFI driver (the ATNGW100 board relies on that.)
STOP posting HTML to this list !!!
Wolfgang Denk
participants (5)
-
Alessandro Rubini
-
Andrejs Cainikovs
-
Haavard Skinnemoen
-
navin karnam
-
Wolfgang Denk