[U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
Christian Riesch
christian.riesch at omicron.at
Wed Dec 14 22:49:01 CET 2011
Hi Tom,
thanks for your reply.
On Wed, Dec 14, 2011 at 8:15 PM, Tom Rini <trini at ti.com> wrote:
> On 12/14/2011 12:09 PM, Christian Riesch wrote:
>> I applied the changes that I did in include/configs/da850evm.h before to
>> da850_am18xxevm.h as well. I expected this to work on my board since the
>> board I used to test the SPI flash SPL patchset for the da850evm was
>> actually an AM1808 experimenter's kit.
>>
>> Now my SPL reports:
>>
>> SF: Unsupported manufacturer 20
>> failed.
>>
>> Manufacturer 0x20 seems to be ST and the main difference between
>> da850evm.h and da850_am18xxevm.h is the missing #define
>> CONFIG_SPI_FLASH_STMICRO in da850_am18xxevm.h.
>>
>> So my question is: Which boards are supported by da850_am18xxevm.h? I
>> thought that I probably have an old revision of the board, but I
>> couldn't find anything regarding SPI flash in LogicPD's PCNs.
>
> So, the da850evm is for the OMAP-L138 and da850_am18xxevm is for the
> AM18xx EVM. However, the config split was done, I believe, but folks on
> the L138 side and might not have been tried fully on the am1808. So
> since you've got the AM1808 and can test it there, lets add the missing
> SPI_FLASH define too. I think my coworker that did a quick non-SPL
> check of the code the other week also noted SPI wasn't supported.
Ok, I can do that.
But then I wonder why a separate .h file for the AM18xx EVM was introduced.
My AM18xx EVM works just fine with the da850evm.h configuration that's
currently in mainline u-boot.
I did a diff between the two:
> --- da850evm.h
> +++ da850_am18xxevm.h
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
> + * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
> *
> * Based on davinci_dvevm.h. Original Copyrights follow:
> *
> @@ -44,10 +44,7 @@
> #define CONFIG_SYS_HZ 1000
> #define CONFIG_SKIP_LOWLEVEL_INIT
> #define CONFIG_SYS_TEXT_BASE 0xc1080000
> -#define CONFIG_SYS_ICACHE_OFF
> -#define CONFIG_SYS_DCACHE_OFF
> -#define CONFIG_SYS_L2CACHE_OFF
Pointless because of
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/116671/focus=118643
So it could be removed.
> -
> +#define CONFIG_DA850_AM18X_EVM
Afaik this is used to pass the information whether this is AM1808 or
OMAP-L138 to the Linux kernel.
> /*
> * Memory Info
> */
> @@ -60,7 +57,7 @@
> #define CONFIG_SYS_MEMTEST_START (PHYS_SDRAM_1 + 0x2000000)
>
> /* memtest will be run on 16MB */
> -#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + 0x2000000 +
16*1024*1024)
> +#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + 0x2000000 + 16*1024*1024)
formatting only...
> #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
> #define CONFIG_STACKSIZE (256*1024) /* regular stack */
> @@ -79,7 +76,6 @@
>
> #define CONFIG_SPI
> #define CONFIG_SPI_FLASH
> -#define CONFIG_SPI_FLASH_STMICRO
I'll add this line back because my AM1808 experimenter's kit has an ST
flash.
> #define CONFIG_SPI_FLASH_WINBOND
> #define CONFIG_DAVINCI_SPI
> #define CONFIG_SYS_SPI_BASE DAVINCI_SPI1_BASE
> @@ -122,12 +118,14 @@
> * Network & Ethernet Configuration
> */
> #ifdef CONFIG_DRIVER_TI_EMAC
> +#define CONFIG_EMAC_MDIO_PHY_NUM 0
> #define CONFIG_MII
> #define CONFIG_BOOTP_DEFAULT
> #define CONFIG_BOOTP_DNS
> #define CONFIG_BOOTP_DNS2
> #define CONFIG_BOOTP_SEND_HOSTNAME
> #define CONFIG_NET_RETRY_COUNT 10
> +#define CONFIG_NET_MULTI
I don't know why these two additional lines are needed. Network works fine
with the da850evm.h config on my AM1808 experimenter's kit. Any ideas? Can
we remove these?
> #endif
>
> #ifdef CONFIG_USE_NOR
> @@ -160,7 +158,6 @@
> * U-Boot general configuration
> */
> #define CONFIG_MISC_INIT_R
> -#define CONFIG_BOARD_EARLY_INIT_F
I have a patch in my queue that adds this line also to da850_am1808evm.h to
allow booting without the UBL (similar to commit
ae5c77dd908edaf55025fa3f41095bfb9cb1b973).
> #define CONFIG_BOOTFILE "uImage" /* Boot file name */
> #define CONFIG_SYS_PROMPT "U-Boot > " /* Command Prompt */
> #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
> @@ -244,6 +241,6 @@
>
> /* additions for new relocation code, must added to all boards */
> #define CONFIG_SYS_SDRAM_BASE 0xc0000000
> -#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE +
0x1000 - /* Fix this */ \
> - GENERATED_GBL_DATA_SIZE)
> +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE +
0x1000 - \
> + /* Fix this */
GENERATED_GBL_DATA_SIZE)
Again formatting change only.
> #endif /* __CONFIG_H */
So from my point of view it looks like we could remove the entire
da850_am18xxevm.h and just find a different way to pass the
AM1808-or-OMAP-L138 information to Linux.
Regards, Christian
More information about the U-Boot
mailing list