[U-Boot] Attempts to make U-Boot start from L2 Cache on P2020RDB-like board

Ira W. Snyder iws at ovro.caltech.edu
Mon Nov 28 23:59:35 CET 2011


On Mon, Nov 28, 2011 at 11:22:01PM +0100, Wojciech Zabolotny wrote:
> Hi,
> I'm trying to achieve starting of U-Boot from L2 cache memory after
> downloading from SD card.
> The board is P2020RDB-like, however it contains only 512MB of memory.
> Because we suspect, that there may be problems with DDR memory, we
> wanted at least to get U-Boot starting from L2 cache configured as
> SRAM.
> 
> Finally I got the U-boot starting and displaying the first messages via UART:
> vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> U-Boot 2011.09-01153-gdca61f0-dirty (Nov 28 2011 - 15:35:03)
> 
> CPU0:  P2020E, Version: 2.0, (0x80ea0020)
> Core:  E500, Version: 5.0, (0x80211050)
> Clock Configuration:
>       CPU0:1200 MHz, CPU1:1200 MHz,
>       CCB:600  MHz,
>       DDR:333.333 MHz (666.667 MT/s data rate) (Asynchronous), LBC:37.500 MHz
> L1:    D-cache 32 kB enabled
>       I-cache 32 kB enabled
> Board: P2020RDB RevD
> I2C:   ready
> SPI:   ready
> DRAM:  Configuring DDR for 666.667 MT/s data rate
> 1 GiB (DDR2, 64-bit, CL=5, ECC off)
> NOR Flash Bank : Primary
> SD/MMC : 4-bit Mode
> eSPI : Enabled
> Flash: 16 MiB
> L2:    512 KB enabled
> NAND:  32 MiB
> MMC:  FSL_ESDHC: 0
> 
> Data Read Failed in PIO Mode.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> To achieve that I had to withdraw the patch described in:
> http://lists.denx.de/pipermail/u-boot/2011-March/088279.html
> 
> I also had to change the CONFIG_SYS_TEXT_BASE in P1_P2_RDB.h :
> 64,65c64,65
> < #define CONFIG_SYS_TEXT_BASE          0xf8f80000
> < #define CONFIG_RESET_VECTOR_ADDRESS   0xf8fffffc
> ---
> > #define CONFIG_SYS_TEXT_BASE          0x11000000
> > #define CONFIG_RESET_VECTOR_ADDRESS   0x1107fffc
> 70,71c70,71
> < #define CONFIG_SYS_TEXT_BASE          0xf8f80000
> < #define CONFIG_RESET_VECTOR_ADDRESS   0xf8fffffc
> ---
> > #define CONFIG_SYS_TEXT_BASE          0x11000000
> > #define CONFIG_RESET_VECTOR_ADDRESS   0x1107fffc
> 
> 
> The u-boot was compiled with
> make P2020RDB_SDCARD_config
> make
> 
> The config for boot_format was:
> 40:424f4f54
> 44:00000000
> 48:00080000
> 4c:00000000
> 50:00001000
> 54:00000000
> 58:f8f80000
> 5c:00000000
> 60:f8fff000
> 64:00000000
> 68:00000006
> 
> 80:ff720100
> 84:f8f80000
> 88:ff720e44
> 8c:0000000c
> 90:ff720000
> 94:80010000
> 98:ff72e40c
> 9c:00000040
> a0:40000001
> a4:00000100
> a8:80000001
> ac:80000001
> 
> It seems that the U-Boot somehow misconfigures the SD controller.
> The first part of U-Boot is loading correctly and the initial messages
> are displayed,
> but when it tries to continue downloading, it displays the "Data Read
> Failed in PIO Mode."
> and hangs.
> I will appreciate any further pointers...

I ran into this issue on the P2020COME board recently. I think the
include/configs/P1_P2_RDB.h file isn't correct for P2020.

Try removing the 3 lines:
#ifdef CONFIG_P2020
#define CONFIG_SYS_FSL_ESDHC_USE_PIO /* P2020 eSDHC DMA is not functional */
#endif

And add this line in their place:
#define CONFIG_SYS_FSL_ESDHC_BROKEN_TIMEOUT

Let me know if that helps. PIO mode was broken on my P2020, DMA mode
worked.

Ira


More information about the U-Boot mailing list