Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9799
-gerrit
commit 1395f49bfea0ce04dd861222442e1601cf856d80 Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Mon Apr 27 14:03:57 2015 -0700
kbuild: automatically include SOCs
This change switches all SOC vendors and southbridges to be autoincluded by Makefile.inc, rather than having to be mentioned explicitly in soc/Makefile.inc or in soc/<vendor>/Makefile.inc.
This means, vendor and SOC directories are now "drop in", e.g. be placed in the coreboot directory hierarchy without having to modify any higher level coreboot files.
The long term plan is to enable out of tree components to be built with a given coreboot version (given that the API did not change).
Change-Id: Iede26fe184b09c53cec23a545d04953701cbc41d Signed-off-by: Stefan Reinauer stefan.reinauer@coreboot.org --- Makefile.inc | 2 +- src/soc/Makefile.inc | 12 ------------ src/soc/broadcom/Makefile.inc | 20 -------------------- src/soc/broadcom/cygnus/Makefile.inc | 4 ++++ src/soc/imgtec/Makefile.inc | 1 - src/soc/imgtec/pistachio/Makefile.inc | 3 +++ src/soc/intel/Makefile.inc | 3 --- src/soc/intel/baytrail/Makefile.inc | 5 ++++- src/soc/intel/broadwell/Makefile.inc | 5 ++++- src/soc/intel/common/Makefile.inc | 4 ++++ src/soc/intel/fsp_baytrail/Makefile.inc | 5 +++++ src/soc/marvell/Kconfig | 20 -------------------- src/soc/marvell/Makefile.inc | 20 -------------------- src/soc/marvell/bg4cd/Makefile.inc | 4 ++++ src/soc/nvidia/Makefile.inc | 2 -- src/soc/nvidia/tegra124/Makefile.inc | 4 ++++ src/soc/nvidia/tegra132/Makefile.inc | 4 ++++ src/soc/qualcomm/Makefile.inc | 1 - src/soc/qualcomm/ipq806x/Makefile.inc | 4 ++++ src/soc/rockchip/Makefile.inc | 20 -------------------- src/soc/rockchip/rk3288/Makefile.inc | 4 ++++ src/soc/samsung/Makefile.inc | 2 -- src/soc/samsung/exynos5250/Makefile.inc | 4 ++++ src/soc/samsung/exynos5420/Makefile.inc | 4 ++++ src/soc/ucb/Makefile.inc | 1 - src/soc/ucb/riscv/Makefile.inc | 5 ++++- 26 files changed, 57 insertions(+), 106 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc index 460393b..f4ee3d6 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -54,7 +54,7 @@ PHONY+= clean-abuild coreboot lint lint-stable build-dirs # root source directories of coreboot subdirs-y := src/lib src/console src/device subdirs-y += src/ec/acpi $(wildcard src/ec/*/*) $(wildcard src/southbridge/*/*) -subdirs-y += src/soc +subdirs-y += $(wildcard src/soc/*/*) subdirs-y += src/northbridge src/superio src/drivers src/cpu src/vendorcode subdirs-y += util/cbfstool util/sconfig util/nvramtool util/broadcom subdirs-y += $(wildcard src/arch/*) diff --git a/src/soc/Makefile.inc b/src/soc/Makefile.inc deleted file mode 100644 index bbcfd2c..0000000 --- a/src/soc/Makefile.inc +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -## Subdirectories -################################################################################ -subdirs-y += broadcom -subdirs-y += imgtec -subdirs-y += intel -subdirs-y += marvell -subdirs-y += nvidia -subdirs-y += qualcomm -subdirs-y += rockchip -subdirs-y += samsung -subdirs-y += ucb diff --git a/src/soc/broadcom/Makefile.inc b/src/soc/broadcom/Makefile.inc deleted file mode 100644 index 165f923..0000000 --- a/src/soc/broadcom/Makefile.inc +++ /dev/null @@ -1,20 +0,0 @@ -## -## This file is part of the coreboot project. -## -## Copyright 2015 Google Inc. -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; version 2 of the License. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -## - -subdirs-$(CONFIG_SOC_BROADCOM_CYGNUS) += cygnus diff --git a/src/soc/broadcom/cygnus/Makefile.inc b/src/soc/broadcom/cygnus/Makefile.inc index 4e09bed..cfec7d4 100644 --- a/src/soc/broadcom/cygnus/Makefile.inc +++ b/src/soc/broadcom/cygnus/Makefile.inc @@ -17,6 +17,8 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ##
+ifeq ($(CONFIG_SOC_BROADCOM_CYGNUS),y) + bootblock-y += bootblock.c bootblock-y += cbmem.c bootblock-y += i2c.c @@ -102,3 +104,5 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.tmp \ $(objutil)/broadcom/secimage/secimage -out $@ \ -config util/broadcom/unauth.cfg \ -hmac util/broadcom/khmacsha256 -bl $< + +endif diff --git a/src/soc/imgtec/Makefile.inc b/src/soc/imgtec/Makefile.inc deleted file mode 100644 index 60a9909..0000000 --- a/src/soc/imgtec/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -subdirs-$(CONFIG_CPU_IMGTEC_PISTACHIO) += pistachio diff --git a/src/soc/imgtec/pistachio/Makefile.inc b/src/soc/imgtec/pistachio/Makefile.inc index 0a3d456..010ddb6 100644 --- a/src/soc/imgtec/pistachio/Makefile.inc +++ b/src/soc/imgtec/pistachio/Makefile.inc @@ -19,6 +19,8 @@ # MA 02110-1301 USA #
+ifeq ($(CONFIG_CPU_IMGTEC_PISTACHIO),y) + # We enable CBFS_SPI_WRAPPER for Pistachio targets. bootblock-y += clocks.c bootblock-y += spi.c @@ -55,3 +57,4 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw $(BIMGTOOL) @printf " BIMGTOOL $(subst $(obj)/,,$(@))\n" $(BIMGTOOL) $< $@ $(call loadaddr,bootblock)
+endif diff --git a/src/soc/intel/Makefile.inc b/src/soc/intel/Makefile.inc deleted file mode 100644 index f86d6ca..0000000 --- a/src/soc/intel/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -subdirs-$(CONFIG_SOC_INTEL_BAYTRAIL) += baytrail -subdirs-$(CONFIG_SOC_INTEL_BROADWELL) += broadwell -subdirs-$(CONFIG_SOC_INTEL_FSP_BAYTRAIL) += fsp_baytrail diff --git a/src/soc/intel/baytrail/Makefile.inc b/src/soc/intel/baytrail/Makefile.inc index 6d28c78..78e2da6 100644 --- a/src/soc/intel/baytrail/Makefile.inc +++ b/src/soc/intel/baytrail/Makefile.inc @@ -1,7 +1,8 @@ +ifeq ($(CONFIG_SOC_INTEL_BAYTRAIL),y) + subdirs-y += bootblock subdirs-y += microcode subdirs-y += romstage -subdirs-y += ../common subdirs-y += ../../../cpu/x86/lapic subdirs-y += ../../../cpu/x86/mtrr subdirs-y += ../../../cpu/x86/smm @@ -102,3 +103,5 @@ mrc.bin-position := $(if $(findstring elf,$(CONFIG_MRC_FILE)),$(shell printf "0x mrc.bin-type := mrc
PHONY += baytrail_add_me + +endif diff --git a/src/soc/intel/broadwell/Makefile.inc b/src/soc/intel/broadwell/Makefile.inc index ec6b9ae..8b4a0c1 100644 --- a/src/soc/intel/broadwell/Makefile.inc +++ b/src/soc/intel/broadwell/Makefile.inc @@ -1,7 +1,8 @@ +ifeq ($(CONFIG_SOC_INTEL_BROADWELL),y) + subdirs-y += bootblock subdirs-y += microcode subdirs-y += romstage -subdirs-y += ../common subdirs-y += ../../../cpu/x86/lapic subdirs-y += ../../../cpu/x86/mtrr subdirs-y += ../../../cpu/x86/smm @@ -128,3 +129,5 @@ cbfs-files-$(CONFIG_HAVE_MRC) += mrc.bin mrc.bin-file := $(call strip_quotes,$(CONFIG_MRC_FILE)) mrc.bin-position := $(if $(findstring elf,$(CONFIG_MRC_FILE)),$(shell printf "0x%x" $$(( $(mrcelfentry) - $(mrcelfoffset) )) ),$(CONFIG_MRC_BIN_ADDRESS)) mrc.bin-type := mrc + +endif diff --git a/src/soc/intel/common/Makefile.inc b/src/soc/intel/common/Makefile.inc index d340308..46786e2 100644 --- a/src/soc/intel/common/Makefile.inc +++ b/src/soc/intel/common/Makefile.inc @@ -1,6 +1,10 @@ +ifeq ($(CONFIG_SOC_INTEL_BAYTRAIL)$(CONFIG_SOC_INTEL_BROADWELL),y) + ramstage-y += hda_verb.c ramstage-$(CONFIG_CACHE_MRC_SETTINGS) += nvm.c ramstage-$(CONFIG_CACHE_MRC_SETTINGS) += mrc_cache.c romstage-$(CONFIG_CACHE_MRC_SETTINGS) += mrc_cache.c ramstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c romstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c + +endif diff --git a/src/soc/intel/fsp_baytrail/Makefile.inc b/src/soc/intel/fsp_baytrail/Makefile.inc index 2dfb9cb..af4871c 100644 --- a/src/soc/intel/fsp_baytrail/Makefile.inc +++ b/src/soc/intel/fsp_baytrail/Makefile.inc @@ -17,6 +17,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # + +ifeq ($(CONFIG_SOC_INTEL_FSP_BAYTRAIL),y) + subdirs-y += microcode subdirs-y += romstage subdirs-y += ../../../cpu/x86/lapic @@ -87,3 +90,5 @@ endif
endif endif + +endif diff --git a/src/soc/marvell/Kconfig b/src/soc/marvell/Kconfig deleted file mode 100644 index 95b8c50..0000000 --- a/src/soc/marvell/Kconfig +++ /dev/null @@ -1,20 +0,0 @@ -## -## This file is part of the coreboot project. -## -## Copyright 2014 Google Inc. -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; version 2 of the License. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -## - -source src/soc/marvell/bg4cd/Kconfig diff --git a/src/soc/marvell/Makefile.inc b/src/soc/marvell/Makefile.inc deleted file mode 100644 index ef7bcd9..0000000 --- a/src/soc/marvell/Makefile.inc +++ /dev/null @@ -1,20 +0,0 @@ -## -## This file is part of the coreboot project. -## -## Copyright 2014 Google Inc. -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; version 2 of the License. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -## - -subdirs-$(CONFIG_SOC_MARVELL_BG4CD) += bg4cd diff --git a/src/soc/marvell/bg4cd/Makefile.inc b/src/soc/marvell/bg4cd/Makefile.inc index 4cbca00..4fee80d 100644 --- a/src/soc/marvell/bg4cd/Makefile.inc +++ b/src/soc/marvell/bg4cd/Makefile.inc @@ -17,6 +17,8 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ##
+ifeq ($(CONFIG_SOC_MARVELL_BG4CD),y) + bootblock-y += cbmem.c bootblock-y += i2c.c bootblock-y += monotonic_timer.c @@ -47,3 +49,5 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin @printf "Generating: $(subst $(obj)/,,$(@))\n" @mkdir -p $(dir $@) @mv $< $@ + +endif diff --git a/src/soc/nvidia/Makefile.inc b/src/soc/nvidia/Makefile.inc deleted file mode 100644 index 100cb94..0000000 --- a/src/soc/nvidia/Makefile.inc +++ /dev/null @@ -1,2 +0,0 @@ -subdirs-$(CONFIG_SOC_NVIDIA_TEGRA124) += tegra124 -subdirs-$(CONFIG_SOC_NVIDIA_TEGRA132) += tegra132 diff --git a/src/soc/nvidia/tegra124/Makefile.inc b/src/soc/nvidia/tegra124/Makefile.inc index 49669eb..78054f4 100644 --- a/src/soc/nvidia/tegra124/Makefile.inc +++ b/src/soc/nvidia/tegra124/Makefile.inc @@ -1,3 +1,5 @@ +ifeq ($(CONFIG_SOC_NVIDIA_TEGRA124),y) + bootblock-y += bootblock.c bootblock-y += bootblock_asm.S bootblock-y += cbfs.c @@ -102,3 +104,5 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin $(BCT_BIN) $(CBOOTIMAGE) echo "BootLoader = $<,$(call loadaddr,bootblock),$(call loadaddr,bootblock),Complete;" >> $(BCT_WRAPPER) @printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n" $(CBOOTIMAGE) $(BCT_WRAPPER) $@ + +endif diff --git a/src/soc/nvidia/tegra132/Makefile.inc b/src/soc/nvidia/tegra132/Makefile.inc index bfa7088..44976d1 100644 --- a/src/soc/nvidia/tegra132/Makefile.inc +++ b/src/soc/nvidia/tegra132/Makefile.inc @@ -1,3 +1,5 @@ +ifeq ($(CONFIG_SOC_NVIDIA_TEGRA132),y) + bootblock-y += bootblock.c bootblock-y += bootblock_asm.S bootblock-y += cbfs.c @@ -150,3 +152,5 @@ MTS_FILE_CBFS = mts cbfs-files-y += $(MTS_FILE_CBFS) $(MTS_FILE_CBFS)-file := $(MTS_FILE) $(MTS_FILE_CBFS)-type := raw + +endif diff --git a/src/soc/qualcomm/Makefile.inc b/src/soc/qualcomm/Makefile.inc deleted file mode 100644 index 06b2f2f..0000000 --- a/src/soc/qualcomm/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -subdirs-$(CONFIG_SOC_QC_IPQ806X) += ipq806x diff --git a/src/soc/qualcomm/ipq806x/Makefile.inc b/src/soc/qualcomm/ipq806x/Makefile.inc index 6aa10f8..3eb070e 100644 --- a/src/soc/qualcomm/ipq806x/Makefile.inc +++ b/src/soc/qualcomm/ipq806x/Makefile.inc @@ -17,6 +17,8 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ##
+ifeq ($(CONFIG_SOC_QC_IPQ806X),y) + bootblock-y += clock.c bootblock-y += gpio.c bootblock-$(CONFIG_SPI_FLASH) += spi.c @@ -88,3 +90,5 @@ mbn-root := 3rdparty/cpu/qualcomm/ipq806x $(foreach f,$(mbn-files),$(eval cbfs-files-y += $(f))\ $(eval $(f)-file := $(mbn-root)/$(f))\ $(eval $(f)-type := raw)) + +endif diff --git a/src/soc/rockchip/Makefile.inc b/src/soc/rockchip/Makefile.inc deleted file mode 100644 index aa67f5c..0000000 --- a/src/soc/rockchip/Makefile.inc +++ /dev/null @@ -1,20 +0,0 @@ -## -## This file is part of the coreboot project. -## -## Copyright 2014 Rockchip Inc. -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; version 2 of the License. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -## - -subdirs-$(CONFIG_SOC_ROCKCHIP_RK3288) += rk3288 diff --git a/src/soc/rockchip/rk3288/Makefile.inc b/src/soc/rockchip/rk3288/Makefile.inc index 441a97f..be41327 100644 --- a/src/soc/rockchip/rk3288/Makefile.inc +++ b/src/soc/rockchip/rk3288/Makefile.inc @@ -17,6 +17,8 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ##
+ifeq ($(CONFIG_SOC_ROCKCHIP_RK3288),y) + IDBTOOL = util/rockchip/make_idb.py
#bootblock-y += bootblock.c @@ -79,3 +81,5 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin @printf "Generating: $(subst $(obj)/,,$(@))\n" @mkdir -p $(dir $@) @$(IDBTOOL) --from=$< --to=$@ --enable-align + +endif diff --git a/src/soc/samsung/Makefile.inc b/src/soc/samsung/Makefile.inc deleted file mode 100644 index 496b5f7..0000000 --- a/src/soc/samsung/Makefile.inc +++ /dev/null @@ -1,2 +0,0 @@ -subdirs-$(CONFIG_CPU_SAMSUNG_EXYNOS5250) += exynos5250 -subdirs-$(CONFIG_CPU_SAMSUNG_EXYNOS5420) += exynos5420 diff --git a/src/soc/samsung/exynos5250/Makefile.inc b/src/soc/samsung/exynos5250/Makefile.inc index 6525637..1cde349 100644 --- a/src/soc/samsung/exynos5250/Makefile.inc +++ b/src/soc/samsung/exynos5250/Makefile.inc @@ -1,3 +1,5 @@ +ifeq ($(CONFIG_CPU_SAMSUNG_EXYNOS5250),y) + bootblock-y += spi.c alternate_cbfs.c bootblock-y += bootblock.c bootblock-y += pinmux.c timer.c power.c @@ -51,3 +53,5 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin @printf " BL1, CKSUM $(subst $(obj)/,,$(@))\n" util/exynos/fixed_cksum.py $< $<.cksum 32768 cat 3rdparty/cpu/samsung/exynos5250/bl1.bin $<.cksum > $@ + +endif diff --git a/src/soc/samsung/exynos5420/Makefile.inc b/src/soc/samsung/exynos5420/Makefile.inc index 7eb407e..e42fc9a 100644 --- a/src/soc/samsung/exynos5420/Makefile.inc +++ b/src/soc/samsung/exynos5420/Makefile.inc @@ -1,3 +1,5 @@ +ifeq ($(CONFIG_CPU_SAMSUNG_EXYNOS5420),y) + bootblock-y += spi.c alternate_cbfs.c bootblock-y += bootblock.c bootblock-y += pinmux.c timer.c power.c @@ -53,3 +55,5 @@ $(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin @printf " BL1, CKSUM $(subst $(obj)/,,$(@))\n" util/exynos/variable_cksum.py $< $<.cksum cat 3rdparty/cpu/samsung/exynos5420/bl1.bin $<.cksum > $@ + +endif diff --git a/src/soc/ucb/Makefile.inc b/src/soc/ucb/Makefile.inc deleted file mode 100644 index fe40742..0000000 --- a/src/soc/ucb/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -subdirs-$(CONFIG_SOC_UCB_RISCV) += riscv diff --git a/src/soc/ucb/riscv/Makefile.inc b/src/soc/ucb/riscv/Makefile.inc index c25a2fc..1072a2b 100644 --- a/src/soc/ucb/riscv/Makefile.inc +++ b/src/soc/ucb/riscv/Makefile.inc @@ -1,3 +1,6 @@ -romstage-y += cbmem.c +ifeq ($(CONFIG_SOC_UCB_RISCV),y)
+romstage-y += cbmem.c ramstage-y += cbmem.c + +endif