Version 0 of Kconfig for U-Boot
Subsystems (22)
RFC PATCH 4/17 kconfig: add defconfig files for all boards
In reply to Daniel SchwierzeckDear Daniel Schwierzeck,
please do not full-quote. Thanks.
Quoted 8 lines · In message <CACUy__Uc8-xDMRiJm7SM1UfF_hVAdHKN9_MZC5FV0D=zDrAPeA@mail.gmail.com>…
maybe we should import get_maintainers.pl from kernel and readd
MAINTAINERSin the according format. So we could easily maintain infos about board maintainers, custodians, custodian trees and maintaining status per arch, CPU, SOC, drivers and boards in one place. Currently that is not possible because one has to look into different sources (boards.cfg, README's, U-Boot Wiki, git history, source file) to get those infos.
We have just created such a single point of information (boards.cfg), and now we're ripping it apart again :-(
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "It is better to have tried and failed than to have failed to try, but the result's the same." - Mike Dennison
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Quoted 14 lines · Wolfgang Denk
Dear Daniel Schwierzeck,
please do not full-quote. Thanks.
Quoted 8 lines · In message <CACUy__Uc8-xDMRiJm7SM1UfF_hVAdHKN9_MZC5FV0D=zDrAPeA@mail.gmail.com>…
maybe we should import get_maintainers.pl from kernel and readd
MAINTAINERSin the according format. So we could easily maintain infos about board maintainers, custodians, custodian trees and maintaining status per arch, CPU, SOC, drivers and boards in one place. Currently that is not possible because one has to look into different sources (boards.cfg, README's, U-Boot Wiki, git history, source file) to get those infos.
Quoted 2 lines
We have just created such a single point of information (boards.cfg), and now we're ripping it apart again :-(
What Daniel said is right, we don't have a single point today, we have boards.cfg, wiki and other stuff. Being able to leverage get_maintainers.pl would be nice, even if it's a bit of a pain that we just got things into boards.cfg. On the other hand, it's good that we've just spent some time sorting and checking the information and it's a regex'able problem to go from boards.cfg to MAINTAINERS.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140319/12648acd/attachment.pgp>
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Hi Tom,
Quoted 13 lines
Quoted 10 lines
Quoted 8 lines · In message <CACUy__Uc8-xDMRiJm7SM1UfF_hVAdHKN9_MZC5FV0D=zDrAPeA@mail.gmail.com>…
maybe we should import get_maintainers.pl from kernel and readd
MAINTAINERSin the according format. So we could easily maintain infos about board maintainers, custodians, custodian trees and maintaining status per arch, CPU, SOC, drivers and boards in one place. Currently that is not possible because one has to look into different sources (boards.cfg, README's, U-Boot Wiki, git history, source file) to get those infos.Quoted 2 lines
We have just created such a single point of information (boards.cfg), and now we're ripping it apart again :-(
Quoted 6 lines
What Daniel said is right, we don't have a single point today, we have boards.cfg, wiki and other stuff. Being able to leverage get_maintainers.pl would be nice, even if it's a bit of a pain that we just got things into boards.cfg. On the other hand, it's good that we've just spent some time sorting and checking the information and it's a regex'able problem to go from boards.cfg to
MAINTAINERS.
We can move forward this work first apart from Kconfig, can't we? It is a cosmetic change so it can be merged even if MW is closed.
BTW, is this task expected to me?
Or can anyone do it? (This would be very appreciated.)
Best Regards
Masahiro Yamada
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Quoted 23 lines · Masahiro Yamada
Hi Tom,
Quoted 13 lines
Quoted 10 lines
Quoted 8 lines · In message <CACUy__Uc8-xDMRiJm7SM1UfF_hVAdHKN9_MZC5FV0D=zDrAPeA@mail.gmail.com>…
maybe we should import get_maintainers.pl from kernel and readd
MAINTAINERSin the according format. So we could easily maintain infos about board maintainers, custodians, custodian trees and maintaining status per arch, CPU, SOC, drivers and boards in one place. Currently that is not possible because one has to look into different sources (boards.cfg, README's, U-Boot Wiki, git history, source file) to get those infos.Quoted 2 lines
We have just created such a single point of information (boards.cfg), and now we're ripping it apart again :-(
Quoted 6 lines
What Daniel said is right, we don't have a single point today, we have boards.cfg, wiki and other stuff. Being able to leverage get_maintainers.pl would be nice, even if it's a bit of a pain that we just got things into boards.cfg. On the other hand, it's good that we've just spent some time sorting and checking the information and it's a regex'able problem to go from boards.cfg to
MAINTAINERS.
Quoted 5 lines
We can move forward this work first apart from
Kconfig, can't we? It is a cosmetic change so it can be merged even if MW is closed.BTW, is this task expected to me?
Or can anyone do it? (This would be very appreciated.)
I did some quick playing with sed and I can see a way to the end so I'll take care of that.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140321/3cc388c0/attachment.pgp>
RFC PATCH 4/17 kconfig: add defconfig files for all boards
In reply to Daniel SchwierzeckHi Daniel,
Quoted 31 lines
agree. But at first we should introduce
Kconfigfiles in all arch, CPU, SOC, SOC common, board vendor, board and driver directories where we put allCONFIG_SYS_symbols. We also need to convert the current config options for CPU, SOC, vendor and board. For example:
CONFIG_SYS_CPU="armv7"CONFIG_SOC_DIR=yCONFIG_SYS_SOC="tegra30"CONFIG_SYS_BOARD="beaver"CONFIG_VENDOR_DIR=yCONFIG_SYS_VENDOR="nvidia"CONFIG_SYS_CONFIG_NAME="beaver"should be converted to something like this:
CONFIG_CPU_ARMV7=yCONFIG_SOC_TEGRA30=yCONFIG_VENDOR_NVIDIA=yCONFIG_BOARD_BEAVER=yThen we can use the
Kconfigsymbol dependencies to create a minimal working board config. For example:board/nvidia/beaver/Kconfig:
configBOARD_BEAVER
bool "board description"
selectVENDOR_NVIDIA
selectSOC_TEGRA30
select SPL
...
Quoted 8 lines
arch/arm/cpu/armv7/tegra30/Kconfig:
configSOC_TEGRA30bool select ARMV7 ...The
beaver_defconfigfile could reduced then to "CONFIG_BOARD_BEAVER=y" and some default user-editable options.
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?
(1) 1st Level : Architecture select
choice
prompt "Architecture select"
config ARM
bool "ARM architecture"
.....
(2) 2rd Level: CPU select
choice
prompt "CPU select"
depends on ARM
config CPU_ARMV7
bool "ARM v7"
....
(3) 3rd level: SoC select
choice
prompt "SoC select"
depends on CPU_ARMV7
config SOC_TEGRA
bool "Tegra SoC"
.....
(4) 4th level: Board select
choice
prompt "Board select"
depends on SOC_TEGRA
config BOARD_BEAVER
bool "Tegra SoC"
[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.
[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?
Best Regards
Masahiro Yamada
RFC PATCH 4/17 kconfig: add defconfig files for all boards
2014-03-20 1:11 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 23 lines
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"
defaultBOARD_SANDBOXconfig
BOARD_VEXPRESS_AEMV8A
bool "vexpress_aemv8aboard"config
BOARD_ARCANGEL4
bool "arcangel4 board"[ Snip: a thousand of boards ]
endchoice
Quoted 8 lines
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
Quoted 8 lines
[2]
CONFIG_CPU_CONFIG_SOC_CONFIG_VENDOR_CONFIG_BOARD_
are systematic prefixes and easy to understand.
Quoted 8 lines
But there are already some macros bound to
specific CPUs, SoCs.For example,
CONFIG_SOC_TEGRA30would be the same as
existingCONFIG_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
Quoted 4 lines
[3]
How to select board directoy by using boolean macros.
Quoted 8 lines
If we try to emulate
arch/arm/Makefileof Linux,board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) :=
vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4Like 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/
...
Signature · 1 line
- Daniel
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Quoted 87 lines · Daniel Schwierzeck
2014-03-20 1:11 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 23 lines
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"
defaultBOARD_SANDBOXconfig
BOARD_VEXPRESS_AEMV8A
bool "vexpress_aemv8aboard"config
BOARD_ARCANGEL4
bool "arcangel4 board"[ Snip: a thousand of boards ]
endchoice
Quoted 8 lines
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
Quoted 8 lines
[2]
CONFIG_CPU_CONFIG_SOC_CONFIG_VENDOR_CONFIG_BOARD_
are systematic prefixes and easy to understand.Quoted 8 lines
But there are already some macros bound to
specific CPUs, SoCs.For example,
CONFIG_SOC_TEGRA30would be the same as
existingCONFIG_TEGRA30.We will have to merge macros with the same meaning.
in the first step we could do something like this:
config TEGRA30
boolconfig
SOC_TEGRA30
bool
select TEGRA30Quoted 4 lines
[3]
How to select board directoy by using boolean macros.Quoted 8 lines
If we try to emulate
arch/arm/Makefileof Linux,board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) :=
vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4Like this?
how about this:
Makefile:
...
lib-y += boards/
...board/Makefile:
obj-$(CONFIG_BOARD_A3000) += a3000/
...
obj-$(CONFIG_VENDOR_NVIDIA) += nvidia/
...
Quoted 5 lines
board/nvidia/Makefile:
obj-y += common/
obj-$(CONFIG_BOARD_BEAVER) += beaver/
obj-$(CONFIG_BOARD_CARDHU) += cardhu/
...
Yes, would something like this be doable? Thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140321/6a596a33/attachment.pgp>
RFC PATCH 4/17 kconfig: add defconfig files for all boards
2014-03-21 19:05 GMT+01:00 Tom Rini <[email protected]>:
Quoted 28 lines · Daniel Schwierzeck
Quoted 27 lines
2014-03-20 1:11 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 4 lines
[3]
How to select board directoy by using boolean macros.Quoted 8 lines
If we try to emulate
arch/arm/Makefileof Linux,board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) :=
vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4Like this?
how about this:
Makefile:
...
lib-y += boards/
...board/Makefile:
obj-$(CONFIG_BOARD_A3000) += a3000/
...
obj-$(CONFIG_VENDOR_NVIDIA) += nvidia/
...
Quoted 8 lines
Quoted 5 lines
board/nvidia/Makefile:
obj-y += common/
obj-$(CONFIG_BOARD_BEAVER) += beaver/
obj-$(CONFIG_BOARD_CARDHU) += cardhu/
...Yes, would something like this be doable? Thanks!
yes, I played with it and created a script to generate all necessary board and vendor Makefiles from boards.cfg. If we tweak mkconfig, It already works with the current mainline.
The patches are pushed to: git://git.denx.de/u-boot-mips.git kconfig-support
If you want I can post a patch series and also create patches for CPU and SOC directories.
Signature · 1 line
- Daniel
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Hi Daniel,
Quoted 38 lines · On Sat, 22 Mar 2014 18:14:23 +0100 Daniel Schwierzeck…
2014-03-21 19:05 GMT+01:00 Tom Rini <[email protected]>:
Quoted 28 lines · Daniel Schwierzeck
Quoted 27 lines
2014-03-20 1:11 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 4 lines
[3]
How to select board directoy by using boolean macros.Quoted 8 lines
If we try to emulate
arch/arm/Makefileof Linux,board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) :=
vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4Like this?
how about this:
Makefile:
...
lib-y += boards/
...board/Makefile:
obj-$(CONFIG_BOARD_A3000) += a3000/
...
obj-$(CONFIG_VENDOR_NVIDIA) += nvidia/
...Quoted 8 lines
Quoted 5 lines
board/nvidia/Makefile:
obj-y += common/
obj-$(CONFIG_BOARD_BEAVER) += beaver/
obj-$(CONFIG_BOARD_CARDHU) += cardhu/
...Yes, would something like this be doable? Thanks!
Quoted 8 lines
yes, I played with it and created a script to generate all necessary board and vendor Makefiles from boards.cfg. If we tweak mkconfig, It already works with the current mainline.
The patches are pushed to:
git://git.denx.de/u-boot-mips.gitkconfig-supportIf you want I can post a patch series and also create patches for CPU and SOC directories.
Thanks for your effort. I think basicly we're going to the right direction. But I am afraind more careful check is necessary before posting the series.
I did build test on your patches on kconfig-support branch. I noticed many boards would be broken:
- ARM
cm_t335 am335x_boneblack am335x_evm am335x_evm_nor am335x_evm_norbootam335x_evm_spiboot am335x_evm_uart1 am335x_evm_uart2 am335x_evm_uart3 am335x_evm_uart4 am335x_evm_uart5 am335x_evm_usbspl h2200 palmld palmtc palmtreo680 zipitz2 vpac270_ond_256 mx31ads lubbock
- AVR32
favr-32-ezkit
- Blackfin
bf527-ad7160-eval
- PowerPC
MVBLUE hermes svm_sc8xx ESTEEM192E ELPT860 FPS850L FPS860L NSCU SM850 TK885D TQM823L TQM823L_LCD TQM823M TQM850L TQM850M TQM855L TQM855M TQM860L TQM860M TQM862L TQM862M TQM866M TQM885D TTTech virtlab2 wtk MVSMR GENIETV )
Could you run MAKEALL or buildman over all target boards and fix all errors?
And I want you to also fix a strange Makefile, board/synopsys/Makefile
obj-$(CONFIG_BOARD_AXS101) += axs101/ obj-$(CONFIG_BOARD_<NONE>) += <none>/
Best Regards
Masahiro Yamada
RFC PATCH 4/17 kconfig: add defconfig files for all boards
2014-03-24 7:35 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 18 lines
Thanks for your effort. I think basicly we're going to the right direction. But I am afraind more careful check is necessary before posting the series.
I did build test on your patches on kconfig-support branch. I noticed many boards would be broken:
- ARM
cm_t335am335x_boneblackam335x_evmam335x_evm_noram335x_evm_norbootam335x_evm_spibootam335x_evm_uart1am335x_evm_uart2am335x_evm_uart3am335x_evm_uart4am335x_evm_uart5am335x_evm_usbsplh2200 palmld palmtc palmtreo680 zipitz2vpac270_ond_256mx31ads lubbock- AVR32
favr-32-ezkit
Quoted 8 lines
- Blackfin
bf527-ad7160-eval- PowerPC
MVBLUE hermessvm_sc8xxESTEEM192E ELPT860 FPS850L FPS860L NSCU SM850 TK885D TQM823LTQM823L_LCDTQM823M TQM850L TQM850M TQM855L TQM855M TQM860L TQM860M TQM862L TQM862M TQM866M TQM885D TTTech virtlab2 wtk MVSMR GENIETV )
Those boards have linker errors, but I do not understand yet why. For example on ARM the linker complains about multiple definition of board_init() and board_eth_init(). The solely difference is that there are one or two additional intermediate objects (board/built-in.o and if necessary board/VENDOR/built-in.o). But board/built-in.o and board/BOARD/built-in.o respectively board/VENDOR/BOARD/built-in.o contain the same symbols and object code. The strange thing is that the error only affects some boards.
Quoted 3 lines
Could you run MAKEALL or buildman over all target boards and fix all errors?
sure, if I find a solution
Quoted 5 lines
And I want you to also fix a strange
Makefile, board/synopsys/Makefile
obj-$(CONFIG_BOARD_AXS101) += axs101/ obj-$(CONFIG_BOARD_<NONE>) += <none>/
fixed, I missed the special handling for the value of '<none>' in the boad column
Signature · 1 line
- Daniel
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Hi Daniel,
Sorry not to have followed up earlier. I was sick in bed.
Quoted 28 lines · On Mon, 24 Mar 2014 21:35:15 +0100 Daniel Schwierzeck…
2014-03-24 7:35 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 18 lines
Thanks for your effort. I think basicly we're going to the right direction. But I am afraind more careful check is necessary before posting the series.
I did build test on your patches on kconfig-support branch. I noticed many boards would be broken:
- ARM
cm_t335am335x_boneblackam335x_evmam335x_evm_noram335x_evm_norbootam335x_evm_spibootam335x_evm_uart1am335x_evm_uart2am335x_evm_uart3am335x_evm_uart4am335x_evm_uart5am335x_evm_usbsplh2200 palmld palmtc palmtreo680 zipitz2vpac270_ond_256mx31ads lubbock- AVR32
favr-32-ezkitQuoted 8 lines
- Blackfin
bf527-ad7160-eval- PowerPC
MVBLUE hermessvm_sc8xxESTEEM192E ELPT860 FPS850L FPS860L NSCU SM850 TK885D TQM823LTQM823L_LCDTQM823M TQM850L TQM850M TQM855L TQM855M TQM860L TQM860M TQM862L TQM862M TQM866M TQM885D TTTech virtlab2 wtk MVSMR GENIETV )
Quoted 8 lines
Those boards have linker errors, but I do not understand yet why. For example on ARM the linker complains about multiple definition of
board_init()andboard_eth_init(). The solely difference is that there are one or two additional intermediate objects (board/built-in.oand if necessaryboard/VENDOR/built-in.o). Butboard/built-in.oandboard/BOARD/built-in.orespectivelyboard/VENDOR/BOARD/built-in.ocontain the same symbols and object code. The strange thing is that the error only affects some boards.
Have you figured out the multiple definition error?
They are nasty ones and have their own linker scripts. :-(
For cm_t335 board, board/compulab/cm_t335/u-boot.lds needs modifying.
--- a/board/compulab/cm_t335/u-boot.lds
+++ b/board/compulab/cm_t335/u-boot.lds
@@ -19,7 +19,7 @@ SECTIONS
{
*(.__image_copy_start)
CPUDIR/start.o (.text*)
- board/compulab/cm_t335/built-in.o (.text*)
+ board/built-in.o (.text*)
*(.text*)
}Best Regards
Masahiro Yamada
RFC PATCH 4/17 kconfig: add defconfig files for all boards
2014-03-28 3:25 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 18 lines
Quoted 9 lines
Those boards have linker errors, but I do not understand yet why. For example on ARM the linker complains about multiple definition of
board_init()andboard_eth_init(). The solely difference is that there are one or two additional intermediate objects (board/built-in.oand if necessaryboard/VENDOR/built-in.o). Butboard/built-in.oandboard/BOARD/built-in.orespectivelyboard/VENDOR/BOARD/built-in.ocontain the same symbols and object code. The strange thing is that the error only affects some boards.Have you figured out the multiple definition error?
They are nasty ones and have their own linker scripts. :-(
Forcm_t335board,board/compulab/cm_t335/u-boot.ldsneeds modifying.---
a/board/compulab/cm_t335/u-boot.lds
+++b/board/compulab/cm_t335/u-boot.lds
@@ -19,7 +19,7 @@ SECTIONS
Quoted 8 lines
{
*(.__image_copy_start)
CPUDIR/start.o (.text*)
- board/compulab/cm_t335/built-in.o (.text*)
+ board/built-in.o (.text*)
*(.text*)
}that would fix it. But I looked through several linker scripts and saw that some boards use that for size optimization. I think we should ignore board/built-in.o and keep the direct linking of board/BOARD/built-in.o respectively board/VENDOR/BOARD/built-in.o and optionally board/vendor/common/built-in.o
Signature · 1 line
- Daniel
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Hi Daniel,
Quoted 28 lines · On Fri, 28 Mar 2014 21:35:37 +0100 Daniel Schwierzeck…
2014-03-28 3:25 GMT+01:00 Masahiro Yamada <[email protected]>:
Quoted 18 lines
Quoted 9 lines
Those boards have linker errors, but I do not understand yet why. For example on ARM the linker complains about multiple definition of
board_init()andboard_eth_init(). The solely difference is that there are one or two additional intermediate objects (board/built-in.oand if necessaryboard/VENDOR/built-in.o). Butboard/built-in.oandboard/BOARD/built-in.orespectivelyboard/VENDOR/BOARD/built-in.ocontain the same symbols and object code. The strange thing is that the error only affects some boards.Have you figured out the multiple definition error?
They are nasty ones and have their own linker scripts. :-(
Forcm_t335board,board/compulab/cm_t335/u-boot.ldsneeds modifying.---
a/board/compulab/cm_t335/u-boot.lds
+++b/board/compulab/cm_t335/u-boot.lds
@@ -19,7 +19,7 @@ SECTIONSQuoted 8 lines
{ *(.__image_copy_start) CPUDIR/start.o (.text*) - board/compulab/cm_t335/built-in.o (.text*) + board/built-in.o (.text*) *(.text*) }
Quoted 5 lines
that would fix it. But I looked through several linker scripts and saw that some boards use that for size optimization. I think we should ignore
board/built-in.oand keep the direct linking ofboard/BOARD/built-in.orespectivelyboard/VENDOR/BOARD/built-in.oand optionallyboard/vendor/common/built-in.o
I am not sure if that change has an impact to the size of outputs. Anyway, in your plan, how would they be fixed?
BTW,
Quoted 15 lines
while read -r status arch cpu soc vendor board target options maintainers; do
case $status in Active|Orphan) ;; *) continue ;; esac if [ "$board" = "-" ]; then board=$target fi BOARD=${board^^} BOARD=${BOARD/-/_}
This does not work correctly.
The only first occurrence of '-' will be replaced with '_'.
For exampile, "FOO-BAR-BAZ" will be converted to "FOO_BAR-BAZ".
Some makefiles should be fixed.
--- a/board/Makefile
+++ b/board/Makefile
@@ -11,7 +11,7 @@ obj-$(CONFIG_BOARD_BF506F_EZKIT) += bf506f-ezkit/
obj-$(CONFIG_BOARD_BF518F_EZBRD) += bf518f-ezbrd/
obj-$(CONFIG_BOARD_BF525_UCR2) += bf525-ucr2/
obj-$(CONFIG_BOARD_BF526_EZBRD) += bf526-ezbrd/
-obj-$(CONFIG_BOARD_BF527_AD7160-EVAL) += bf527-ad7160-eval/
+obj-$(CONFIG_BOARD_BF527_AD7160_EVAL) += bf527-ad7160-eval/
obj-$(CONFIG_BOARD_BF527_EZKIT) += bf527-ezkit/
obj-$(CONFIG_BOARD_BF527_SDP) += bf527-sdp/
obj-$(CONFIG_BOARD_BF533_EZKIT) += bf533-ezkit/
diff --git a/board/earthlcd/Makefile b/board/earthlcd/Makefile
index 61956b4..f618674 100644
--- a/board/earthlcd/Makefile
+++ b/board/earthlcd/Makefile
@@ -1 +1 @@
-obj-$(CONFIG_BOARD_FAVR_32-EZKIT) += favr-32-ezkit/
+obj-$(CONFIG_BOARD_FAVR_32_EZKIT) += favr-32-ezkit/Best Regards
Masahiro Yamada
RFC PATCH 4/17 kconfig: add defconfig files for all boards
In reply to Masahiro YamadaQuoted 16 lines · Masahiro Yamada
Quoted 16 lines
Quoted 16 lines
Quoted 16 lines
Quoted 16 lines
configs/beaver_defconfig new file +10
-0@@ -0,0 +1,10 @@ +CONFIG_SPL=y +CONFIG_ARM=y +CONFIG_SYS_CPU="armv7" +CONFIG_SOC_DIR=y +CONFIG_SYS_SOC="tegra30" +CONFIG_SYS_BOARD="beaver" +CONFIG_VENDOR_DIR=y +CONFIG_SYS_VENDOR="nvidia" +CONFIG_SYS_CONFIG_NAME="beaver" +CONFIG_BOARD_MAINTAINER="Tom Warren <[email protected]>:Stephen Warren <[email protected]>"
...
Quoted 6 lines
Quoted 6 lines
Quoted 5 lines
Quoted 3 lines
Other values in this file feel very odd
too. For example, I would expect selecting SYS_SOC=tegra30 it automatically selectSYS_VENDOR,SYS_CPU, ARM, SPL, ...This is really really Tegra-specific matter.
Quoted 7 lines
Quoted 4 lines
Absolutely not at all.
Any board contains a specific SoC. Each specific SoC is a particular CPU architecture and type, etc.
In that case, all boards must have board/*/Kconfig to automatically select correct
CONFIG_SYS_VENDOR,CONFIG_SYS_SOC, etc.
Yes. I would fully expect that.
RFC PATCH 4/17 kconfig: add defconfig files for all boards
In reply to Masahiro YamadaQuoted 12 lines · Masahiro Yamada
In
Kconfig, we use "*_defconfig" files for board configuration.In Linux Kernel, they are located under
arch/${ARCH}/configs/directory. It works in Linux Kernel because ARCH is always given from the command line for cross compile.But in U-Boot, ARCH is not given from the command line. Which means we cannot know ARCH before the board configuration. That is why "
*_defconfig" files over all architectures should be moved into one directory ./configs/.
(The problem is configs/ directory contains more than 1200 files!)
Quoted 6 lines
Besides, we must configure boards for SPL and TPL too if they are supported.
For those boards, defconfig files with the same name are placed in spl/configs/, tpl/configs/ directories.Signed-off-by Masahiro Yamada <[email protected]>
So, what this series is doing, roughly, is turning just the boards.cfg entry into a small Kconfig snippet, and saying we'll keep using include/configs/foo.h for most of the work. This is just the first step in moving away from include/configs/foo.h eventually, yes?
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140319/e0bd9bcd/attachment.pgp>
RFC PATCH 4/17 kconfig: add defconfig files for all boards
Hi Tom,
Quoted 4 lines
So, what this series is doing, roughly, is turning just the boards.cfg entry into a small
Kconfigsnippet, and saying we'll keep usinginclude/configs/foo.hfor most of the work. This is just the first step in moving away frominclude/configs/foo.heventually, yes?
Yes, exactly.
Best Regards
Masahiro Yamada
RFC PATCH 5/17 include: define CONFIG_SPL and CONFIG_TPL as 1
In reply to Masahiro YamadaWe are about to switch to Kconfig in the upcoming commit. But there are something to get done beforehand.
In Kconfig, include/generated/autoconf.h defines boolean CONFIG macros as 1.
CONFIG_SPL and CONFIG_TPL, if defined, must be defined as 1. Otherwise, when switching to Kconfig, the build log would be sprinkled with warning messages like this:
warning: "CONFIG_SPL" redefined [enabled by default]
---
doc/README.SPL | 2 +- include/configs/BSC9131RDB.h | 2 +- include/configs/BSC9132QDS.h | 2 +- include/configs/C29XPCIE.h | 4 ++-- include/configs/MPC8313ERDB.h | 2 +- include/configs/P1010RDB.h | 8 ++++---- include/configs/P1022DS.h | 8 ++++---- include/configs/a3m071.h | 2 +- include/configs/am335x_igep0033.h | 2 +- include/configs/am3517_crane.h | 2 +- include/configs/am3517_evm.h | 2 +- include/configs/apf27.h | 2 +- include/configs/arndale.h | 2 +- include/configs/bur_am335x_common.h | 2 +- include/configs/cam_enc_4xx.h | 2 +- include/configs/cm_t35.h | 2 +- include/configs/da850evm.h | 2 +- include/configs/devkit8000.h | 2 +- include/configs/exynos5-dt.h | 2 +- include/configs/hawkboard.h | 2 +- include/configs/ipam390.h | 2 +- include/configs/lwmon5.h | 2 +- include/configs/m53evk.h | 2 +- include/configs/mcx.h | 2 +- include/configs/microblaze-generic.h | 2 +- include/configs/mx31pdk.h | 2 +- include/configs/mxs.h | 2 +- include/configs/omap3_beagle.h | 2 +- include/configs/omap3_evm_common.h | 2 +- include/configs/omap3_overo.h | 2 +- include/configs/origen.h | 2 +- include/configs/p1_p2_rdb_pc.h | 8 ++++---- include/configs/palmtreo680.h | 2 +- include/configs/pcm051.h | 2 +- include/configs/sama5d3xek.h | 2 +- include/configs/siemens-am33x-common.h | 2 +- include/configs/smdkv310.h | 2 +- include/configs/socfpga_cyclone5.h | 2 +- include/configs/tam3517-common.h | 2 +- include/configs/tao3530.h | 2 +- include/configs/tegra-common.h | 2 +- include/configs/ti814x_evm.h | 2 +- include/configs/ti816x_evm.h | 2 +- include/configs/ti_armv7_common.h | 2 +- include/configs/tricorder.h | 2 +- include/configs/tx25.h | 2 +- include/configs/vpac270.h | 2 +- include/configs/woodburn_sd.h | 2 +- include/configs/x600.h | 2 +- include/configs/zynq-common.h | 2 +- 50 files changed, 60 insertions(+), 60 deletions(-)
doc/README.SPL +1 -1
@@ -40,7 +40,7 @@ COBJS-$(CONFIG_SPL_BUILD) += foo.o The building of SPL images can be with: -#define CONFIG_SPL +#define CONFIG_SPL 1 Because SPL images normally have a different text base, one has to be configured by defining CONFIG_SPL_TEXT_BASE. The linker script has to be
include/configs/BSC9131RDB.h +1 -1
@@ -25,7 +25,7 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT
include/configs/BSC9132QDS.h +1 -1
@@ -34,7 +34,7 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT
include/configs/C29XPCIE.h +2 -2
@@ -24,8 +24,8 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL -#define CONFIG_TPL +#define CONFIG_SPL 1 +#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/MPC8313ERDB.h +1 -1
@@ -19,7 +19,7 @@#define CONFIG_MPC8313ERDB 1#ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT
include/configs/P1010RDB.h +4 -4
@@ -21,7 +21,7 @@#define CONFIG_NAND_FSL_IFC #ifdef CONFIG_SDCARD -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_DRIVERS_MISC_SUPPORT #define CONFIG_SPL_ENV_SUPPORT
@@ -56,7 +56,7 @@#define CONFIG_SYS_TEXT_BASE 0x11000000#define CONFIG_RESET_VECTOR_ADDRESS 0x1107fffc#else -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_DRIVERS_MISC_SUPPORT #define CONFIG_SPL_ENV_SUPPORT
@@ -88,7 +88,7 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1#ifdef CONFIG_SECURE_BOOT #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT
@@ -108,7 +108,7 @@#define CONFIG_SYS_NAND_U_BOOT_OFFS 0#define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"#else -#define CONFIG_TPL +#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/P1022DS.h +4 -4
@@ -16,7 +16,7 @@#endif #ifdef CONFIG_SDCARD -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -45,7 +45,7 @@#endif #ifdef CONFIG_SPIFLASH -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -79,8 +79,8 @@#define CONFIG_SYS_NAND_MAX_OOBFREE 5#ifdef CONFIG_NAND -#define CONFIG_SPL -#define CONFIG_TPL +#define CONFIG_SPL 1 +#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/a3m071.h +1 -1
@@ -411,7 +411,7 @@/* * SPL related defines */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NOR_SUPPORT
include/configs/am335x_igep0033.h +1 -1
@@ -211,7 +211,7 @@#undef CONFIG_USE_IRQ/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK /* * Place the image at the start of the ROM defined image space.
include/configs/am3517_crane.h +1 -1
@@ -298,7 +298,7 @@ GENERATED_GBL_DATA_SIZE)/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SIMPLE
include/configs/am3517_evm.h +1 -1
@@ -307,7 +307,7 @@ GENERATED_GBL_DATA_SIZE)/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SIMPLE
include/configs/apf27.h +1 -1
@@ -37,7 +37,7 @@/* * SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"#define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds"#define CONFIG_SPL_MAX_SIZE 2048
include/configs/arndale.h +1 -1
@@ -121,7 +121,7 @@/* MMC SPL */ #define CONFIG_EXYNOS_SPL -#define CONFIG_SPL +#define CONFIG_SPL 1#define COPY_BL2_FNPTR_ADDR 0x02020030#define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/bur_am335x_common.h +1 -1
@@ -162,7 +162,7 @@* under common/spl/. Given our generally common memory map, we set a * number of related defaults and sizes here. */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK /* * Place the image at the start of the ROM defined image space.
include/configs/cam_enc_4xx.h +1 -1
@@ -199,7 +199,7 @@#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_LIBGENERIC_SUPPORT
include/configs/cm_t35.h +1 -1
@@ -320,7 +320,7 @@#define CONFIG_OMAP3_SPI /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/da850evm.h +1 -1
@@ -368,7 +368,7 @@#ifndef CONFIG_DIRECT_NOR_BOOT /* defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE - \
include/configs/devkit8000.h +1 -1
@@ -283,7 +283,7 @@#define CONFIG_SYS_SRAM_SIZE 0x10000/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/exynos5-dt.h +1 -1
@@ -136,7 +136,7 @@#define CONFIG_TPM_TIS_I2C_SLAVE_ADDR 0x20/* MMC SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define COPY_BL2_FNPTR_ADDR 0x02020030#define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/hawkboard.h +1 -1
@@ -46,7 +46,7 @@#endif /* Spl */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SUPPORT
include/configs/ipam390.h +1 -1
@@ -298,7 +298,7 @@"-(rootfs)" /* defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE - \
include/configs/lwmon5.h +1 -1
@@ -665,7 +665,7 @@* SPL related defines */ #ifdef CONFIG_LCD4_LWMON5 -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NOR_SUPPORT
include/configs/m53evk.h +1 -1
@@ -236,7 +236,7 @@/* * NAND SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx"#define CONFIG_SPL_BOARD_INIT
include/configs/mcx.h +1 -1
@@ -348,7 +348,7 @@ GENERATED_GBL_DATA_SIZE)/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SIMPLE
include/configs/microblaze-generic.h +1 -1
@@ -448,7 +448,7 @@#endif /* SPL part */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_CMD_SPL #define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/mx31pdk.h +1 -1
@@ -29,7 +29,7 @@#define CONFIG_MACH_TYPE MACH_TYPE_MX31_3DS -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"#define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds"#define CONFIG_SPL_MAX_SIZE 2048
include/configs/mxs.h +1 -1
@@ -49,7 +49,7 @@#define CONFIG_ARCH_MISC_INIT /* SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_NO_CPU_SUPPORT_CODE #define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mxs"#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
include/configs/omap3_beagle.h +1 -1
@@ -389,7 +389,7 @@#define CONFIG_SYS_CACHELINE_SIZE 64/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE #define CONFIG_SPL_TEXT_BASE 0x40200800
include/configs/omap3_evm_common.h +1 -1
@@ -260,7 +260,7 @@#define CONFIG_SYS_CACHELINE_SIZE 64/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x40200800#define CONFIG_SPL_MAX_SIZE (54 * 1024)/* 8 KB for stack */
include/configs/omap3_overo.h +1 -1
@@ -277,7 +277,7 @@#define CONFIG_SYS_CACHELINE_SIZE 64/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE #define CONFIG_SPL_TEXT_BASE 0x40200800
include/configs/origen.h +1 -1
@@ -78,7 +78,7 @@#define CONFIG_BOOTDELAY 3#define CONFIG_ZERO_BOOTDELAY_CHECK /* MMC SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define COPY_BL2_FNPTR_ADDR 0x02020030#define CONFIG_SPL_TEXT_BASE 0x02021410
include/configs/p1_p2_rdb_pc.h +4 -4
@@ -145,7 +145,7 @@#endif #ifdef CONFIG_SDCARD -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -174,7 +174,7 @@#endif #ifdef CONFIG_SPIFLASH -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -204,8 +204,8 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL -#define CONFIG_TPL +#define CONFIG_SPL 1 +#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/palmtreo680.h +1 -1
@@ -205,7 +205,7 @@/* * SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_TEXT_BASE 0xa1700000/* IPL loads SPL here */ #define CONFIG_SPL_STACK 0x5c040000/* end of internal SRAM */ #define CONFIG_SPL_NAND_SUPPORT /* build libnand for spl */
include/configs/pcm051.h +1 -1
@@ -197,7 +197,7 @@#define CONFIG_ENV_IS_NOWHERE /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT /*
include/configs/sama5d3xek.h +1 -1
@@ -243,7 +243,7 @@#define CONFIG_SYS_MALLOC_LEN (1024 * 1024)/* SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x300000#define CONFIG_SPL_MAX_SIZE 0x10000
include/configs/siemens-am33x-common.h +1 -1
@@ -137,7 +137,7 @@#define CONFIG_SYS_I2C_OMAP24XX /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x402F0400#define CONFIG_SPL_MAX_SIZE (101 * 1024)
include/configs/smdkv310.h +1 -1
@@ -75,7 +75,7 @@#define CONFIG_ZERO_BOOTDELAY_CHECK /* MMC SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SKIP_LOWLEVEL_INIT #define COPY_BL2_FNPTR_ADDR 0x00002488
include/configs/socfpga_cyclone5.h +1 -1
@@ -209,7 +209,7 @@*/ /* Enable building of SPL globally */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK /* TEXT_BASE for linking the SPL binary */
include/configs/tam3517-common.h +1 -1
@@ -218,7 +218,7 @@#define CONFIG_NET_RETRY_COUNT 10/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_CONSOLE
include/configs/tao3530.h +1 -1
@@ -305,7 +305,7 @@#define CONGIG_CMD_STORAGE /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/tegra-common.h +1 -1
@@ -121,7 +121,7 @@#define CONFIG_CMD_ENTERRCM /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_RAM_DEVICE #define CONFIG_SPL_BOARD_INIT
include/configs/ti814x_evm.h +1 -1
@@ -168,7 +168,7 @@#define CONFIG_ENV_IS_NOWHERE /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x40300000#define CONFIG_SPL_MAX_SIZE ((128 - 18) * 1024)
include/configs/ti816x_evm.h +1 -1
@@ -134,7 +134,7 @@/* SPL */ /* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x40400000#define CONFIG_SPL_MAX_SIZE ((128 - 18) * 1024)
include/configs/ti_armv7_common.h +1 -1
@@ -174,7 +174,7 @@* number of related defaults and sizes here. */ #ifndef CONFIG_NOR_BOOT -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_OS_BOOT
include/configs/tricorder.h +1 -1
@@ -328,7 +328,7 @@#define CONFIG_SYS_SRAM_SIZE 0x10000/* Defines for SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/tx25.h +1 -1
@@ -21,7 +21,7 @@#define CONFIG_SYS_MONITOR_LEN (256 << 10)/* 256 kB for U-Boot */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"#define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds"#define CONFIG_SPL_MAX_SIZE 2048
include/configs/vpac270.h +1 -1
@@ -17,7 +17,7 @@#define CONFIG_SYS_TEXT_BASE 0xa0000000#ifdef CONFIG_ONENAND -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_ONENAND_SUPPORT #define CONFIG_SPL_ONENAND_LOAD_ADDR 0x2000#define CONFIG_SPL_ONENAND_LOAD_SIZE \
include/configs/woodburn_sd.h +1 -1
@@ -22,7 +22,7 @@/* * SPL */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm1136/u-boot-spl.lds"#define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/x600.h +1 -1
@@ -273,7 +273,7 @@/* * SPL related defines */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_SPL_TEXT_BASE 0xd2800b00#define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/spear"#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
include/configs/zynq-common.h +1 -1
@@ -229,7 +229,7 @@#define CONFIG_CMD_TFTPPUT /* SPL part */ -#define CONFIG_SPL +#define CONFIG_SPL 1#define CONFIG_CMD_SPL #define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_LIBCOMMON_SUPPORT
Signature · 1 line
1.8.3.2
RFC PATCH 6/17 m68k: define processor family CONFIGs as 1
In reply to Masahiro YamadaWe are about to switch to Kconfig in the upcoming commit. But there are something to get done beforehand.
In Kconfig, include/generated/autoconf.h defines boolean CONFIG macros as 1.
CONFIG_SPL and CONFIG_TPL, if defined, must be defined as 1. Otherwise, when switching to Kconfig, the build log would be sprinkled with warning messages like this:
warning: "CONFIG_MCF520x" redefined [enabled by default]
---
include/configs/M5208EVBE.h | 2 +- include/configs/M52277EVB.h | 2 +- include/configs/M5235EVB.h | 2 +- include/configs/M5249EVB.h | 2 +- include/configs/M5253DEMO.h | 2 +- include/configs/M5253EVBE.h | 2 +- include/configs/M5272C3.h | 2 +- include/configs/M5275EVB.h | 2 +- include/configs/M5282EVB.h | 2 +- include/configs/M53017EVB.h | 2 +- include/configs/M5329EVB.h | 2 +- include/configs/M5373EVB.h | 2 +- include/configs/M54418TWR.h | 2 +- include/configs/M54451EVB.h | 2 +- include/configs/M54455EVB.h | 2 +- include/configs/M5475EVB.h | 2 +- include/configs/M5485EVB.h | 2 +- include/configs/TASREG.h | 2 +- include/configs/astro_mcf5373l.h | 2 +- include/configs/cobra5272.h | 2 +- include/configs/eb_cpu5282.h | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-)
include/configs/M5208EVBE.h +1 -1
@@ -14,7 +14,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF520x/* define processor family */ +#define CONFIG_MCF520x 1/* define processor family */ #define CONFIG_M5208 /* define processor type */ #define CONFIG_MCFUART
include/configs/M52277EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5227x/* define processor family */ +#define CONFIG_MCF5227x 1/* define processor family */ #define CONFIG_M52277 /* define processor type */ #define CONFIG_M52277EVB /* M52277EVB board */
include/configs/M5235EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF523x/* define processor family */ +#define CONFIG_MCF523x 1/* define processor family */ #define CONFIG_M5235 /* define processor type */ #define CONFIG_MCFUART
include/configs/M5249EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5249 /* define processor type */ #define CONFIG_MCFTMR
include/configs/M5253DEMO.h +1 -1
@@ -7,7 +7,7 @@#ifndef _M5253DEMO_H#define _M5253DEMO_H -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5253 /* define processor type */ #define CONFIG_M5253DEMO /* define board type */
include/configs/M5253EVBE.h +1 -1
@@ -8,7 +8,7 @@#ifndef _M5253EVBE_H#define _M5253EVBE_H -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5253 /* define processor type */ #define CONFIG_M5253EVBE /* define board type */
include/configs/M5272C3.h +1 -1
@@ -17,7 +17,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5272 /* define processor type */ #define CONFIG_MCFTMR
include/configs/M5275EVB.h +1 -1
@@ -21,7 +21,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5275 /* define processor type */ #define CONFIG_M5275EVB /* define board type */
include/configs/M5282EVB.h +1 -1
@@ -17,7 +17,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5282 /* define processor type */ #define CONFIG_MCFTMR
include/configs/M53017EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5301x/* define processor family */ +#define CONFIG_MCF5301x 1/* define processor family */ #define CONFIG_M53015 /* define processor type */ #define CONFIG_MCFUART
include/configs/M5329EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF532x/* define processor family */ +#define CONFIG_MCF532x 1/* define processor family */ #define CONFIG_M5329 /* define processor type */ #define CONFIG_MCFUART
include/configs/M5373EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF532x/* define processor family */ +#define CONFIG_MCF532x 1/* define processor family */ #define CONFIG_M5373 /* define processor type */ #define CONFIG_MCFUART
include/configs/M54418TWR.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5441x/* define processor family */ +#define CONFIG_MCF5441x 1/* define processor family */ #define CONFIG_M54418 /* define processor type */ #define CONFIG_M54418TWR /* M54418TWR board */
include/configs/M54451EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5445x/* define processor family */ +#define CONFIG_MCF5445x 1/* define processor family */ #define CONFIG_M54451 /* define processor type */ #define CONFIG_M54451EVB /* M54451EVB board */
include/configs/M54455EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5445x/* define processor family */ +#define CONFIG_MCF5445x 1/* define processor family */ #define CONFIG_M54455 /* define processor type */ #define CONFIG_M54455EVB /* M54455EVB board */
include/configs/M5475EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF547x_8x/* define processor family */ +#define CONFIG_MCF547x_8x 1/* define processor family */ #define CONFIG_M547x/* define processor type */ #define CONFIG_M5475 /* define processor type */
include/configs/M5485EVB.h +1 -1
@@ -18,7 +18,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF547x_8x/* define processor family */ +#define CONFIG_MCF547x_8x 1/* define processor family */ #define CONFIG_M548x/* define processor type */ #define CONFIG_M5485 /* define processor type */
include/configs/TASREG.h +1 -1
@@ -22,7 +22,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5249 /* define processor type */ #define CONFIG_MISC_INIT_R 1/* call misc_init_r() */
include/configs/astro_mcf5373l.h +1 -1
@@ -47,7 +47,7 @@/* it seems not clear yet which processor defines we should use */ #define CONFIG_MCF537x/* define processor family */ -#define CONFIG_MCF532x/* define processor family */ +#define CONFIG_MCF532x 1/* define processor family */ #define CONFIG_M5373 /* define processor type */ #define CONFIG_ASTRO5373L /* define board type */
include/configs/cobra5272.h +1 -1
@@ -31,7 +31,7 @@* --- */ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5272 /* define processor type */ /* ---
include/configs/eb_cpu5282.h +1 -1
@@ -15,7 +15,7 @@* High Level Configuration Options (easy to change) * *----------------------------------------------------------------------*/ -#define CONFIG_MCF52x2/* define processor family */ +#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5282 /* define processor type */ #define CONFIG_MISC_INIT_R
Signature · 1 line
1.8.3.2
RFC PATCH 7/17 kconfig: switch over to Kconfig
In reply to Masahiro YamadaThis commit enables Kconfig.
Going forward, we use Kconfig for board configuration. mkconfig will never be used. Nor will include/config.mk be generated.
Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel.
We have to generate 3 images at most: Main image, SPL, TPL. And each of them can have a different set of CONFIG macros.
In order to keep this scheme in Kconfig, some files must be modified. But the modification should be minimum.
The location of Kconfig related files is as follows:
[1] Main
- .config (saved CONFIG list) - include/config/auto.conf (for use in makefiles) - include/generated/autoconf.h (for use in C sources) - include/config/* (for if_changed_dep)
[2] SPL
- spl/.config (saved CONFIG list)
- spl/include/config/auto.conf (for use in makefiles)
- spl/include/generated/autoconf.h (for use in C sources)
- spl/include/config/* (for if_changed_dep)
[3] TPL
- tpl/.config (saved CONFIG list)
- tpl/include/config/auto.conf (for use in makefiles)
- tpl/include/generated/autoconf.h (for use in C sources)
- tpl/include/config/* (for if_changed_dep)
Usage:
Execute "make <board>_defconfig" to configure board and then run "make". Or "make <board>_defconfig all" to configure and build in one time.
To modify configuration, run "make config", "make menuconfig", etc. To see the other configuration targets execute "make help".
In Kconfig for U-boot, the configuration is done on three levels at most.
"make menuconfig" will show a menu with a blue background for the main configuration.
Enable "Build SPL image", "Build TPL image" under "General setup" to build SPL, TPL, respectively.
After modifying settings, choose <Exit>.
CONFIG macros will be saved into ".config" file.
If SPL build is enabled, the second menu for SPL configuration will come up.
And if TPL build is also enabled, the third menu for TPL will be displayed.
By the way, there is another item worth remarking here:
coexistence of Kconfig and board herder files.
To define the set of CONFIG macros, we have used C headers, which are placed under include/configs/ directory.
We expect long term to move existing CONFIG macros to Kconfig. Two different infractructure must coexist in the interim.
Prior to Kconfig, include/autoconf.mk, include/spl-autoconf.mk, include/tpl-autoconf.mk were generated from the config header for the use in makefiles.
They are still supported in Kconfig for U-Boot.
They are created at the beginning of the build and merged into include/config/auto.conf, spl/include/config/auto.conf, tpl/include/config/auto.conf, respectively.
---
.gitignore | 2 - Makefile | 174 ++++++++++++++++++++++++++++---------- arch/m68k/cpu/mcf52x2/config.mk | 16 ++-- arch/m68k/cpu/mcf532x/config.mk | 6 +- arch/m68k/cpu/mcf5445x/config.mk | 4 +- arch/powerpc/cpu/ppc4xx/config.mk | 4 +- config.mk | 12 ++- include/.gitignore | 1 - scripts/Makefile.build | 30 +++---- scripts/basic/fixdep.c | 6 +- scripts/kconfig/Makefile | 16 +++- scripts/kconfig/confdata.c | 8 ++ spl/Makefile | 65 ++++++++------ tools/Makefile | 2 +- tools/env/Makefile | 2 +- 15 files changed, 227 insertions(+), 121 deletions(-)
.gitignore +0 -2
@@ -58,8 +58,6 @@ # /include/config/ /include/generated/ -/include/spl-autoconf.mk -/include/tpl-autoconf.mk # stgit generated dirs patches-*
Makefile +127 -47
274 lines not on this page · raw message
arch/m68k/cpu/mcf52x2/config.mk +8 -8
@@ -7,14 +7,14 @@ # SPDX-License-Identifier: GPL-2.0+ # -cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/') -is5208:=$(shell grep CONFIG_M5208 $(srctree)/include/$(cfg)) -is5249:=$(shell grep CONFIG_M5249 $(srctree)/include/$(cfg)) -is5253:=$(shell grep CONFIG_M5253 $(srctree)/include/$(cfg)) -is5271:=$(shell grep CONFIG_M5271 $(srctree)/include/$(cfg)) -is5272:=$(shell grep CONFIG_M5272 $(srctree)/include/$(cfg)) -is5275:=$(shell grep CONFIG_M5275 $(srctree)/include/$(cfg)) -is5282:=$(shell grep CONFIG_M5282 $(srctree)/include/$(cfg)) +cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h +is5208:=$(shell grep CONFIG_M5208 $(cfg)) +is5249:=$(shell grep CONFIG_M5249 $(cfg)) +is5253:=$(shell grep CONFIG_M5253 $(cfg)) +is5271:=$(shell grep CONFIG_M5271 $(cfg)) +is5272:=$(shell grep CONFIG_M5272 $(cfg)) +is5275:=$(shell grep CONFIG_M5275 $(cfg)) +is5282:=$(shell grep CONFIG_M5282 $(cfg)) ifneq (,$(findstring CONFIG_M5208,$(is5208))) PLATFORM_CPPFLAGS += -mcpu=5208
arch/m68k/cpu/mcf532x/config.mk +3 -3
@@ -7,9 +7,9 @@ # SPDX-License-Identifier: GPL-2.0+ # -cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/') -is5301x:=$(shell grep CONFIG_MCF5301x $(srctree)/include/$(cfg)) -is532x:=$(shell grep CONFIG_MCF532x $(srctree)/include/$(cfg)) +cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h +is5301x:=$(shell grep CONFIG_MCF5301x $(cfg)) +is532x:=$(shell grep CONFIG_MCF532x $(cfg)) ifneq (,$(findstring CONFIG_MCF5301x,$(is5301x))) PLATFORM_CPPFLAGS += -mcpu=53015 -fPIC
arch/m68k/cpu/mcf5445x/config.mk +2 -2
@@ -9,8 +9,8 @@ # SPDX-License-Identifier: GPL-2.0+ # -cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/') -is5441x:=$(shell grep CONFIG_MCF5441x $(srctree)/include/$(cfg)) +cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h +is5441x:=$(shell grep CONFIG_MCF5441x $(cfg)) ifneq (,$(findstring CONFIG_MCF5441x,$(is5441x))) PLATFORM_CPPFLAGS += -mcpu=54418 -fPIC
arch/powerpc/cpu/ppc4xx/config.mk +2 -2
@@ -7,8 +7,8 @@ PLATFORM_CPPFLAGS += -DCONFIG_4xx -mstring -msoft-float -cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/') -is440:=$(shell grep CONFIG_440 $(srctree)/include/$(cfg)) +cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h +is440:=$(shell grep CONFIG_440 $(cfg)) ifneq (,$(findstring CONFIG_440,$(is440))) PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
config.mk +9 -3
@@ -20,6 +20,12 @@ LDFLAGS_FINAL := OBJCOPYFLAGS := ######################################################################### +ARCH = $(CONFIG_SYS_ARCH:"%"=%) +CPU = $(CONFIG_SYS_CPU:"%"=%) +VENDOR = $(CONFIG_SYS_VENDOR:"%"=%) +BOARD = $(CONFIG_SYS_BOARD:"%"=%) +SOC = $(CONFIG_SYS_SOC:"%"=%) + # Some architecture config.mk files need to know what CPUDIR is set to, # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files. # Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
@@ -32,17 +38,17 @@ endif sinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules sinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules -ifdef SOC +ifneq ($(SOC),) sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules endif ifneq ($(BOARD),) -ifdef VENDOR +ifneq ($(VENDOR),) BOARDDIR = $(VENDOR)/$(BOARD) else BOARDDIR = $(BOARD) endif endif -ifdef BOARD +ifneq ($(BOARD),) sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules endif
include/.gitignore +0 -1
@@ -2,4 +2,3 @@ /bmp_logo.h /bmp_logo_data.h /config.h -/config.mk
scripts/Makefile.build +10 -20
@@ -3,14 +3,14 @@ # ========================================================================== # Modified for U-Boot -ifeq ($(CONFIG_TPL_BUILD),y) - src := $(patsubst tpl/%,%,$(obj)) -else - ifeq ($(CONFIG_SPL_BUILD),y) - src := $(patsubst spl/%,%,$(obj)) - else - src := $(obj) - endif +prefix := tpl +src := $(patsubst $(prefix)/%,%,$(obj)) +ifeq ($(obj),$(src)) +prefix := spl +src := $(patsubst $(prefix)/%,%,$(obj)) +ifeq ($(obj),$(src)) +prefix := . +endif endif PHONY := __build
@@ -40,18 +40,8 @@ subdir-asflags-y := subdir-ccflags-y := # Read auto.conf if it exists, otherwise ignore --include include/config/auto.conf - -# Added for U-Boot: Load U-Boot configuration -ifeq ($(CONFIG_TPL_BUILD),y) - -include include/tpl-autoconf.mk -else - ifeq ($(CONFIG_SPL_BUILD),y) - -include include/spl-autoconf.mk - else - -include include/autoconf.mk - endif -endif +# Modified for U-Boot +-include $(prefix)/include/config/auto.conf include scripts/Kbuild.include
scripts/basic/fixdep.c +5 -1
@@ -221,7 +221,11 @@ static void use_config(const char *m, int slen)define_config (m, slen, hash); -printf (" $(wildcard include/config/" ); +/* printf(" $(wildcard include/config/"); */ +/* modified for U-Boot */ +printf (" $(wildcard %sinclude/config/" , +strncmp (depfile,"spl/" ,4 ) ? + (strncmp (depfile,"tpl/" ,4 ) ?"" :"tpl/" ) :"spl/" );for (i =0 ; i < slen; i++) { c = m[i];if (c =='_' )
scripts/kconfig/Makefile +12 -4
@@ -33,7 +33,9 @@ oldconfig: $(obj)/conf $< --$@ $(Kconfig) silentoldconfig: $(obj)/conf - $(Q)mkdir -p include/generated + @# Modified for U-Boot + @# $(Q)mkdir -p include/generated + $(Q)mkdir -p $(KCONFIG_OBJDIR)include/generated $< --$@ $(Kconfig) localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
@@ -91,18 +93,24 @@ oldnoconfig: $(obj)/conf $< --olddefconfig $(Kconfig) savedefconfig: $(obj)/conf - $< --$@=defconfig $(Kconfig) + @# Modified for U-Boot + @# $< --$@=defconfig $(Kconfig) + $< --$@=$(KCONFIG_OBJDIR)defconfig $(Kconfig) defconfig: $(obj)/conf ifeq ($(KBUILD_DEFCONFIG),) $< --defconfig $(Kconfig) else @echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'" - $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) + @: Modified for U-Boot + @: $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) + $(Q)$< --defconfig=$(KCONFIG_OBJDIR)configs/$(KBUILD_DEFCONFIG) $(Kconfig) endif %_defconfig: $(obj)/conf - $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) + @: Modified for U-Boot + @: $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) + $(Q)$< --defconfig=$(KCONFIG_OBJDIR)configs/$@ $(Kconfig) # Help text used by make help help:
scripts/kconfig/confdata.c +8 -0
@@ -951,6 +951,14 @@ int conf_write_autoconf(void)FILE *out, *tristate, *out_h;int i; +/* +* Added for U-Boot SPL/TPL +*/ + name =getenv ("KCONFIG_OBJDIR" ); +if (name && name[0 ]) +if (chdir (name)) +return 1 ; +sym_clear_all_valid ();file_write_dep ("include/config/auto.conf.cmd" );
spl/Makefile +39 -26
94 lines not on this page · raw message
tools/Makefile +1 -1
@@ -173,7 +173,7 @@ endif # !LOGO_BMP # Define _GNU_SOURCE to obtain the getline prototype from stdio.h # HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \ - $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \ + $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \ -I$(srctree)/lib/libfdt \ -I$(srctree)/tools \ -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) \
tools/env/Makefile +1 -1
@@ -11,7 +11,7 @@ HOSTCC = $(CC) # Compile for a hosted environment on the target -HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \ +HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \ -idirafter $(srctree)/tools/env \ -DUSE_HOSTCC \ -DTEXT_BASE=$(TEXT_BASE)
Signature · 1 line
1.8.3.2
RFC PATCH 8/17 MAKEALL: adjust for Kconfig
In reply to Masahiro YamadaUse "make <board>_defconfig" instead of "make <board>_config".
WARNING
This adjustment is not enough.
MAKEALL should parse defconfig files instead of boards.cfg. This commit has not got this rework done yet.
---
MAKEALL | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
MAKEALL +3 -3
@@ -548,9 +548,9 @@ get_target_location() { set ${line} - CONFIG_NAME="${7%_config}" + CONFIG_NAME="${7%_defconfig}" - [ "${BOARD_NAME}" ] || BOARD_NAME="${7%_config}" + [ "${BOARD_NAME}" ] || BOARD_NAME="${7%_defconfig}" if [ $# -gt 5 ]; then if [ "$6" = "-" ] ; then
@@ -687,7 +687,7 @@ build_target() { fi ${MAKE} distclean >/dev/null - ${MAKE} -s ${target}_config + ${MAKE} -s ${target}_defconfig ${MAKE} ${JOBS} ${CHECK} all \ >${LOG_DIR}/$target.MAKELOG 2> ${LOG_DIR}/$target.ERR
Signature · 1 line
1.8.3.2
RFC PATCH 9/17 buildman: adjust for Kconfig
In reply to Masahiro YamadaUse "make <board>_defconfig" instead of "make <board>_config".
WARNING
This adjustment is not enough.
MAKEALL should parse defconfig files instead of boards.cfg. This commit has not got this rework done yet.
---
tools/buildman/board.py | 2 +- tools/buildman/builder.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)
tools/buildman/board.py +1 -1
@@ -17,7 +17,7 @@ class Board: soc: Name of SOC, or '' if none (e.g. mx31) vendor: Name of vendor (e.g. armltd) board_name: Name of board (e.g. integrator) - target: Target name (use make <target>_config to configure) + target: Target name (use make <target>_defconfig to configure) options: board-specific options (e.g. integratorcp:CM1136) """ self.target = target
tools/buildman/builder.py +3 -3
@@ -198,7 +198,7 @@ class BuilderThread(threading.Thread): commit_upto: Commit number to build (0...n-1) brd: Board object to build work_dir: Directory to which the source will be checked out - do_config: True to run a make <board>_config on the source + do_config: True to run a make <board>_defconfig on the source force_build: Force a build even if one was previously done Returns:
@@ -251,7 +251,7 @@ class BuilderThread(threading.Thread): args = ['O=build', '-s'] if self.builder.num_jobs is not None: args.extend(['-j', str(self.builder.num_jobs)]) - config_args = ['%s_config' % brd.target] + config_args = ['%s_defconfig' % brd.target] config_out = '' args.extend(self.builder.toolchains.GetMakeArguments(brd))
@@ -404,7 +404,7 @@ class BuilderThread(threading.Thread): work_dir = self.builder.GetThreadDir(self.thread_num) self.toolchain = None if job.commits: - # Run 'make board_config' on the first commit + # Run 'make board_defconfig' on the first commit do_config = True commit_upto = 0 force_build = False
Signature · 1 line
1.8.3.2
RFC PATCH 10/17 kconfig: delete redundant CONFIG_${ARCH} definition
In reply to Masahiro YamadaCONFIG_${ARCH} is defined by Kconfig.
---
arch/arc/config.mk | 2 +- arch/arm/config.mk | 2 +- arch/avr32/config.mk | 1 - arch/blackfin/config.mk | 1 - arch/m68k/config.mk | 2 +- arch/mips/config.mk | 2 +- arch/nds32/config.mk | 2 +- arch/nios2/config.mk | 2 +- arch/openrisc/config.mk | 2 +- arch/powerpc/config.mk | 2 +- arch/sandbox/config.mk | 2 +- arch/sparc/config.mk | 2 +- arch/x86/cpu/config.mk | 2 +- include/configs/microblaze-generic.h | 1 - 14 files changed, 11 insertions(+), 14 deletions(-)
arch/arc/config.mk +1 -1
@@ -21,7 +21,7 @@ ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(ARC_CROSS_COMPILE) endif -PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -DCONFIG_ARC -gdwarf-2 +PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2 # Needed for relocation LDFLAGS_FINAL += -pie
arch/arm/config.mk +1 -1
@@ -26,7 +26,7 @@ PLATFORM_RELFLAGS += $(call cc-option, -msoft-float) \ # Support generic board on ARM __HAVE_ARCH_GENERIC_BOARD := y -PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__ +PLATFORM_CPPFLAGS += -D__ARM__ # Choose between ARM/Thumb instruction sets ifeq ($(CONFIG_SYS_THUMB_BUILD),y)
arch/avr32/config.mk +0 -1
@@ -9,7 +9,6 @@ ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := avr32-linux- endif -PLATFORM_CPPFLAGS += -DCONFIG_AVR32 CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 PLATFORM_RELFLAGS += -ffixed-r5 -fPIC -mno-init-got -mrelax
arch/blackfin/config.mk +0 -1
@@ -21,7 +21,6 @@ endif CONFIG_BFIN_BOOT_MODE := $(strip $(CONFIG_BFIN_BOOT_MODE:"%"=%)) PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic -PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN LDFLAGS_FINAL += --gc-sections LDFLAGS += -m elf32bfin
arch/m68k/config.mk +1 -1
@@ -11,7 +11,7 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000 -PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__ +PLATFORM_CPPFLAGS += -D__M68K__ PLATFORM_LDFLAGS += -n PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
arch/mips/config.mk +1 -1
@@ -25,7 +25,7 @@ endif # Default to EB if no endianess is configured ENDIANNESS ?= -EB -PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ +PLATFORM_CPPFLAGS += -D__MIPS__ # # From Linux arch/mips/Makefile
arch/nds32/config.mk +1 -1
@@ -17,6 +17,6 @@ CONFIG_STANDALONE_LOAD_ADDR = 0x300000 \ PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -mrelax PLATFORM_RELFLAGS += -gdwarf-2 -PLATFORM_CPPFLAGS += -DCONFIG_NDS32 -D__nds32__ -G0 -ffixed-10 -fpie +PLATFORM_CPPFLAGS += -D__nds32__ -G0 -ffixed-10 -fpie LDFLAGS_u-boot = --gc-sections --relax
arch/nios2/config.mk +1 -1
@@ -12,7 +12,7 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x02000000 -PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__ +PLATFORM_CPPFLAGS += -D__NIOS2__ PLATFORM_CPPFLAGS += -G0 LDFLAGS_FINAL += --gc-sections
arch/openrisc/config.mk +1 -1
@@ -11,6 +11,6 @@ endif # r10 used for global object pointer, already set in OR32 GCC but just to be # clear -PLATFORM_CPPFLAGS += -DCONFIG_OPENRISC -D__OR1K__ -ffixed-r10 +PLATFORM_CPPFLAGS += -D__OR1K__ -ffixed-r10 CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
arch/powerpc/config.mk +1 -1
@@ -13,7 +13,7 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000 LDFLAGS_FINAL += --gc-sections PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections -fdata-sections \ -meabi -PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__ -ffixed-r2 +PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 PLATFORM_LDFLAGS += -n # Support generic board on PPC
arch/sandbox/config.mk +1 -1
@@ -1,7 +1,7 @@ # Copyright (c) 2011 The Chromium OS Authors. # SPDX-License-Identifier: GPL-2.0+ -PLATFORM_CPPFLAGS += -DCONFIG_SANDBOX -D__SANDBOX__ -U_FORTIFY_SOURCE +PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE PLATFORM_CPPFLAGS += -DCONFIG_ARCH_MAP_SYSMEM -DCONFIG_SYS_GENERIC_BOARD PLATFORM_LIBS += -lrt
arch/sparc/config.mk +1 -1
@@ -14,4 +14,4 @@ gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`) CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 -L $(gcclibdir) \ -T $(srctree)/examples/standalone/sparc.lds -PLATFORM_CPPFLAGS += -DCONFIG_SPARC -D__sparc__ +PLATFORM_CPPFLAGS += -D__sparc__
arch/x86/cpu/config.mk +1 -1
@@ -7,7 +7,7 @@ CROSS_COMPILE ?= i386-linux- -PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -march=i386 -Werror +PLATFORM_CPPFLAGS += -D__I386__ -march=i386 -Werror # DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING! LDPPFLAGS += -DRESET_SEG_START=0xffff0000
include/configs/microblaze-generic.h +0 -1
@@ -12,7 +12,6 @@#include "../board/xilinx/microblaze-generic/xparameters.h" /* MicroBlaze CPU */ -#define CONFIG_MICROBLAZE 1#define MICROBLAZE_V5 1/* Open Firmware DTS */
Signature · 1 line
1.8.3.2
RFC PATCH 11/17 sh: remove redundant CPU family definition
In reply to Masahiro YamadaCONFIG_SH2, CONFIG_SH3, CONFIG_SH4 are defined in Kconfig.
Remove the redundant definition in arch/sh/cpu/*/config.mk
---
arch/sh/cpu/sh2/config.mk | 2 +- arch/sh/cpu/sh3/config.mk | 2 +- arch/sh/cpu/sh4/config.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
arch/sh/cpu/sh2/config.mk +1 -1
@@ -12,6 +12,6 @@ PLATFORM_CPPFLAGS += -m2a -m2a-nofpu -mb else # SH2 PLATFORM_CPPFLAGS += -m3e -mb endif -PLATFORM_CPPFLAGS += -DCONFIG_SH2 $(call cc-option,-mno-fdpic) +PLATFORM_CPPFLAGS += $(call cc-option,-mno-fdpic) PLATFORM_LDFLAGS += $(ENDIANNESS)
arch/sh/cpu/sh3/config.mk +1 -1
@@ -11,4 +11,4 @@ # SPDX-License-Identifier: GPL-2.0+ # # -PLATFORM_CPPFLAGS += -DCONFIG_SH3 -m3 +PLATFORM_CPPFLAGS += -m3
arch/sh/cpu/sh4/config.mk +1 -1
@@ -8,4 +8,4 @@ # SPDX-License-Identifier: GPL-2.0+ # # -PLATFORM_CPPFLAGS += -DCONFIG_SH4 -m4-nofpu +PLATFORM_CPPFLAGS += -m4-nofpu
Signature · 1 line
1.8.3.2
RFC PATCH 12/17 sparc: remove redundant CPU family definition
In reply to Masahiro YamadaCONFIG_LEON2, CONFIG_LEON3 are defined in Kconfig.
Remove the redundant definition in arch/sparc/cpu/*/config.mk.
---
arch/sparc/cpu/leon2/config.mk | 2 +- arch/sparc/cpu/leon3/config.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/sparc/cpu/leon2/config.mk +1 -1
@@ -7,4 +7,4 @@ PLATFORM_RELFLAGS += -fPIC -PLATFORM_CPPFLAGS += -DCONFIG_LEON -DCONFIG_LEON2 +PLATFORM_CPPFLAGS += -DCONFIG_LEON
arch/sparc/cpu/leon3/config.mk +1 -1
@@ -7,4 +7,4 @@ PLATFORM_RELFLAGS += -fPIC -PLATFORM_CPPFLAGS += -DCONFIG_LEON -DCONFIG_LEON3 +PLATFORM_CPPFLAGS += -DCONFIG_LEON
Signature · 1 line
1.8.3.2
RFC PATCH 13/17 m68k: remove redundant CPU family definition
In reply to Masahiro Yamada - CONFIG_MCF5227x
- CONFIG_MCF523x
- CONFIG_MCF52x2
- CONFIG_MCF520x
- CONFIG_MCF532x
- CONFIG_MCF5301x
- CONFIG_MCF5441x
- CONFIG_MCF5445x
- CONFIG_MCF547x_8x
are defined in Kconfig.
Remove the redundant definition in config headers.
Besides, refactor tricky grepping
in arch/m68k/cpu/{mcf532x,mcf5445x}/config.mk.
---
arch/m68k/cpu/mcf532x/config.mk | 12 +++--------- arch/m68k/cpu/mcf5445x/config.mk | 10 +++------- include/configs/M5208EVBE.h | 1 - include/configs/M52277EVB.h | 1 - include/configs/M5235EVB.h | 1 - include/configs/M5249EVB.h | 1 - include/configs/M5253DEMO.h | 1 - include/configs/M5253EVBE.h | 1 - include/configs/M5272C3.h | 1 - include/configs/M5275EVB.h | 1 - include/configs/M5282EVB.h | 1 - include/configs/M53017EVB.h | 1 - include/configs/M5329EVB.h | 1 - include/configs/M5373EVB.h | 1 - include/configs/M54418TWR.h | 1 - include/configs/M54451EVB.h | 1 - include/configs/M54455EVB.h | 1 - include/configs/M5475EVB.h | 1 - include/configs/M5485EVB.h | 1 - include/configs/TASREG.h | 1 - include/configs/astro_mcf5373l.h | 1 - include/configs/cobra5272.h | 1 - include/configs/eb_cpu5282.h | 1 - 23 files changed, 6 insertions(+), 37 deletions(-)
arch/m68k/cpu/mcf532x/config.mk +3 -9
@@ -7,13 +7,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h -is5301x:=$(shell grep CONFIG_MCF5301x $(cfg)) -is532x:=$(shell grep CONFIG_MCF532x $(cfg)) +cpuflags-$(CONFIG_MCF5301x) := $(call cc-option,-mcpu=53015) +cpuflags-$(CONFIG_MCF532x) := $(call cc-option,-mcpu=5329) -ifneq (,$(findstring CONFIG_MCF5301x,$(is5301x))) -PLATFORM_CPPFLAGS += -mcpu=53015 -fPIC -endif -ifneq (,$(findstring CONFIG_MCF532x,$(is532x))) -PLATFORM_CPPFLAGS += -mcpu=5329 -fPIC -endif +PLATFORM_CPPFLAGS += $(cpuflags-y) -fPIC
arch/m68k/cpu/mcf5445x/config.mk +3 -7
@@ -9,14 +9,10 @@ # SPDX-License-Identifier: GPL-2.0+ # -cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h -is5441x:=$(shell grep CONFIG_MCF5441x $(cfg)) +cpuflags-$(CONFIG_MCF5441x) := $(call cc-option,-mcpu=54418) +cpuflags-$(CONFIG_MCF5445x) := $(call cc-option,-mcpu=54455) -ifneq (,$(findstring CONFIG_MCF5441x,$(is5441x))) -PLATFORM_CPPFLAGS += -mcpu=54418 -fPIC -else -PLATFORM_CPPFLAGS += -mcpu=54455 -fPIC -endif +PLATFORM_CPPFLAGS += $(cpuflags-y) -fPIC ifneq (,$(findstring -linux-,$(shell $(CC) --version))) ifneq (,$(findstring GOT,$(shell $(LD) --help)))
include/configs/M5208EVBE.h +0 -1
@@ -14,7 +14,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF520x 1/* define processor family */ #define CONFIG_M5208 /* define processor type */ #define CONFIG_MCFUART
include/configs/M52277EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5227x 1/* define processor family */ #define CONFIG_M52277 /* define processor type */ #define CONFIG_M52277EVB /* M52277EVB board */
include/configs/M5235EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF523x 1/* define processor family */ #define CONFIG_M5235 /* define processor type */ #define CONFIG_MCFUART
include/configs/M5249EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5249 /* define processor type */ #define CONFIG_MCFTMR
include/configs/M5253DEMO.h +0 -1
@@ -7,7 +7,6 @@#ifndef _M5253DEMO_H#define _M5253DEMO_H -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5253 /* define processor type */ #define CONFIG_M5253DEMO /* define board type */
include/configs/M5253EVBE.h +0 -1
@@ -8,7 +8,6 @@#ifndef _M5253EVBE_H#define _M5253EVBE_H -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5253 /* define processor type */ #define CONFIG_M5253EVBE /* define board type */
include/configs/M5272C3.h +0 -1
@@ -17,7 +17,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5272 /* define processor type */ #define CONFIG_MCFTMR
include/configs/M5275EVB.h +0 -1
@@ -21,7 +21,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5275 /* define processor type */ #define CONFIG_M5275EVB /* define board type */
include/configs/M5282EVB.h +0 -1
@@ -17,7 +17,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5282 /* define processor type */ #define CONFIG_MCFTMR
include/configs/M53017EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5301x 1/* define processor family */ #define CONFIG_M53015 /* define processor type */ #define CONFIG_MCFUART
include/configs/M5329EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF532x 1/* define processor family */ #define CONFIG_M5329 /* define processor type */ #define CONFIG_MCFUART
include/configs/M5373EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF532x 1/* define processor family */ #define CONFIG_M5373 /* define processor type */ #define CONFIG_MCFUART
include/configs/M54418TWR.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5441x 1/* define processor family */ #define CONFIG_M54418 /* define processor type */ #define CONFIG_M54418TWR /* M54418TWR board */
include/configs/M54451EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5445x 1/* define processor family */ #define CONFIG_M54451 /* define processor type */ #define CONFIG_M54451EVB /* M54451EVB board */
include/configs/M54455EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF5445x 1/* define processor family */ #define CONFIG_M54455 /* define processor type */ #define CONFIG_M54455EVB /* M54455EVB board */
include/configs/M5475EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF547x_8x 1/* define processor family */ #define CONFIG_M547x/* define processor type */ #define CONFIG_M5475 /* define processor type */
include/configs/M5485EVB.h +0 -1
@@ -18,7 +18,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF547x_8x 1/* define processor family */ #define CONFIG_M548x/* define processor type */ #define CONFIG_M5485 /* define processor type */
include/configs/TASREG.h +0 -1
@@ -22,7 +22,6 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5249 /* define processor type */ #define CONFIG_MISC_INIT_R 1/* call misc_init_r() */
include/configs/astro_mcf5373l.h +0 -1
@@ -47,7 +47,6 @@/* it seems not clear yet which processor defines we should use */ #define CONFIG_MCF537x/* define processor family */ -#define CONFIG_MCF532x 1/* define processor family */ #define CONFIG_M5373 /* define processor type */ #define CONFIG_ASTRO5373L /* define board type */
include/configs/cobra5272.h +0 -1
@@ -31,7 +31,6 @@* --- */ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5272 /* define processor type */ /* ---
include/configs/eb_cpu5282.h +0 -1
@@ -15,7 +15,6 @@* High Level Configuration Options (easy to change) * *----------------------------------------------------------------------*/ -#define CONFIG_MCF52x2 1/* define processor family */ #define CONFIG_M5282 /* define processor type */ #define CONFIG_MISC_INIT_R
Signature · 1 line
1.8.3.2
RFC PATCH 14/17 powerpc: remove redundant CPU family definition
In reply to Masahiro Yamada - CONFIG_74xx_7xx
- CONFIG_MPC512X
- CONFIG_5xx
- CONFIG_MPC5xxx
- CONFIG_MPC824X
- CONFIG_MPC8260
- CONFIG_MPC83xx
- CONFIG_MPC85xx
- CONFIG_MPC86xx
- CONFIG_8xx
- CONFIG_4xx
are defined in Kconfig.
Remove the redundant definition in arch/powerpc/cpu/*/config.mk.
---
arch/powerpc/cpu/74xx_7xx/config.mk | 2 +- arch/powerpc/cpu/mpc512x/config.mk | 2 +- arch/powerpc/cpu/mpc5xx/config.mk | 2 +- arch/powerpc/cpu/mpc5xxx/config.mk | 3 +-- arch/powerpc/cpu/mpc824x/config.mk | 2 +- arch/powerpc/cpu/mpc8260/config.mk | 3 +-- arch/powerpc/cpu/mpc83xx/config.mk | 2 +- arch/powerpc/cpu/mpc85xx/config.mk | 2 +- arch/powerpc/cpu/mpc86xx/config.mk | 2 +- arch/powerpc/cpu/mpc8xx/config.mk | 2 +- arch/powerpc/cpu/ppc4xx/config.mk | 2 +- 11 files changed, 11 insertions(+), 13 deletions(-)
arch/powerpc/cpu/74xx_7xx/config.mk +1 -1
@@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -mstring +PLATFORM_CPPFLAGS += -mstring
arch/powerpc/cpu/mpc512x/config.mk +1 -1
@@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 -msoft-float -mcpu=603e +PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float -mcpu=603e
arch/powerpc/cpu/mpc5xx/config.mk +1 -1
@@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_5xx -mpowerpc -msoft-float +PLATFORM_CPPFLAGS += -mpowerpc -msoft-float
arch/powerpc/cpu/mpc5xxx/config.mk +1 -2
@@ -5,5 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx \ - -mstring -mcpu=603e -mmultiple +PLATFORM_CPPFLAGS += -mstring -mcpu=603e -mmultiple
arch/powerpc/cpu/mpc824x/config.mk +1 -1
@@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -mstring -mcpu=603e -msoft-float +PLATFORM_CPPFLAGS += -mstring -mcpu=603e -msoft-float
arch/powerpc/cpu/mpc8260/config.mk +1 -2
@@ -5,5 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC8260 -DCONFIG_CPM2 \ - -mstring -mcpu=603e -mmultiple +PLATFORM_CPPFLAGS += -DCONFIG_CPM2 -mstring -mcpu=603e -mmultiple
arch/powerpc/cpu/mpc83xx/config.mk +1 -1
@@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 -msoft-float +PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float
arch/powerpc/cpu/mpc85xx/config.mk +1 -1
@@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -Wa,-me500 -msoft-float -mno-string +PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string # -mspe=yes is needed to have -mno-spe accepted by a buggy GCC; # see "[PATCH,rs6000] make -mno-spe work as expected" on
arch/powerpc/cpu/mpc86xx/config.mk +1 -1
@@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -mstring -maltivec -mabi=altivec -msoft-float +PLATFORM_CPPFLAGS += -mstring -maltivec -mabi=altivec -msoft-float
arch/powerpc/cpu/mpc8xx/config.mk +1 -1
@@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_8xx -mstring -mcpu=860 -msoft-float +PLATFORM_CPPFLAGS += -mstring -mcpu=860 -msoft-float
arch/powerpc/cpu/ppc4xx/config.mk +1 -1
@@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_4xx -mstring -msoft-float +PLATFORM_CPPFLAGS += -mstring -msoft-float cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h is440:=$(shell grep CONFIG_440 $(cfg))
Signature · 1 line
1.8.3.2
RFC PATCH 15/17 kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers
In reply to Masahiro YamadaCONFIG_SPL and CONFIG_TPL are defined in Kconfig.
Remove the redundant definition in config headers.
---
include/configs/BSC9131RDB.h | 1 - include/configs/BSC9132QDS.h | 1 - include/configs/C29XPCIE.h | 2 -- include/configs/MPC8313ERDB.h | 1 - include/configs/P1010RDB.h | 4 ---- include/configs/P1022DS.h | 4 ---- include/configs/a3m071.h | 1 - include/configs/am335x_igep0033.h | 1 - include/configs/am3517_crane.h | 1 - include/configs/am3517_evm.h | 1 - include/configs/apf27.h | 1 - include/configs/arndale.h | 1 - include/configs/bur_am335x_common.h | 1 - include/configs/cam_enc_4xx.h | 1 - include/configs/cm_t35.h | 1 - include/configs/da850evm.h | 1 - include/configs/devkit8000.h | 1 - include/configs/exynos5-dt.h | 1 - include/configs/hawkboard.h | 1 - include/configs/ipam390.h | 1 - include/configs/lwmon5.h | 1 - include/configs/m53evk.h | 1 - include/configs/mcx.h | 1 - include/configs/microblaze-generic.h | 1 - include/configs/mx31pdk.h | 1 - include/configs/mxs.h | 1 - include/configs/omap3_beagle.h | 1 - include/configs/omap3_evm_common.h | 1 - include/configs/omap3_overo.h | 1 - include/configs/origen.h | 1 - include/configs/p1_p2_rdb_pc.h | 4 ---- include/configs/palmtreo680.h | 1 - include/configs/pcm051.h | 1 - include/configs/sama5d3xek.h | 1 - include/configs/siemens-am33x-common.h | 1 - include/configs/smdkv310.h | 1 - include/configs/socfpga_cyclone5.h | 1 - include/configs/tam3517-common.h | 1 - include/configs/tao3530.h | 1 - include/configs/tegra-common.h | 1 - include/configs/ti814x_evm.h | 1 - include/configs/ti816x_evm.h | 1 - include/configs/ti_armv7_common.h | 1 - include/configs/tricorder.h | 1 - include/configs/tx25.h | 1 - include/configs/vpac270.h | 1 - include/configs/woodburn_sd.h | 1 - include/configs/x600.h | 1 - include/configs/zynq-common.h | 1 - 49 files changed, 59 deletions(-)
include/configs/BSC9131RDB.h +0 -1
@@ -25,7 +25,6 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1#define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT
include/configs/BSC9132QDS.h +0 -1
@@ -34,7 +34,6 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1#define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT
include/configs/C29XPCIE.h +0 -2
@@ -24,8 +24,6 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 -#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/MPC8313ERDB.h +0 -1
@@ -19,7 +19,6 @@#define CONFIG_MPC8313ERDB 1#ifdef CONFIG_NAND -#define CONFIG_SPL 1#define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT
include/configs/P1010RDB.h +0 -4
@@ -21,7 +21,6 @@#define CONFIG_NAND_FSL_IFC #ifdef CONFIG_SDCARD -#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_DRIVERS_MISC_SUPPORT #define CONFIG_SPL_ENV_SUPPORT
@@ -56,7 +55,6 @@#define CONFIG_SYS_TEXT_BASE 0x11000000#define CONFIG_RESET_VECTOR_ADDRESS 0x1107fffc#else -#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_DRIVERS_MISC_SUPPORT #define CONFIG_SPL_ENV_SUPPORT
@@ -88,7 +86,6 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1#ifdef CONFIG_SECURE_BOOT #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT
@@ -108,7 +105,6 @@#define CONFIG_SYS_NAND_U_BOOT_OFFS 0#define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"#else -#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/P1022DS.h +0 -4
@@ -16,7 +16,6 @@#endif #ifdef CONFIG_SDCARD -#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -45,7 +44,6 @@#endif #ifdef CONFIG_SPIFLASH -#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -79,8 +77,6 @@#define CONFIG_SYS_NAND_MAX_OOBFREE 5#ifdef CONFIG_NAND -#define CONFIG_SPL 1 -#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/a3m071.h +0 -1
@@ -411,7 +411,6 @@/* * SPL related defines */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NOR_SUPPORT
include/configs/am335x_igep0033.h +0 -1
@@ -211,7 +211,6 @@#undef CONFIG_USE_IRQ/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK /* * Place the image at the start of the ROM defined image space.
include/configs/am3517_crane.h +0 -1
@@ -298,7 +298,6 @@ GENERATED_GBL_DATA_SIZE)/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SIMPLE
include/configs/am3517_evm.h +0 -1
@@ -307,7 +307,6 @@ GENERATED_GBL_DATA_SIZE)/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SIMPLE
include/configs/apf27.h +0 -1
@@ -37,7 +37,6 @@/* * SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"#define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds"#define CONFIG_SPL_MAX_SIZE 2048
include/configs/arndale.h +0 -1
@@ -121,7 +121,6 @@/* MMC SPL */ #define CONFIG_EXYNOS_SPL -#define CONFIG_SPL 1#define COPY_BL2_FNPTR_ADDR 0x02020030#define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/bur_am335x_common.h +0 -1
@@ -162,7 +162,6 @@* under common/spl/. Given our generally common memory map, we set a * number of related defaults and sizes here. */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK /* * Place the image at the start of the ROM defined image space.
include/configs/cam_enc_4xx.h +0 -1
@@ -199,7 +199,6 @@#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_LIBGENERIC_SUPPORT
include/configs/cm_t35.h +0 -1
@@ -320,7 +320,6 @@#define CONFIG_OMAP3_SPI /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/da850evm.h +0 -1
@@ -368,7 +368,6 @@#ifndef CONFIG_DIRECT_NOR_BOOT /* defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE - \
include/configs/devkit8000.h +0 -1
@@ -283,7 +283,6 @@#define CONFIG_SYS_SRAM_SIZE 0x10000/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/exynos5-dt.h +0 -1
@@ -136,7 +136,6 @@#define CONFIG_TPM_TIS_I2C_SLAVE_ADDR 0x20/* MMC SPL */ -#define CONFIG_SPL 1#define COPY_BL2_FNPTR_ADDR 0x02020030#define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/hawkboard.h +0 -1
@@ -46,7 +46,6 @@#endif /* Spl */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SUPPORT
include/configs/ipam390.h +0 -1
@@ -298,7 +298,6 @@"-(rootfs)" /* defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE - \
include/configs/lwmon5.h +0 -1
@@ -665,7 +665,6 @@* SPL related defines */ #ifdef CONFIG_LCD4_LWMON5 -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NOR_SUPPORT
include/configs/m53evk.h +0 -1
@@ -236,7 +236,6 @@/* * NAND SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx"#define CONFIG_SPL_BOARD_INIT
include/configs/mcx.h +0 -1
@@ -348,7 +348,6 @@ GENERATED_GBL_DATA_SIZE)/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_NAND_SIMPLE
include/configs/microblaze-generic.h +0 -1
@@ -447,7 +447,6 @@#endif /* SPL part */ -#define CONFIG_SPL 1#define CONFIG_CMD_SPL #define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/mx31pdk.h +0 -1
@@ -29,7 +29,6 @@#define CONFIG_MACH_TYPE MACH_TYPE_MX31_3DS -#define CONFIG_SPL 1#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"#define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds"#define CONFIG_SPL_MAX_SIZE 2048
include/configs/mxs.h +0 -1
@@ -49,7 +49,6 @@#define CONFIG_ARCH_MISC_INIT /* SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_NO_CPU_SUPPORT_CODE #define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mxs"#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
include/configs/omap3_beagle.h +0 -1
@@ -389,7 +389,6 @@#define CONFIG_SYS_CACHELINE_SIZE 64/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE #define CONFIG_SPL_TEXT_BASE 0x40200800
include/configs/omap3_evm_common.h +0 -1
@@ -260,7 +260,6 @@#define CONFIG_SYS_CACHELINE_SIZE 64/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x40200800#define CONFIG_SPL_MAX_SIZE (54 * 1024)/* 8 KB for stack */
include/configs/omap3_overo.h +0 -1
@@ -277,7 +277,6 @@#define CONFIG_SYS_CACHELINE_SIZE 64/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE #define CONFIG_SPL_TEXT_BASE 0x40200800
include/configs/origen.h +0 -1
@@ -78,7 +78,6 @@#define CONFIG_BOOTDELAY 3#define CONFIG_ZERO_BOOTDELAY_CHECK /* MMC SPL */ -#define CONFIG_SPL 1#define COPY_BL2_FNPTR_ADDR 0x02020030#define CONFIG_SPL_TEXT_BASE 0x02021410
include/configs/p1_p2_rdb_pc.h +0 -4
@@ -145,7 +145,6 @@#endif #ifdef CONFIG_SDCARD -#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -174,7 +173,6 @@#endif #ifdef CONFIG_SPIFLASH -#define CONFIG_SPL 1#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT
@@ -204,8 +202,6 @@#endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 -#define CONFIG_TPL 1#ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE
include/configs/palmtreo680.h +0 -1
@@ -205,7 +205,6 @@/* * SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_TEXT_BASE 0xa1700000/* IPL loads SPL here */ #define CONFIG_SPL_STACK 0x5c040000/* end of internal SRAM */ #define CONFIG_SPL_NAND_SUPPORT /* build libnand for spl */
include/configs/pcm051.h +0 -1
@@ -197,7 +197,6 @@#define CONFIG_ENV_IS_NOWHERE /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT /*
include/configs/sama5d3xek.h +0 -1
@@ -243,7 +243,6 @@#define CONFIG_SYS_MALLOC_LEN (1024 * 1024)/* SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x300000#define CONFIG_SPL_MAX_SIZE 0x10000
include/configs/siemens-am33x-common.h +0 -1
@@ -137,7 +137,6 @@#define CONFIG_SYS_I2C_OMAP24XX /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x402F0400#define CONFIG_SPL_MAX_SIZE (101 * 1024)
include/configs/smdkv310.h +0 -1
@@ -75,7 +75,6 @@#define CONFIG_ZERO_BOOTDELAY_CHECK /* MMC SPL */ -#define CONFIG_SPL 1#define CONFIG_SKIP_LOWLEVEL_INIT #define COPY_BL2_FNPTR_ADDR 0x00002488
include/configs/socfpga_cyclone5.h +0 -1
@@ -209,7 +209,6 @@*/ /* Enable building of SPL globally */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK /* TEXT_BASE for linking the SPL binary */
include/configs/tam3517-common.h +0 -1
@@ -218,7 +218,6 @@#define CONFIG_NET_RETRY_COUNT 10/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_CONSOLE
include/configs/tao3530.h +0 -1
@@ -305,7 +305,6 @@#define CONGIG_CMD_STORAGE /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/tegra-common.h +0 -1
@@ -121,7 +121,6 @@#define CONFIG_CMD_ENTERRCM /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_RAM_DEVICE #define CONFIG_SPL_BOARD_INIT
include/configs/ti814x_evm.h +0 -1
@@ -168,7 +168,6 @@#define CONFIG_ENV_IS_NOWHERE /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x40300000#define CONFIG_SPL_MAX_SIZE ((128 - 18) * 1024)
include/configs/ti816x_evm.h +0 -1
@@ -134,7 +134,6 @@/* SPL */ /* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_TEXT_BASE 0x40400000#define CONFIG_SPL_MAX_SIZE ((128 - 18) * 1024)
include/configs/ti_armv7_common.h +0 -1
@@ -174,7 +174,6 @@* number of related defaults and sizes here. */ #ifndef CONFIG_NOR_BOOT -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_OS_BOOT
include/configs/tricorder.h +0 -1
@@ -328,7 +328,6 @@#define CONFIG_SYS_SRAM_SIZE 0x10000/* Defines for SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_NAND_SIMPLE
include/configs/tx25.h +0 -1
@@ -21,7 +21,6 @@#define CONFIG_SYS_MONITOR_LEN (256 << 10)/* 256 kB for U-Boot */ -#define CONFIG_SPL 1#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"#define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds"#define CONFIG_SPL_MAX_SIZE 2048
include/configs/vpac270.h +0 -1
@@ -17,7 +17,6 @@#define CONFIG_SYS_TEXT_BASE 0xa0000000#ifdef CONFIG_ONENAND -#define CONFIG_SPL 1#define CONFIG_SPL_ONENAND_SUPPORT #define CONFIG_SPL_ONENAND_LOAD_ADDR 0x2000#define CONFIG_SPL_ONENAND_LOAD_SIZE \
include/configs/woodburn_sd.h +0 -1
@@ -22,7 +22,6 @@/* * SPL */ -#define CONFIG_SPL 1#define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm1136/u-boot-spl.lds"#define CONFIG_SPL_LIBCOMMON_SUPPORT
include/configs/x600.h +0 -1
@@ -273,7 +273,6 @@/* * SPL related defines */ -#define CONFIG_SPL 1#define CONFIG_SPL_TEXT_BASE 0xd2800b00#define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/spear"#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
include/configs/zynq-common.h +0 -1
@@ -229,7 +229,6 @@#define CONFIG_CMD_TFTPPUT /* SPL part */ -#define CONFIG_SPL 1#define CONFIG_CMD_SPL #define CONFIG_SPL_FRAMEWORK #define CONFIG_SPL_LIBCOMMON_SUPPORT
Signature · 1 line
1.8.3.2
RFC PATCH 16/17 kconfig: remove old script
In reply to Masahiro Yamadamkconfig is no longer used in Kconfig.
---
mkconfig | 192 --------------------------------------------------------------- 1 file changed, 192 deletions(-) delete mode 100755 mkconfig
mkconfig deleted +0 -192
@@ -1,192 +0,0 @@ -#!/bin/sh -e - -# Script to create header files and links to configure -# U-Boot for a specific board. -# -# Parameters: Target Architecture CPU Board [VENDOR] [SOC] -# -# (C) 2002-2013 DENX Software Engineering, Wolfgang Denk <[email protected]> -# -# SPDX-License-Identifier: GPL-2.0+ -# - -APPEND=no # Default: Create new config file -BOARD_NAME="" # Name to print in make output -TARGETS="" - -arch="" -cpu="" -board="" -vendor="" -soc="" -options="" - -if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then - # Automatic mode - line=`awk '($0 !~ /^#/ && $7 ~ /^'"$2"'$/) { print $1, $2, $3, $4, $5, $6, $7, $8 }' $srctree/boards.cfg` - if [ -z "$line" ] ; then - echo "make: *** No rule to make target \`$2_config'. Stop." >&2 - exit 1 - fi - - set ${line} - # add default board name if needed - [ $# = 3 ] && set ${line} ${1} -fi - -while [ $# -gt 0 ] ; do - case "$1" in - --) shift ; break ;; - -a) shift ; APPEND=yes ;; - -n) shift ; BOARD_NAME="${7%_config}" ; shift ;; - -t) shift ; TARGETS="`echo $1 | sed 's:_: :g'` ${TARGETS}" ; shift ;; - *) break ;; - esac -done - -[ $# -lt 7 ] && exit 1 -[ $# -gt 8 ] && exit 1 - -# Strip all options and/or _config suffixes -CONFIG_NAME="${7%_config}" - -[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_config}" - -arch="$2" -cpu=`echo $3 | awk 'BEGIN {FS = ":"} ; {print $1}'` -spl_cpu=`echo $3 | awk 'BEGIN {FS = ":"} ; {print $2}'` -if [ "$6" = "<none>" ] ; then - board= -elif [ "$6" = "-" ] ; then - board=${BOARD_NAME} -else - board="$6" -fi -[ "$5" != "-" ] && vendor="$5" -[ "$4" != "-" ] && soc="$4" -[ $# -gt 7 ] && [ "$8" != "-" ] && { - # check if we have a board config name in the options field - # the options field mave have a board config name and a list - # of options, both separated by a colon (':'); the options are - # separated by commas (','). - # - # Check for board name - tmp="${8%:*}" - if [ "$tmp" ] ; then - CONFIG_NAME="$tmp" - fi - # Check if we only have a colon... - if [ "${tmp}" != "$8" ] ; then - options=${8#*:} - TARGETS="`echo ${options} | sed 's:,: :g'` ${TARGETS}" - fi -} - -if [ "${ARCH}" -a "${ARCH}" != "${arch}" ]; then - echo "Failed: \$ARCH=${ARCH}, should be '${arch}' for ${BOARD_NAME}" 1>&2 - exit 1 -fi - -# -# Test above needed aarch64, now we need arm -# -if [ "${arch}" = "aarch64" ]; then - arch="arm" -fi - -if [ "$options" ] ; then - echo "Configuring for ${BOARD_NAME} - Board: ${CONFIG_NAME}, Options: ${options}" -else - echo "Configuring for ${BOARD_NAME} board..." -fi - -# -# Create link to architecture specific headers -# -if [ -n "$KBUILD_SRC" ] ; then - mkdir -p ${objtree}/include - LNPREFIX=${srctree}/arch/${arch}/include/asm/ - cd ${objtree}/include - mkdir -p asm -else - cd arch/${arch}/include -fi - -rm -f asm/arch - -if [ -z "${soc}" ] ; then - ln -s ${LNPREFIX}arch-${cpu} asm/arch -else - ln -s ${LNPREFIX}arch-${soc} asm/arch -fi - -if [ "${arch}" = "arm" ] ; then - rm -f asm/proc - ln -s ${LNPREFIX}proc-armv asm/proc -fi - -if [ -z "$KBUILD_SRC" ] ; then - cd ${srctree}/include -fi - -# -# Create include file for Make -# -( echo "ARCH = ${arch}" - if [ ! -z "$spl_cpu" ] ; then - echo 'ifeq ($(CONFIG_SPL_BUILD),y)' - echo "CPU = ${spl_cpu}" - echo "else" - echo "CPU = ${cpu}" - echo "endif" - else - echo "CPU = ${cpu}" - fi - echo "BOARD = ${board}" - - [ "${vendor}" ] && echo "VENDOR = ${vendor}" - [ "${soc}" ] && echo "SOC = ${soc}" - exit 0 ) > config.mk - -# Assign board directory to BOARDIR variable -if [ -z "${vendor}" ] ; then - BOARDDIR=${board} -else - BOARDDIR=${vendor}/${board} -fi - -# -# Create board specific header file -# -if [ "$APPEND" = "yes" ] # Append to existing config file -then - echo >> config.h -else - > config.h # Create new config file -fi -echo "/* Automatically generated - do not edit */" >>config.h - -for i in ${TARGETS} ; do - i="`echo ${i} | sed '/=/ {s/=/ /;q; } ; { s/$/ 1/; }'`" - echo "#define CONFIG_${i}" >>config.h ; -done - -echo "#define CONFIG_SYS_ARCH \"${arch}\"" >> config.h -echo "#define CONFIG_SYS_CPU \"${cpu}\"" >> config.h -echo "#define CONFIG_SYS_BOARD \"${board}\"" >> config.h - -[ "${vendor}" ] && echo "#define CONFIG_SYS_VENDOR \"${vendor}\"" >> config.h - -[ "${soc}" ] && echo "#define CONFIG_SYS_SOC \"${soc}\"" >> config.h - -[ "${board}" ] && echo "#define CONFIG_BOARDDIR board/$BOARDDIR" >> config.h -cat << EOF >> config.h -#include <config_cmd_defaults.h> -#include <config_defaults.h> -#include <configs/${CONFIG_NAME}.h> -#include <asm/config.h> -#include <config_fallbacks.h> -#include <config_uncmd_spl.h> -EOF - -exit 0
Signature · 1 line
1.8.3.2
RFC PATCH 17/17 kconfig: add CONFIG_CROSS_COMPILE
In reply to Masahiro YamadaCopy from Linux Kernel (with a few adjustments in comments).
---
Kconfig | 9 +++++++++ Makefile | 20 ++++++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-)
Kconfig +9 -0
@@ -41,6 +41,15 @@ config TPL prompt "Build TPL image" if !SPL_BUILD default y if TPL_BUILD +config CROSS_COMPILE + string "Cross-compiler tool prefix" + depends on !SPL_BUILD + help + Same as running 'make CROSS_COMPILE=prefix-' but stored for + default make runs in this U-Boot build directory. You don't + need to set this unless you want the configured U-Boot build + directory to select the cross-compiler automatically. + endmenu # General setup source "arch/Kconfig"
Makefile +14 -6
@@ -188,12 +188,20 @@ HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \ export HOSTARCH HOSTOS -######################################################################### - -# set default to nothing for native builds -ifeq ($(HOSTARCH),$(ARCH)) -CROSS_COMPILE ?= -endif +# Cross compiling and selecting different set of gcc/bin-utils +# --------------------------------------------------------------------------- +# +# CROSS_COMPILE specify the prefix used for all executables used +# during compilation. Only gcc and related bin-utils executables +# are prefixed with $(CROSS_COMPILE). +# CROSS_COMPILE can be set on the command line +# make CROSS_COMPILE=ia64-linux- +# Alternatively CROSS_COMPILE can be set in the environment. +# A third alternative is to store a setting in .config so that plain +# "make" in the configured kernel build directory always uses that. +# Default value for CROSS_COMPILE is not to prefix executables +# Note: Some architectures assign CROSS_COMPILE in their arch/*/config.mk +CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) KCONFIG_CONFIG ?= .config export KCONFIG_CONFIG
Signature · 1 line
1.8.3.2
cover Version 0 of Kconfig for U-Boot
In reply to Masahiro YamadaHi Masahiro,
Quoted 6 lines · Masahiro Yamada
Several weeks have passed since
Kbuildseries was merged to the code base at 2014.01-rc1.I think now is a good time to start to discuss the next stage. Yes, our promised land,
Kconfig.
Great! I have a few general comments below and have not reviewed the code on this version.
Quoted 10 lines
Besides Linux Kernel,
Kconfigis being used in some projects, for example, BusyBox, Buildroot.But, our situation is a little more complicated.
We need to generate 3 images at most: main image, SPL and TPL. And each of them can have a different set of CONFIGs.For example, we can describe a board header file like this:
Quoted 8 lines
#if defined(CONFIG_TPL_BUILD) # define CONFIG_FOO 100 #elif defined(CONFIG_SPL_BUILD) # define CONFIG_FOO 50 #else # define CONFIG_FOO 10 # define CONFIG_BAR #endif
I wonder if we should drop this, and require that all have the same options? That would involve requiring that board config files are not permitted to use #ifdef CONFIG_SPL or #ifdef CONFIG_TPL.
Does that seem like a bad restriction? The advantage is that we only need one defconfig for each board. It seems to me that things are going to get really painful if we have three different configs.
Of course, this doesn't preclude #ifdefs in the Makefiles or actual source code, but we already have SPL-specific feature options.
I'm not 100% clear on the constraints here.
Quoted 81 lines
All defined macros prefixed with
CONFIG_are extracted into- include/autoconf.mk (for main U-Boot) - include/spl-autoconf.mk (for SPL) - include/tpl-autoconf.mk (for TPL)for the use in makefiles.
In order to keep this scheme in
Kconfig, I had to modify some files. But I tried to minimize the modification.How does
Kconfigin U-Boot work?
--------------------------------For boards without SPL support, it works like Linux Kernel. That is, a list of CONFIGs is saved into ".config" file.
When we run "make", if necessary, "make silentoldconfig" is automatically invoked, which creates/updatesinclude/config/auto.confandinclude/generated/autoconf.h.For boards supporting SPL, a list of CONFIG macros defined for
SPL_BUILDis saved into "spl/.config".include/config/auto.confandinclude/generated/autoconf.hare generated under spl/ directory.CONFIG macros for TPL are also handled in the same way.
To sum up,
[1] Main U-boot
- .config (saved CONFIG list) - include/config/auto.conf (for use in makefiles) - include/generated/autoconf.h (for use in C sources) - include/config/* (for if_changed_dep)[2] SPL
- spl/.config (saved CONFIG list)
-spl/include/config/auto.conf(for use in makefiles)
-spl/include/generated/autoconf.h(for use in C sources)
- spl/include/config/* (forif_changed_dep)[3] TPL
- tpl/.config (saved CONFIG list)
-tpl/include/config/auto.conf(for use in makefiles)
-tpl/include/generated/autoconf.h(for use in C sources)
- tpl/include/config/* (forif_changed_dep)How to configure and build?
---------------------------Prior to this series, we did board configuration like this:
$ make vexpress_aemv8a_config Configuring for vexpress_aemv8a - Board: vexpress_aemv8a, Options: ARM64Going forward, we should configure like this:
$ make vexpress_aemv8a_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config #Please note we should use suffix "
_defconfig" instead of "_config".And then build the same as before.
$ make CROSS_COMPILE=<your_gcc_prefix>Or you can configure and build in one time:
$ make CROSS_COMPILE=<your_gcc_prefix> vexpress_aemv8a_defconfig allHow to change the setting?
--------------------------
Quoted 7 lines
We can modify configuration as we do in Linux Kernel.
Of cource "make config" works in U-Boot too.
But I think most of you prefer GUI interface of "make menuconfig". (In Linux Kernel, with thousands of CONFIGs, "make config" is already useless.)The difference from Linux Kernel is that the configuration is done on three levels at most.
One thought for the future - we should also think about dropping spl/tpl as special cases, and just have a general ability to build U-Boot multiple times with different options. So we could perhaps have 5 different builds with different prefixes (none,spl,tpl,qpl, etc.)
Another little point - I think there is a mkdir missing somwhere:
make O=b/snow snow_defconfig/bin/sh: line 0: cd: b/snow: No such file or directory Makefile:128: *** output directory "b/snow" does not exist. Stop.
(previously it would just create the directory with mkdir -p)
Quoted 17 lines
Just try
$ make menuconfigA menu with a blue background will be displayed for the configuration of the main U-boot image.
Please descend into "General setup" and notice SPL/TPL build setting.
[*] Build SPL image
[ ] Build TPL image
() Cross-compiler tool prefixAfter going around the menu, choose <Exit>.
Your configuration will be saved into ".config".
Quoted 8 lines
If you have enabled "Build SPL image", the second menu will come up. This is for the SPL configuration.
Please note the background color is black for identifiability. SPL configuration will be written into "spl/.config".If you have checked "Build TPL image" also, the third menu will be shown. This is for the configuration of TPL image,
although there are only a few boards supporting TPL.
While I agree this will get us going, and I suppose this approach in the interim, I wonder if we can simply it so there is one defconfig per board.
Quoted 19 lines
Coexistence of
Kconfigand board header
---------------------------------------For a long time, we have used C header files to define the set of CONFIGs. They are placed under
include/configs/directory.It would take really long term (one year? two year? I don't know) to move existing CONFIG macros to
Kconfig.So, two different infractructure must coexist in the interim.
The conventional
include/autoconf.mk,include/spl-autoconf.mk,include/tpl-autoconf.mkare merged intoinclude/config/auto.conf,spl/include/config/auto.conf,tpl/include/config/auto.conf, respectively.A mountain of work to do in front of us
---------------------------------------
Quoted 8 lines
This series is the beginning of our long long journey too. We have thousands of CONFIG macros.
Moving them needs much efforts but I believe it is worthwile. But I cannot do that task alone.
Hey, board maintainers, I need your help!And, when you add a new CONFIG macro, please create an entry in
Kconfig. Please do not add it into a header file any more.
We should probably have a script in the build system which knows about all the existing CONFIG items, and produces an error if it spots a new one. That encourage force people to stop adding new CONFIGs.
Quoted 47 lines
Build Test
----------I built all boards excepts some already broken ones. I also checked MD5SUM of output binaries for all of them.
I believe this series should not break any boards. But if you notice something got broken, please let me know.
Besides, I confirmed out-of-tree build, parallel build (-j make option) work correctly.
How to apply this series
------------------------This series use the following as a prerequisite.
[1] sparc: consolidate CONFIG_{LEON, LEON2, LEON3}
http://patchwork.ozlabs.org/patch/330103/Please apply it first.
Or you can try my local branch:
git clonegit://github.com/masahir0y/u-boot-kbuild.git
cd u-boot-kbuild.git
git checkoutkconfig_v0Known Problems and Open Discussion
----------------------------------This is RFC version. Your comments are welcome. Let's discuss!
[1] How board maintainers information should be handled?
About half a year ago, commit
27af930e9amerged boards.cfg andMAINTAINERS.Since then, board maintainer information has been described in the rightest field of boards.cfg.
But
Kconfiguses defconfig files for board configuration. boards.cfg is no longer necessary.Where should board maintainer info be moved to?
Revive
MAINTAINERSfile?
Quoted 7 lines
Or create a new enrty in
Kconfig?I chose the latter in this version.
You will find something like this:
CONFIG_BOARD_MAINTAINER="TomRini <[email protected]>"
in configs/*_defconfig.
This seems OK to me, but I wonder if the maintainer is actually not really a CONFIG option, but rather a built-in feature of the board, something that cannot be changed. That would argue for putting it in its own file.
But this is fine with me.
Quoted 7 lines
I think
MAINTAINERSfile is another way good enough.Your comments are welcome.
[2] MAKEALL and buildman have not been not adjusted yet
Quoted 8 lines
As I mentioned above, boards.cfg is not necessary for
Kconfig. I want to delete it.But before that, we must rework MAKEALL and buildman to search defconfig files instead of boards.cfg.
I think maybe I can do that, but if Simon could give me a hand, it would be highly appreciated.
Happy to help, although I'd like to figure out the final for boards approach first.
Quoted 10 lines
[3] How ARCH should be given?
There is another difference from Linux Kernel.
If we cross compile Linux Kernel, we always give ARCH from the command line:
$ make ARCH=arm multi_v7_defconfig $ make ARCH=arm
Quoted 8 lines
On the other hand, we set ARCH in the board configuration in U-Boot. I am following the convention in this series.
I added architecture choice inKconfig.But, if we try to be a mirror of Linux Kernel, that's an alternative method.
Which do you think is better, ARCH from the command line or selecting it in
Kconfig?
Perhaps it should be a board feature (as I suggest for maintainer above) since it can't be changed. Actually it seems pretty weird that we have to specify the ARCH since if we get it wrong the board won't build.
But again, since Linux does it this way, I think we can live iwth it.
Quoted 8 lines
If requested, I think I can send both implementation for comparison.
[4] Should we keep different configurations for the same board?
If you see boards.cfg, some boards have multiple configurations with the difference only in options in the 8th field.
Quoted 6 lines
"m54455evb" has many configurations:
M54455EVB,M54455EVB_a66,M54455EVB_i66,M54455EVB_intel, ...This series is keeping all of them.
But I am not sure if it is right to duplicate the almost same defconfig files for one board.
It seems OK to me.
Regard,
Simon
cover Version 0 of Kconfig for U-Boot
Hi Simon,
Quoted 15 lines
Quoted 10 lines
For example, we can describe a board header file like this:
#if defined(CONFIG_TPL_BUILD) # define CONFIG_FOO 100 #elif defined(CONFIG_SPL_BUILD) # define CONFIG_FOO 50 #else # define CONFIG_FOO 10 # define CONFIG_BAR #endifI wonder if we should drop this, and require that all have the same options? That would involve requiring that board config files are not permitted to use #ifdef
CONFIG_SPLor #ifdefCONFIG_TPL.
Quoted 8 lines
Does that seem like a bad restriction? The advantage is that we only need one defconfig for each board. It seems to me that things are going to get really painful if we have three different configs.
Of course, this doesn't preclude #ifdefs in the Makefiles or actual source code, but we already have SPL-specific feature options.
I'm not 100% clear on the constraints here.
It is true that 3 defconfigs per board are painful, but those constraints should not be required. Opposite.
You are suggesting a better idea below.
We should not treat SPL as a special case.
In my opinion, CONFIG_SPL_* should be discontinued.
For example, we can merge CONFIG_SPL_TEXT_BASE
to CONFIG_SYS_TEXT_BASE.
I mean,
#ifdef CONFIG_SPL_BUILD
# define CONFIG_SYS_TEXT_BASE 0x00000000
#else
# define CONFIG_SYS_TEXT_BASE 0x10000000
#endif
rather than
#define CONFIG_SPL_TEXT_BASE 0x00000000
#define CONFIG_SYS_TEXT_BASE 0x10000000
Above will be transformed in Kconfig style.
CONFIG_SYS_TEXT_BASE=0x00000000 (in foo_spl_defconfig) CONFIG_SYS_TEXT_BASE=0x10000000 (in foo_defconfig)
Quoted 8 lines
Quoted 8 lines
How to change the setting?
--------------------------We can modify configuration as we do in Linux Kernel.
Of cource "make config" works in U-Boot too.
But I think most of you prefer GUI interface of "make menuconfig". (In Linux Kernel, with thousands of CONFIGs, "make config" is already useless.)
Quoted 7 lines
Quoted 2 lines
The difference from Linux Kernel is that the configuration is done on three levels at most.
One thought for the future - we should also think about dropping spl/tpl as special cases, and just have a general ability to build U-Boot multiple times with different options. So we could perhaps have 5 different builds with different prefixes (none,spl,tpl,qpl, etc.)
I like your idea very much!!!
I believe this is the right way.
Many makefiles are very dirty because of
ifdef CONFIG_SPL_BUILD ... else ... endif.
We should stop doing like this.
SPL is just one of general images. I absolutely agree. But I think we need more efforts to go there.
I want Kconfig on the main line soon
(hopefully, in the MW in next month)
and leave your idea to the next stage.
2014.04 : Kconfig along this series
2014.07 : Treat SPL and TPL as generic cases
How about this time line?
Quoted 8 lines
Another little point - I think there is a mkdir missing somwhere:
make O=b/snow
snow_defconfig/bin/sh: line 0: cd: b/snow: No such file or directory Makefile:128: *** output directory "b/snow" does not exist. Stop.(previously it would just create the directory with mkdir -p)
Sorry. This feature was lost when switching to Kconfig. I've posted a patch to re-add it.
Please check this:
http://patchwork.ozlabs.org/patch/332955/
Quoted 9 lines
Quoted 9 lines
A mountain of work to do in front of us
---------------------------------------This series is the beginning of our long long journey too. We have thousands of CONFIG macros.
Moving them needs much efforts but I believe it is worthwile. But I cannot do that task alone.
Hey, board maintainers, I need your help!
Quoted 6 lines
Quoted 2 lines
And, when you add a new CONFIG macro, please create an entry in
Kconfig. Please do not add it into a header file any more.We should probably have a script in the build system which knows about all the existing CONFIG items, and produces an error if it spots a new one. That encourage force people to stop adding new CONFIGs.
Possibly can it be included in scripts/checkpatch.pl ? I'm not sure..
Quoted 22 lines
Quoted 14 lines
[1] How board maintainers information should be handled?
About half a year ago, commit
27af930e9amerged boards.cfg andMAINTAINERS.Since then, board maintainer information has been described in the rightest field of boards.cfg.
But
Kconfiguses defconfig files for board configuration. boards.cfg is no longer necessary.Where should board maintainer info be moved to?
Revive
MAINTAINERSfile?Quoted 7 lines
Or create a new enrty in
Kconfig?I chose the latter in this version.
You will find something like this:
CONFIG_BOARD_MAINTAINER="TomRini <[email protected]>"
in configs/*_defconfig.
Quoted 6 lines
This seems OK to me, but I wonder if the maintainer is actually not really a CONFIG option, but rather a built-in feature of the board, something that cannot be changed. That would argue for putting it in its own file.
But this is fine with me.
This item has been discussed in another thread:
http://u-boot.10912.n7.nabble.com/RFC-PATCH-0-17-Version-0-of-Kconfig-for-U-Boot-td176113i20.html#a176247
I think Tom will post a patch to re-add MAINTAINERS file.
Quoted 3 lines
Happy to help, although I'd like to figure out the final for boards approach first.
Thanks for offering your help.
Agree, we should figure out our approach first.
Quoted 18 lines
Quoted 9 lines
[3] How ARCH should be given?
There is another difference from Linux Kernel.
If we cross compile Linux Kernel, we always give ARCH from the command line:
$ make ARCH=arm multi_v7_defconfig $ make ARCH=armQuoted 8 lines
On the other hand, we set ARCH in the board configuration in U-Boot. I am following the convention in this series.
I added architecture choice inKconfig.But, if we try to be a mirror of Linux Kernel, that's an alternative method.
Which do you think is better, ARCH from the command line or selecting it in
Kconfig?
Quoted 6 lines
Perhaps it should be a board feature (as I suggest for maintainer above) since it can't be changed. Actually it seems pretty weird that we have to specify the ARCH since if we get it wrong the board won't build.
But again, since Linux does it this way, I think we can live iwth it.
OK, let's stick to the way in this series.
Best Regards
Masahiro Yamada
cover Version 0 of Kconfig for U-Boot
Dear Masahiro,
Quoted 8 lines · In message <[email protected]> you wrote:
You are suggesting a better idea below.
We should not treat SPL as a special case.In my opinion, CONFIG_SPL_* should be discontinued.
For example, we can merge
CONFIG_SPL_TEXT_BASE
toCONFIG_SYS_TEXT_BASE.
Are you sure this is always possible?
Quoted 9 lines
#ifdef
CONFIG_SPL_BUILD
# defineCONFIG_SYS_TEXT_BASE0x00000000
#else
# defineCONFIG_SYS_TEXT_BASE0x10000000
#endifrather than
#defineCONFIG_SPL_TEXT_BASE0x00000000
#defineCONFIG_SYS_TEXT_BASE0x10000000
Are there really no cases where for example the SPL needs to know CONFIG_SYS_TEXT_BASE, for example when loading U-Boot to RAM? I think that the "normal" U-Boot does not need to know about the SPL, but is this also always true the other way round?
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Our business is run on trust. We trust you will pay in advance.
cover Version 0 of Kconfig for U-Boot
Hi Wolfgang,
Quoted 20 lines · On Mon, 24 Mar 2014 08:30:56 +0100 Wolfgang Denk <[email protected]> wrote:
Dear Masahiro,
Quoted 8 lines · In message <[email protected]> you wrote:
You are suggesting a better idea below.
We should not treat SPL as a special case.In my opinion, CONFIG_SPL_* should be discontinued.
For example, we can merge
CONFIG_SPL_TEXT_BASE
toCONFIG_SYS_TEXT_BASE.Are you sure this is always possible?
Quoted 6 lines
#ifdef
CONFIG_SPL_BUILD
# defineCONFIG_SYS_TEXT_BASE0x00000000
#else
# defineCONFIG_SYS_TEXT_BASE0x10000000
#endif
Quoted 8 lines
Quoted 3 lines
rather than
#defineCONFIG_SPL_TEXT_BASE0x00000000
#defineCONFIG_SYS_TEXT_BASE0x10000000Are there really no cases where for example the SPL needs to know
CONFIG_SYS_TEXT_BASE, for example when loading U-Boot to RAM? I think that the "normal" U-Boot does not need to know about the SPL, but is this also always true the other way round?
SPL should refer to "load addr" in the uImage header when loading U-Boot to RAM.
So __if the code is written correctly__, CONFIG_SYS_TEXT_BASE should not be refered from another image.
But I am not sure. There may be some exception.
By the way, the rule of CONFIG_SYS_ is broken here too. We're using CONFIG_SPL_TEXT_BASE instead of CONFIG_SYS_SPL_TEXT_BASE inconsistently.
I'm afraid inconsistent rules sometimes make the situation worse than nothing.
Best Regards
Masahiro Yamada