[U-Boot] [PATCH 1/3] Add nitrogen6x board

Stefano Babic sbabic at denx.de
Mon Oct 8 14:54:35 CEST 2012


On 05/10/2012 22:03, Eric Nelson wrote:
> On 10/05/2012 12:00 PM, Tom Rini wrote:
>> On Fri, Oct 05, 2012 at 11:42:19AM -0700, Eric Nelson wrote:
>>> On 10/05/2012 10:24 AM, Albert ARIBAUD wrote:
>>>> Hi Eric,
>>>>
>>>> On Thu,  4 Oct 2012 12:49:07 -0700, Eric Nelson
>>>> <eric.nelson at boundarydevices.com>   wrote:
>>>>
>>>>> Signed-off-by: Eric Nelson<eric.nelson at boundarydevices.com>
>>>>> ---
>>>>>   board/boundary/nitrogen6x/Makefile     |   41 ++
>>>>>   board/boundary/nitrogen6x/README       |   77 +++
>>>>>   board/boundary/nitrogen6x/nitrogen6x.c |  840
>>>>> ++++++++++++++++++++++++++++++++
>>>>>   boards.cfg                             |    1 +
>>>>>   include/configs/nitrogen6x.h           |  242 +++++++++
>>>>>   5 files changed, 1201 insertions(+), 0 deletions(-)
>>>>>   create mode 100644 board/boundary/nitrogen6x/Makefile
>>>>>   create mode 100644 board/boundary/nitrogen6x/README
>>>>>   create mode 100644 board/boundary/nitrogen6x/nitrogen6x.c
>>>>>   create mode 100644 include/configs/nitrogen6x.h
>>>>
>>>> If this is essentially a copy of sabrelite, I am surprised that git
>>>> does not report any copies. Did you use -C with git format-patch ?
>>>>
>>>
>>> Hi Albert,
>>>
>>> I didn't use '-C' (didn't know about it: thanks for the tip!).
>>>
>>> It wouldn't have detected copies though, because I made slight
>>> changes in each of these files, replacing the board names and
>>> file names in board/boundary/ and altering the default environment
>>> (policy bits) in nitrogen6x.h.
>>
>> And we can't deal with this by factoring the code differently?
>>
> Hi Tom,
> 
> There are two bits to this question:
>     - Can we represent the policy differences outside of a
>     board structure? These differences are all inside of
>     include/configs/nitrogen6x.
> 

What we have already done is to set a common config header that is
included by both include/configs/nitrogen6x and include/configs/sabrelite.
See for example mx6qsabre_common.h, with the boards mx6qsabresd and
mx6qsabreauto.

>     - Can we represent the board differences without a
>     board structure? This is a bit harder, since the
>     boards are slightly different. The Nitrogen6X has
>     a different ethernet PHY reset pin and an optional
>     SDIO Wi-Fi module.

Ona major point is *how* you want to represent your board into U-boot,
even if it is derived from a Freescale's evaluation board. In many case
a vendor directory is desired (freescale vs boundary).

> 
>     We could add code to SABRE Lite to accommodate these,
>     but it seems that sets a bad precedent. Would this
>     be done for every vendor that bases a design on
>     SABRE Lite?

I am afraid that it is easy to reach the case when changes for a vendor
will break other boards, and getting all in sync can be problematic.

> 
> The precise diffs for the configs and sources is attached for
> reference.
> 
> I've also been pondering how to simply re-use the code within
> the board setup file (mx6qsabrelite.c), but I haven't figured
> anything out. Clearly a lot of the code is duplicated, but at
> the same time it's board-specific.
> 
> For example, we could create a common module that sets up
> the SD card pads "like SABRE Lite", and a similar one to
> configure ethernet pads. Since SABRE Lite is a reference design,
> perhaps that makes sense.

I think that another example in u-boot doing this is for davinci (8xx)
boards, At least three boards share the same board structure, see
board/davinci/da8xxevm/Makefile.

Very board related functions are compiled using CONFIG_MACH:

COBJS-$(CONFIG_MACH_DAVINCI_DA830_EVM)  += da830evm.o
COBJS-$(CONFIG_MACH_DAVINCI_DA850_EVM)  += da850evm.o
COBJS-$(CONFIG_MACH_DAVINCI_HAWK)       += hawkboard.o

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list