[U-Boot] Rules for board/* directory, was: [PATCH v3] Adding support for DevKit8000
Peter Tyser
ptyser at xes-inc.com
Fri Aug 21 17:28:48 CEST 2009
Hi Dirk,
> > My understanding is that the board/ layout should be "/board/<board
> > vendor or board name>/...". So even though the Frederik's board has a
> > TI OMAP3 cpu, he shouldn't put it in board/ti or board/omap3 since
> > neither TI nor OMAP3 made the DevKit8000.
> ...
> > For example, there are mpc8548, mpc8572, mpc8548, and amcc440-based
> > boards in board/xes, but they are all made by the X-ES company.
> >
> > Jean-Christophe is saying you should put your board in either:
> > board/devkit8000/
> >
> > or, if your company (embedinfo?) plans on adding more than just the
> > devkit8000, put it in:
> > board/embedinfo/devkit8000
> > board/embedinto/<future_board_x>
>
> I really dislike this. With OMAP3 this would result in something like
>
> board/DigiKey/beagle (or board/TI/beagle?)
> board/gumstix/overo
> board/mistral/evm (or board/TI/evm? )
> board/xx/pandora
> board/zz/zoom1
> board/yy/zoom2
>
> etc.
>
> Same for DaVinci.
>
> After some time, or for somebody not familiar with it, it would be
> really hard to identify that all these are the same platform where
> grouping (and identifying common code) makes sense. It would pollute
> the number of directories in board even more.
I don't think most end users care much about which boards correlate to
which platform - they care about where the board they are currently
working with is located in the U-Boot tree. From this perspective, I
think board/<vendor> makes sense. Eg I'm working on an X-ES board, I'll
look in board/xes, I'm working on a Freescale reference platform, I look
in board/freescale.
> > I agree that other boards currently in board/omap3 should be moved to an
> > appropriate board/<board vendor or board name> directory in the long
> > run, ideally sooner rather than later:)
>
> I disagree with this.
>
> Having board/<board vendor or board name>
>
> resulting in e.g.
>
> board/embedinfo/devkit8000
> board/embedinto/<future_board_x>
>
> would result in a lot of more (unorganized) directories in board/* . I
> can't see any advantage in adding *more* directories into board/*.
> Instead, I see an advantage in having less directories in board/*,
> resulting in more organization/grouping.
>
> Doing something like
>
> board/ti/omap3
> board/ti/omap2
> board/ti/omap1
> board/ti/davinci
>
> would help to make board/* cleaner.
I think its a matter of opinion. Some companies support many different
cpu architectures. I like having our X-ES-specific code in 1 location,
board/xes. X-ES boards can then easily share common code too, eg
board/xes/common/. Where would vendor-specific code that was used on
multiple boards be located if the board/<vendor> layout is not used?
The alternative is something like:
board/freescale/mpc85xx/xpedite5370/
board/freescale/mpc86xx/xpedite5170/
board/amcc/ppc44x/xpedite1000/
<somewhere else?>/xes-common/
This seems more disorganized than board/xes to me.
> At the moment we have
>
> board/omap3
> board/davinci
>
> what I feel is even better (cleaner) than what we would get with
> board/<board vendor or board name>
I think this breaks down (or at least is less appealing) when a board
vendor supports a number of different cpus and has some code that is
shared between their boards.
> > That being said, I think it
> > would make sense to put the devkit8000 in either board/devkit8000/ or
> > board/embedinfo/devkit8000 now as that is the "correct" place for it.
>
> Well, I just can't see what the advantage of this "correct" place
> might be. So from the rule point of view, it might make sense, but
> maybe we should adapt the rule, then?
>
> Looking at the TI stuff, it seems to me that a lot of (small?
> different?) companies are using the same SoCs and doing boards with
> these. Most of the U-Boot code is similar, then. But these companies
> are doing only one or two boards. So it makes more sense to group
> these boards based on the SoC (vendor), instead of the board vendor or
> even worse the board name.
I can see that angle, but I can see other angles too. I'd lean towards
the current layout (technically how the PPC boards are currently
organized), but if you had a good solution for us vendors that support a
number of different CPUs and have some common vendor code, it'd be
interesting to discuss.
Best,
Peter
More information about the U-Boot
mailing list