Skip to contentSkip to conversation

Version 0 of Kconfig for U-Boot

RFC PATCH New Masahiro Yamada 6 participants 45 messages Mar 17, 2014 – Mar 31, 2014 Page 2 of 2

Subsystems (22)
lore
Share & tools
lore
#12 lore raw

RFC PATCH 4/17 kconfig: add defconfig files for all boards

In reply to Daniel Schwierzeck

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 MAINTAINERS in 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
#13 lore raw

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 MAINTAINERS in 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>
#14 lore raw

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 MAINTAINERS in 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

#15 lore raw

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 MAINTAINERS in 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>
#16 lore raw

RFC PATCH 4/17 kconfig: add defconfig files for all boards

In reply to Daniel Schwierzeck

Hi Daniel,

Quoted 31 lines

agree. But at first we should introduce Kconfig files in all arch, CPU, SOC, SOC common, board vendor, board and driver directories where we put all CONFIG_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=y
CONFIG_SYS_SOC="tegra30"
CONFIG_SYS_BOARD="beaver"
CONFIG_VENDOR_DIR=y
CONFIG_SYS_VENDOR="nvidia"
CONFIG_SYS_CONFIG_NAME="beaver"

should be converted to something like this:

CONFIG_CPU_ARMV7=y
CONFIG_SOC_TEGRA30=y
CONFIG_VENDOR_NVIDIA=y
CONFIG_BOARD_BEAVER=y

Then we can use the Kconfig symbol dependencies to create a minimal working board config. For example:

board/nvidia/beaver/Kconfig:
config BOARD_BEAVER
bool "board description"
select VENDOR_NVIDIA
select SOC_TEGRA30
select SPL
...

Quoted 8 lines

arch/arm/cpu/armv7/tegra30/Kconfig:
config SOC_TEGRA30

    bool
    select ARMV7
    ...

The beaver_defconfig file 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

#17 lore raw

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"
default BOARD_SANDBOX

config BOARD_VEXPRESS_AEMV8A
bool "vexpress_aemv8a board"

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_TEGRA30 would be the same as
existing CONFIG_TEGRA30.

We will have to merge macros with the same meaning.

in the first step we could do something like this:

config TEGRA30
bool

config SOC_TEGRA30
bool
select TEGRA30

Quoted 4 lines

[3]
How to select board directoy by using boolean macros.

Quoted 8 lines

If we try to emulate arch/arm/Makefile of Linux,

board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) := vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4

Like this?

how about this:

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

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

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

Signature · 1 line
- Daniel
#18 lore raw

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"
default BOARD_SANDBOX

config BOARD_VEXPRESS_AEMV8A
bool "vexpress_aemv8a board"

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_TEGRA30 would be the same as
existing CONFIG_TEGRA30.

We will have to merge macros with the same meaning.

in the first step we could do something like this:

config TEGRA30
bool

config SOC_TEGRA30
bool
select TEGRA30

Quoted 4 lines

[3]
How to select board directoy by using boolean macros.

Quoted 8 lines

If we try to emulate arch/arm/Makefile of Linux,

board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) := vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4

Like this?

how about this:

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

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

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>
#19 lore raw

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/Makefile of Linux,

board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) := vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4

Like this?

how about this:

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

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

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
#20 lore raw

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/Makefile of Linux,

board-$(CONFIG_BOARD_VEXPRESS_AEMV8A) := vexpress_aemv8a
board-$(CONFIG_BOARD_AXS101) := axs101
board-$(CONFIG_BOARD_ARCANGEL4) := arcangel4

Like this?

how about this:

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

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

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.git kconfig-support

If 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_norboot
am335x_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

#21 lore raw

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_t335 am335x_boneblack am335x_evm am335x_evm_nor am335x_evm_norboot
am335x_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

Quoted 8 lines

- 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 )

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
#22 lore raw

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_t335 am335x_boneblack am335x_evm am335x_evm_nor am335x_evm_norboot
am335x_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

Quoted 8 lines

- 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 )

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() 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.

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

#23 lore raw

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() 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.

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

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
#24 lore raw

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() 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.

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

Quoted 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.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

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

