From aae53ab76aa818bcf3a7df1e44a80289a2ac6018 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Mon, 27 Apr 2015 14:03:57 -0700 Subject: 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//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 Reviewed-on: http://review.coreboot.org/9799 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- 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/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 ++++- 24 files changed, 56 insertions(+), 85 deletions(-) delete mode 100644 src/soc/Makefile.inc delete mode 100644 src/soc/broadcom/Makefile.inc delete mode 100644 src/soc/imgtec/Makefile.inc delete mode 100644 src/soc/intel/Makefile.inc delete mode 100644 src/soc/marvell/Makefile.inc delete mode 100644 src/soc/nvidia/Makefile.inc delete mode 100644 src/soc/qualcomm/Makefile.inc delete mode 100644 src/soc/rockchip/Makefile.inc delete mode 100644 src/soc/samsung/Makefile.inc delete mode 100644 src/soc/ucb/Makefile.inc (limited to 'src') diff --git a/src/soc/Makefile.inc b/src/soc/Makefile.inc deleted file mode 100644 index bbcfd2c81b1f..000000000000 --- 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 165f92303245..000000000000 --- 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 4e09bed86fb4..cfec7d40ef74 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 60a99091a142..000000000000 --- 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 0a3d456de3f0..010ddb6835dc 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 f86d6cabcbb3..000000000000 --- 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 6d28c7868440..78e2da655614 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 ec6b9ae62a5d..8b4a0c1d2ffd 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 d34030899251..46786e2d1abe 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 2dfb9cba633d..af4871cc9172 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/Makefile.inc b/src/soc/marvell/Makefile.inc deleted file mode 100644 index ef7bcd9e2e81..000000000000 --- 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 4a58e6f8eb43..c433d37666bb 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-$(CONFIG_VBOOT_VERIFY_FIRMWARE) += bootblock_asm.S bootblock-$(CONFIG_VBOOT_VERIFY_FIRMWARE) += bootblock.c @@ -50,3 +52,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 100cb940a848..000000000000 --- 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 49669ebd838b..78054f451142 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 bfa70885d307..44976d17bd82 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 06b2f2f2c346..000000000000 --- 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 6aa10f8f7be7..3eb070e45216 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 aa67f5c1cfae..000000000000 --- 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 441a97fb8456..be4132732120 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 496b5f7be3c7..000000000000 --- 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 65256373827d..1cde3495020c 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 7eb407e9573b..e42fc9aebf34 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 fe4074248482..000000000000 --- 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 c25a2fccdb82..1072a2b32ec9 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 -- cgit v1.2.3