[U-Boot] [PATCH v4 10/14] OMAP3 SPL: Add identify_nand_chip function

Tom Rini tom.rini at gmail.com
Mon Nov 21 15:12:41 CET 2011


On Mon, Nov 21, 2011 at 12:04 AM, Igor Grinberg <grinberg at compulab.co.il> wrote:
> On 11/20/11 16:26, Tom Rini wrote:
>> On Sun, Nov 20, 2011 at 12:36 AM, Igor Grinberg <grinberg at compulab.co.il> wrote:
>>> Hi Tom,
>>>
>>> On 11/19/11 00:48, Tom Rini wrote:
>>>> A number of boards are populated with a PoP chip for both DDR and NAND
>>>> memory.  Other boards may simply use this as an easy way to identify
>>>> board revs.  So we provide a function that can be called early to reset
>>>> the NAND chip and return the result of NAND_CMD_READID.  All of this
>>>> code is put into spl_id_nand.c and controlled via CONFIG_SPL_OMAP3_ID_NAND.
>>>>
>>>> Signed-off-by: Tom Rini <trini at ti.com>
>>>> ---
>>>>  arch/arm/cpu/armv7/omap3/Makefile           |    3 +
>>>>  arch/arm/cpu/armv7/omap3/spl_id_nand.c      |   87 +++++++++++++++++++++++++++
>>>>  arch/arm/include/asm/arch-omap3/sys_proto.h |    1 +
>>>>  3 files changed, 91 insertions(+), 0 deletions(-)
>>>>  create mode 100644 arch/arm/cpu/armv7/omap3/spl_id_nand.c
>>>>
>>>> diff --git a/arch/arm/cpu/armv7/omap3/Makefile b/arch/arm/cpu/armv7/omap3/Makefile
>>>> index 8e85891..4b38e45 100644
>>>> --- a/arch/arm/cpu/armv7/omap3/Makefile
>>>> +++ b/arch/arm/cpu/armv7/omap3/Makefile
>>>> @@ -31,6 +31,9 @@ COBJS       += board.o
>>>>  COBJS        += clock.o
>>>>  COBJS        += mem.o
>>>>  COBJS        += sys_info.o
>>>> +ifdef CONFIG_SPL_BUILD
>>>> +COBJS-$(CONFIG_SPL_OMAP3_ID_NAND)    += spl_id_nand.o
>>>> +endif
>>>
>>> You haven't responded to my question on the above stuff.
>>> Otherwise all the series look good to me.
>>
>> Missed that, sorry!
>>
>>>
>>> Original version available at:
>>> http://www.mail-archive.com/u-boot@lists.denx.de/msg68828.html
>>>
>>> Here is the relevant part:
>>>
>>>>>> diff --git a/arch/arm/cpu/armv7/omap3/Makefile b/arch/arm/cpu/armv7/omap3/Makefile
>>>>>>>>> index 8e85891..772f3d4 100644
>>>>>>>>> --- a/arch/arm/cpu/armv7/omap3/Makefile
>>>>>>>>> +++ b/arch/arm/cpu/armv7/omap3/Makefile
>>>>>>>>> @@ -31,6 +31,9 @@ COBJS += board.o
>>>>>>>>>  COBJS  += clock.o
>>>>>>>>>  COBJS  += mem.o
>>>>>>>>>  COBJS  += sys_info.o
>>>>>>>>> +ifdef CONFIG_SPL_BUILD
>>>>>>>>> +COBJS-$(CONFIG_SPL_OMAP3_POP_PROBE)    += spl_pop_probe.o
>>>>>>>>> +endif
>>>>>>>
>>>>>>> Can't CONFIG_SPL_OMAP3_..._PROBE symbol default to "no"
>>>>>>> and depend on CONFIG_SPL_BUILD, so you don't need to enclose
>>>>>>> it in #ifdef?
>>>>>
>>>>> But then it would build for both SPL and non-SPL cases.
>>>
>>> No, it should not.
>>> What do you think of the following:
>>> In the Makefile have only:
>>> COBJS-$(CONFIG_SPL_OMAP3_POP_PROBE)     += spl_pop_probe.o
>>>
>>> Then in the spl_pop_probe.c have this type of check:
>>> #ifndef CONFIG_SPL_BUILD
>>> # error CONFIG_SPL_OMAP3_POP_PROBE requires CONFIG_SPL_BUILD
>>> #endif
>>>
>>> This way, you require the CONFIG_SPL_OMAP3_POP_PROBE symbol
>>> be a part of the CONFIG_SPL_BUILD symbols group.
>>
>> Well, if we always link this, but then #error, U-Boot won't build :)
>
> No you do not always link this... please, read more carefully...
> Only when CONFIG_SPL_OMAP3_POP_PROBE symbol is defined, the file will
> be compiled, but if CONFIG_SPL_OMAP3_POP_PROBE defined without
> CONFIG_SPL_BUILD being defined, then it will emit an error.

So make the config file do:
#ifdef CONFIG_SPL_BUILD
#define CONFIG_SPL_OMAP3_POP_PROBE
#endif
?  That's now how the rest of the SPL code works.

-- 
Tom


More information about the U-Boot mailing list