#25 lore raw

RFC PATCH 4/17 kconfig: add defconfig files for all boards

In reply to Masahiro Yamada
Quoted 16 lines · Masahiro Yamada
Quoted 16 lines
Quoted 16 lines
Quoted 16 lines
Quoted 16 lines
configs/beaver_defconfig new file +10 -0
new file mode 100644
index 0000000..fbf00f3
@@ -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 select SYS_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.

#26 lore raw

RFC PATCH 4/17 kconfig: add defconfig files for all boards

In reply to Masahiro Yamada
Quoted 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.

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>
#27 lore raw

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 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?

Yes, exactly.

Best Regards
Masahiro Yamada

#28 lore raw

RFC PATCH 5/17 include: define CONFIG_SPL and CONFIG_TPL as 1

In reply to Masahiro Yamada

We 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
index 57a39a4..2b4b0b8 100644
@@ -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
index a163e3d..4827694 100644
@@ -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
index 052a0f1..60bb628 100644
@@ -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
index 92913c8..825b711 100644
@@ -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
index 69b2cb1..7f5aa59 100644
@@ -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
index eabfc85..49b1cec 100644
@@ -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
index 139d4fe..e067f22 100644
@@ -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
index 1e65cd1..b05923f 100644
@@ -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
index c17327f..5023f9d 100644
@@ -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
index 4407b45..842c30e 100644
@@ -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
index 0102ff5..e4eee38 100644
@@ -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
index b10c48c..a97f213 100644
@@ -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
index 515facf..d7c4ffc 100644
@@ -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
index 7bbe596..af4a2d4 100644
@@ -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
index 8182a75..d6e6c19 100644
@@ -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
index cfc4f9b..166472d 100644
@@ -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
index 509fe20..5ddb0f7 100644
@@ -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
index 16a00eb..4a4f759 100644
@@ -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
index 414db42..338633a 100644
@@ -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
index 73e1624..8144883 100644
@@ -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
index fdd5680..6ad8822 100644
@@ -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
index 07ddfc4..22cbdaa 100644
@@ -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
index 16546c2..5d84b3f 100644
@@ -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
index 47244c0..9823c04 100644
@@ -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
index 486787e..8cbb0ff 100644
@@ -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
index f223788..85d438f 100644
@@ -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
index 55ecef9..b44f38e 100644
@@ -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
index 0b57421..9bb7d1e 100644
@@ -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
index 7f3424b..84ba3de 100644
@@ -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
index 007e27f..8786213 100644
@@ -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
index f46b833..dc952c9 100644
@@ -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
index 07b6179..e3b6b0f 100644
@@ -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
index 3662663..31e89d9 100644
@@ -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
index 9af3efd..207a290 100644
@@ -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
index 516be85..4b6c2ed 100644
@@ -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
index 98b6e72..9342b51 100644
@@ -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
index 1388f49..30bad20 100644
@@ -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
index 608578a..50fd45c 100644
@@ -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
index 3522c1a..88dac44 100644
@@ -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
index 9c04c23..f601cca 100644
@@ -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
index ae786cf..b71db60 100644
@@ -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
index b51400c..bd25ec8 100644
@@ -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
index b8c0d54..ea0c4fd 100644
@@ -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
index 69d69a5..1f5522a 100644
@@ -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
index 62f97d2..0b08f09 100644
@@ -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
index 5ac6e64..d362087 100644
@@ -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
index c6d4763..e53d3c4 100644
@@ -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
index 10e1d17..0450c16 100644
@@ -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
index 7405419..32ad621 100644
@@ -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
index 731e69b..27601ec 100644
@@ -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
#29 lore raw

RFC PATCH 6/17 m68k: define processor family CONFIGs as 1

In reply to Masahiro Yamada

