From: Peter Tyser <ptyser@xes-inc.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Rules for board/* directory, was: [PATCH v3] Adding support for DevKit8000
Date: Fri, 21 Aug 2009 10:28:48 -0500 [thread overview]
Message-ID: <1250868528.18341.2080.camel@localhost.localdomain> (raw)
In-Reply-To: <4A8EB875.30309@googlemail.com>
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
prev parent reply other threads:[~2009-08-21 15:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-20 16:47 [U-Boot] [PATCH v3] Adding support for DevKit8000 Frederik Kriewitz
2009-08-20 17:02 ` Peter Tyser
2009-08-20 17:28 ` Dirk Behme
2009-08-20 18:37 ` Frederik Kriewitz
2009-08-20 20:20 ` Jean-Christophe PLAGNIOL-VILLARD
2009-08-21 13:00 ` Dirk Behme
2009-08-21 14:34 ` Peter Tyser
2009-08-21 15:08 ` [U-Boot] Rules for board/* directory, was: " Dirk Behme
2009-08-21 15:22 ` Detlev Zundel
2009-08-21 15:41 ` Dirk Behme
2009-08-21 16:04 ` Detlev Zundel
2009-08-21 18:07 ` Wolfgang Denk
2009-08-21 17:59 ` Wolfgang Denk
2009-08-21 23:27 ` Frederik Kriewitz
2009-08-22 8:14 ` Wolfgang Denk
2009-08-21 15:28 ` Peter Tyser [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1250868528.18341.2080.camel@localhost.localdomain \
--to=ptyser@xes-inc.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox