summaryrefslogtreecommitdiff
path: root/src/soc/cavium/common/Makefile.mk
diff options
context:
space:
mode:
authorMartin Roth <gaumless@gmail.com>2024-01-18 12:38:34 -0700
committerFelix Singer <service+coreboot-gerrit@felixsinger.de>2024-01-24 10:02:41 +0000
commitd0037efda9e9ce855279d21b891d29edbfb664fb (patch)
tree44357607200028db703837b21ed814525ae1b213 /src/soc/cavium/common/Makefile.mk
parentea198585628ea58a90d85957b7b87b8fd46b0176 (diff)
soc/*: Rename Makefiles from .inc to .mk
The .inc suffix is confusing to various tools as it's not specific to Makefiles. This means that editors don't recognize the files, and don't open them with highlighting and any other specific editor functionality. This issue is also seen in the release notes generation script where Makefiles get renamed before running cloc. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I6f502b97864fd7782e514ee2daa902d2081633a2 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80074 Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Diffstat (limited to 'src/soc/cavium/common/Makefile.mk')
-rw-r--r--src/soc/cavium/common/Makefile.mk50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/soc/cavium/common/Makefile.mk b/src/soc/cavium/common/Makefile.mk
new file mode 100644
index 0000000000..6fa2c31fb1
--- /dev/null
+++ b/src/soc/cavium/common/Makefile.mk
@@ -0,0 +1,50 @@
+## SPDX-License-Identifier: GPL-2.0-only
+
+ifeq ($(CONFIG_SOC_CAVIUM_COMMON),y)
+
+subdirs-y += pci
+
+# -Wstack-usage doesn't recognize hexadecimal numbers.
+ifeq ($(CONFIG_COMPILER_GCC),y)
+CFLAGS_arm64 += -Wstack-usage=$(shell printf "%d" $(CONFIG_STACK_SIZE))
+endif
+
+bootblock-$(CONFIG_BOOTBLOCK_CUSTOM) += bootblock.c
+
+################################################################################
+# romstage
+
+romstage-y += bdk-coreboot.c
+romstage-y += ecam.c
+
+################################################################################
+# ramstage
+
+ramstage-y += bdk-coreboot.c
+ramstage-y += ecam.c
+
+CPPFLAGS_common += -Isrc/soc/cavium/common/include
+
+ROM_HEADER_BIN := $(objgenerated)/rom_header.bin
+ROM_HEADER_SOURCES += rom_clib_s_nbl1fw
+ROM_HEADER_SOURCES += rom_csib_s_nbl1fw
+
+ROM_HEADER_DEPS := $(foreach f, $(ROM_HEADER_SOURCES), src/soc/cavium/common/$(f).bin.hex)
+
+# Include ROM header
+$(ROM_HEADER_BIN): $(ROM_HEADER_DEPS)
+ for f in $+; \
+ do for c in $$(cat $$f | grep -v ^#); \
+ do printf $$(printf '\%o' 0x$$c); \
+ done; \
+ done > $@
+
+$(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin $(ROM_HEADER_BIN)
+ @printf " GEN $(subst $(obj)/,,$(@))\n"
+ dd if=/dev/zero ibs=1 count=$$(($(shell stat --printf="%s" $(objcbfs)/bootblock.raw.bin) + 0x10000)) of=$@ status=none
+ # Insert CLIB at 0x0 and CSIB at 0x100
+ dd if=$(ROM_HEADER_BIN) of=$@ bs=1 seek=0 conv=notrunc status=none
+ # Insert bootblock at 0x10000
+ dd if=$(objcbfs)/bootblock.raw.bin of=$@ bs=1 seek=$$((0x10000)) conv=notrunc status=none
+
+endif