We 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
index 6630377..0b22106 100644
@@ -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
index cde7305..2b58045 100644
@@ -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
index 0f6e2f7..f2e5154 100644
@@ -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
index ae4fe45..58cf6be 100644
@@ -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
index 3a1cbca..767065e 100644
@@ -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
index fabfdb9..0db23b4 100644
@@ -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
index 4c84126..1c2981d 100644
@@ -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
index 4dddab7..596c38f 100644
@@ -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
index fd970d0..f27d1e7 100644
@@ -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
index a100d9f..7baae44 100644
@@ -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
index 78ea384..d09c132 100644
@@ -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
index 849c265..d1c5c5a 100644
@@ -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
index 3d7dc1f..d3155e4 100644
@@ -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
index 0f4b726..a52a827 100644
@@ -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
index 7a55d3c..880684c 100644
@@ -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
index e88a6bd..4443ff0 100644
@@ -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
index e412806..35065a0 100644
@@ -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
index 5ad9383..e2353f8 100644
@@ -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
index d875753..5803cbc 100644
@@ -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
index 4644369..3cfb54f 100644
@@ -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
index bdca705..a986af2 100644
@@ -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
#30 lore raw

RFC PATCH 7/17 kconfig: switch over to Kconfig

In reply to Masahiro Yamada

This 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
index 614003c..7c63c35 100644
@@ -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
index 34ad99e..f66000b 100644
@@ -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
index af94354..2efb60f 100644
@@ -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
index 5fd0d4d..13f8a9f 100644
@@ -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
index 102f069..a7253b2 100644
@@ -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
index 05864aa..f67da66 100644
@@ -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
index bf142fc..8e41a95 100644
@@ -2,4 +2,3 @@
 /bmp_logo.h
 /bmp_logo_data.h
 /config.h
-/config.mk
scripts/Makefile.build +10 -20
index 36346fd..431b37a 100644
@@ -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
index 078fe1d..3cff12d 100644
@@ -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
index 844bc9d..72b5a20 100644
@@ -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
index 87f7238..457332e 100644
@@ -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
index 097cc1d..6cf24c0 100644
@@ -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
index fcb752d..e5544d2 100644
@@ -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
#31 lore raw

RFC PATCH 8/17 MAKEALL: adjust for Kconfig

In reply to Masahiro Yamada

Use "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
index 705a0bb..64fe215 100755
@@ -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
#32 lore raw

RFC PATCH 9/17 buildman: adjust for Kconfig

In reply to Masahiro Yamada

Use "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
index 5172a47..7bcc932 100644
@@ -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
index 4a2d753..6ccb5f6 100644
@@ -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
#33 lore raw

RFC PATCH 10/17 kconfig: delete redundant CONFIG_${ARCH} definition

In reply to Masahiro Yamada

