[U-Boot] [RFC PATCH 04/17] kconfig: add defconfig files for all boards

Daniel Schwierzeck
2014-03-20T13:17:07Z

2014-03-20 1:11 GMT+01:00 Masahiro Yamada <yamada.m@jp.panasonic.com>:
>
> Basicly I think it's a good idea, but I am afraid there are some
> problems.
>
> [1]
> First, in this case, how can we select the target board?
>
> Like this?
>
> choice
> prompt "Board select"
> default BOARD_SANDBOX
>
> config BOARD_VEXPRESS_AEMV8A
> bool "vexpress_aemv8a board"
>
> config BOARD_ARCANGEL4
> bool "arcangel4 board"
>
> [ Snip: a thousand of boards ]
>
> endchoice
>
> If we run "make config", a bunch of board choices
> would be displayed and be gone away quickly.
> For "make menuconfig", it would be hard to select the board
> you are aiming at.
>
>
> Maybe we should choose it in the top-down order?
> Like this?

I think only the top-down approach makes sense

>
> [2]
> CONFIG_CPU_
> CONFIG_SOC_
> CONFIG_VENDOR_
> CONFIG_BOARD_
> are systematic prefixes and easy to understand.
>
> But there are already some macros bound to
> specific CPUs, SoCs.
>
> For example,
> CONFIG_SOC_TEGRA30 would be the same as
> existing CONFIG_TEGRA30.
>
> We will have to merge macros with the same meaning.

in the first step we could do something like this:

config TEGRA30
bool

config SOC_TEGRA30
bool
select TEGRA30

>
> [3]
> How to select board directoy by using boolean macros.
>
> If we try to emulate arch/arm/Makefile of Linux,
>
> board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) := vexpress_aemv8a
> board-$(CONFIG_BOARD_AXS101) := axs101
> board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4
>
> Like this?
>

how about this:

Makefile:
...
lib-y += boards/
...

board/Makefile:
obj-$(CONFIG_BOARD_A3000) += a3000/
...
obj-$(CONFIG_VENDOR_NVIDIA) += nvidia/
...

board/nvidia/Makefile:
obj-y += common/
obj-$(CONFIG_BOARD_BEAVER) += beaver/
obj-$(CONFIG_BOARD_CARDHU) += cardhu/
...

--
- Daniel