CONFIG_${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
index a3b8df7..e408800 100644
@@ -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
index f4c2d81..f502958 100644
@@ -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
index 28a371c..469185e 100644
@@ -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
index fcaa44f..7b17b75 100644
@@ -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
index 33b3d51..3b3a7e8 100644
@@ -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
index 1899f51..44a8c6b 100644
@@ -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
index 1024852..5ac9f90 100644
@@ -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
index 65a5a40..82bd887 100644
@@ -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
index 9902b9a..cd95f24 100644
@@ -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
index fb7096e..6329b6c 100644
@@ -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
index 668aa71..e01e98d 100644
@@ -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
index be59f58..196d28a 100644
@@ -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
index c1568cac..bf97291 100644
@@ -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
index 8cbb0ff..ddd40dd 100644
@@ -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
#34 lore raw

RFC PATCH 11/17 sh: remove redundant CPU family definition

In reply to Masahiro Yamada

CONFIG_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
index 4904d76..38bbcbc 100644
@@ -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
index 24b5c47..dcafd19 100644
@@ -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
index 5773d4f..4fb2dc2 100644
@@ -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
#35 lore raw

RFC PATCH 12/17 sparc: remove redundant CPU family definition

In reply to Masahiro Yamada

CONFIG_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
index c44b093..f9b0d34 100644
@@ -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
index ca6c9b1..f9b0d34 100644
@@ -7,4 +7,4 @@
 
 PLATFORM_RELFLAGS += -fPIC
 
-PLATFORM_CPPFLAGS += -DCONFIG_LEON -DCONFIG_LEON3
+PLATFORM_CPPFLAGS += -DCONFIG_LEON
Signature · 1 line
1.8.3.2
#36 lore raw

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
index 2efb60f..92846c9 100644
@@ -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
index 13f8a9f..726fcd3 100644
@@ -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
index 0b22106..33fad48 100644
@@ -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
index 2b58045..30b6577 100644
@@ -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
index f2e5154..1fc4da6 100644
@@ -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
index 58cf6be..fec4752 100644
@@ -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
index 767065e..5bbd594 100644
@@ -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
index 0db23b4..c0342f6 100644
@@ -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
index 1c2981d..b039523 100644
@@ -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
index 596c38f..e1df79b 100644
@@ -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
index f27d1e7..4c9a4fe 100644
@@ -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
index 7baae44..29e6112 100644
@@ -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
index d09c132..6c69cc9 100644
@@ -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
index d1c5c5a..14eaa59 100644
@@ -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
index d3155e4..aa7e312 100644
@@ -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
index a52a827..ac240ca 100644
@@ -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
index 880684c..1d854ac 100644
@@ -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
index 4443ff0..1118f25 100644
@@ -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
index 35065a0..8c7f257 100644
@@ -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
index e2353f8..322220d 100644
@@ -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
index 5803cbc..3c6878f 100644
@@ -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
index 3cfb54f..a86c716 100644
@@ -31,7 +31,6 @@
  * ---
  */
 
-#define CONFIG_MCF52x2	1		/* define processor family */
 #define CONFIG_M5272			/* define processor type */
 
 /* ---
include/configs/eb_cpu5282.h +0 -1
index a986af2..9391712 100644
@@ -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
#37 lore raw

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
index 96812a0..4cd1a26 100644
@@ -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
index 03759e6..5bf1b2a 100644
@@ -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
index 31e2dc9..dd2ec37 100644
@@ -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
index 3384f6f..bcff214 100644
@@ -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
index a224bc8..ecfb07e 100644
@@ -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
index 59f152d..3bcb24b 100644
@@ -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
index dfce4d5..0c08350 100644
@@ -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
index 1470f95..72c964c 100644
@@ -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
index 4c7235f..69a0b96 100644
@@ -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
index ee2c883..485e43d 100644
@@ -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
index a7253b2..f87c9dc 100644
@@ -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
#38 lore raw

RFC PATCH 15/17 kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers

In reply to Masahiro Yamada

CONFIG_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
index 4827694..bbba55d 100644
@@ -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
index 60bb628..202d38a 100644
@@ -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
index 825b711..d72e6bc 100644
@@ -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
index 7f5aa59..dd81229 100644
@@ -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
index 49b1cec..f20775e 100644
@@ -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
index e067f22..79ae5a2 100644
@@ -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
index b05923f..291e1a9 100644
@@ -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
index 5023f9d..dcded0a 100644
@@ -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
index 842c30e..b08bf9f 100644
@@ -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
index e4eee38..f030bdd 100644
@@ -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
index a97f213..4424c30 100644
@@ -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
index d7c4ffc..dc0d8c9 100644
@@ -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
index af4a2d4..dc4fc74 100644
@@ -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
index d6e6c19..bd41696 100644
@@ -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
index 166472d..3ac2bbc 100644
@@ -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
index 5ddb0f7..d07a7d3 100644
@@ -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
index 4a4f759..e58da5a 100644
@@ -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
index 338633a..7446841 100644
@@ -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
index 8144883..8188c7b 100644
@@ -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
index 6ad8822..98e819b 100644
@@ -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
index 22cbdaa..58e7295 100644
@@ -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
index 5d84b3f..47a5942 100644
@@ -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
index 9823c04..da1bf32 100644
@@ -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
index ddd40dd..997ec11 100644
@@ -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
index 85d438f..f796a41 100644
@@ -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
index b44f38e..8d0b716 100644
@@ -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
index 9bb7d1e..6fb1abd 100644
@@ -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
index 84ba3de..4150298 100644
@@ -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
index 8786213..649c534 100644
@@ -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
index dc952c9..3972922 100644
@@ -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
index e3b6b0f..8a9852a 100644
@@ -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
index 31e89d9..6490be5 100644
@@ -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
index 207a290..dcf5537 100644
@@ -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
index 4b6c2ed..09df128 100644
@@ -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
index 9342b51..047cac7 100644
@@ -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
index 30bad20..fe272d5 100644
@@ -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
index 50fd45c..95218f1 100644
@@ -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
index 88dac44..aab7228 100644
@@ -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
index f601cca..a58db41 100644
@@ -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
index b71db60..2dce9e4 100644
@@ -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
index bd25ec8..a55bde2 100644
@@ -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
index ea0c4fd..e86c364 100644
@@ -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
index 1f5522a..a46e91f 100644
@@ -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
index 0b08f09..ece2f4b 100644
@@ -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
index d362087..118f5ba 100644
@@ -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
index e53d3c4..2fb91a8 100644
@@ -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
index 0450c16..be68c1f 100644
@@ -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
index 32ad621..acd34e5 100644
@@ -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
index 27601ec..42cb9c7 100644
@@ -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
#39 lore raw

RFC PATCH 16/17 kconfig: remove old script

In reply to Masahiro Yamada

mkconfig is no longer used in Kconfig.

---

 mkconfig | 192 ---------------------------------------------------------------
 1 file changed, 192 deletions(-)
 delete mode 100755 mkconfig
mkconfig deleted +0 -192
deleted file mode 100755
index cd911a9..0000000
@@ -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
#40 lore raw

RFC PATCH 17/17 kconfig: add CONFIG_CROSS_COMPILE

In reply to Masahiro Yamada

Copy from Linux Kernel (with a few adjustments in comments).

---

 Kconfig  |  9 +++++++++
 Makefile | 20 ++++++++++++++------
 2 files changed, 23 insertions(+), 6 deletions(-)
Kconfig +9 -0
index 4e383d2..1bf488e 100644
@@ -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
index 8953922..440defd 100644
@@ -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
#41 lore raw

cover Version 0 of Kconfig for U-Boot

In reply to Masahiro Yamada

Hi Masahiro,

Quoted 6 lines · Masahiro Yamada

Several weeks have passed since Kbuild series 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, Kconfig is 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 Kconfig in 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/updates include/config/auto.conf and include/generated/autoconf.h.

For boards supporting SPL, a list of CONFIG macros defined for SPL_BUILD is saved into "spl/.config". include/config/auto.conf and include/generated/autoconf.h are 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/* (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)

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: ARM64

Going 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 all

How 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 menuconfig

A 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 prefix

After 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 Kconfig and 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.mk are merged into include/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 clone git://github.com/masahir0y/u-boot-kbuild.git
cd u-boot-kbuild.git
git checkout kconfig_v0

Known 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 27af930e9a merged boards.cfg and MAINTAINERS.

Since then, board maintainer information has been described in the rightest field of boards.cfg.

But Kconfig uses defconfig files for board configuration. boards.cfg is no longer necessary.

Where should board maintainer info be moved to?

Revive MAINTAINERS file?

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="Tom Rini <[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 MAINTAINERS file 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 in Kconfig.

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

#42 lore raw

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
  #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.

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 27af930e9a merged boards.cfg and MAINTAINERS.

Since then, board maintainer information has been described in the rightest field of boards.cfg.

But Kconfig uses defconfig files for board configuration. boards.cfg is no longer necessary.

Where should board maintainer info be moved to?

Revive MAINTAINERS file?

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="Tom Rini <[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=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 in Kconfig.

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

#43 lore raw

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
to CONFIG_SYS_TEXT_BASE.

Are you sure this is always possible?

Quoted 9 lines

#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

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.
#44 lore raw

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
to CONFIG_SYS_TEXT_BASE.

Are you sure this is always possible?

Quoted 6 lines

#ifdef CONFIG_SPL_BUILD
# define CONFIG_SYS_TEXT_BASE 0x00000000
#else
# define CONFIG_SYS_TEXT_BASE 0x10000000
#endif

Quoted 8 lines
Quoted 3 lines

rather than
#define CONFIG_SPL_TEXT_BASE 0x00000000
#define CONFIG_SYS_TEXT_BASE 0x10000000

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?

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