blob: a5a20877dda6f742c71b305df4037610afa4c6ce [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0+
Stefan Roese93e6bf42014-10-22 12:13:17 +02002#
Stefan Roese05b17652016-05-17 15:00:30 +02003# Copyright (C) 2014-2016 Stefan Roese <sr@denx.de>
Stefan Roese93e6bf42014-10-22 12:13:17 +02004
Stefan Roese05b17652016-05-17 15:00:30 +02005ifdef CONFIG_ARM64
6
7obj-$(CONFIG_ARMADA_3700) += armada3700/
Stefan Roesecb410332016-05-25 08:13:45 +02008obj-$(CONFIG_ARMADA_8K) += armada8k/
9obj-y += arm64-common.o
Stefan Roese05b17652016-05-17 15:00:30 +020010
11else # CONFIG_ARM64
12
Trevor Woernerbb7ab072020-05-06 08:02:40 -040013ifdef CONFIG_ARCH_KIRKWOOD
Stefan Roese42e5aab2015-04-25 06:29:46 +020014
15obj-y = dram.o
16obj-y += gpio.o
Chris Packham968856c2019-03-13 20:47:03 +130017obj-y += mbus.o
Stefan Roese42e5aab2015-04-25 06:29:46 +020018obj-y += timer.o
19
Trevor Woernerbb7ab072020-05-06 08:02:40 -040020else # CONFIG_ARCH_KIRKWOOD
Stefan Roese42e5aab2015-04-25 06:29:46 +020021
Stefan Roese93e6bf42014-10-22 12:13:17 +020022obj-y = cpu.o
Stefan Roese42e5aab2015-04-25 06:29:46 +020023obj-y += dram.o
Pali Rohár4669df32021-12-21 12:20:18 +010024obj-$(CONFIG_DM_RESET) += system-controller.o
Stefan Roesef3345e62015-08-06 14:43:13 +020025ifndef CONFIG_SPL_BUILD
Stefan Roese479f9af2016-02-10 07:23:00 +010026obj-$(CONFIG_ARMADA_375) += ../../../drivers/ddr/marvell/axp/xor.o
Stefan Roeseeb083e52015-12-21 13:56:33 +010027obj-$(CONFIG_ARMADA_38X) += ../../../drivers/ddr/marvell/a38x/xor.o
28obj-$(CONFIG_ARMADA_XP) += ../../../drivers/ddr/marvell/axp/xor.o
Chris Packhama8f845e2019-04-11 22:22:50 +120029obj-$(CONFIG_ARMADA_MSYS) += ../../../drivers/ddr/marvell/axp/xor.o
Mario Six10d14492017-01-11 16:01:00 +010030obj-$(CONFIG_MVEBU_EFUSE) += efuse.o
Baruch Siachea3d9de2018-06-18 21:56:25 +030031
32extra-y += kwbimage.cfg
33
Pali Rohár8f3dcb82022-01-12 18:20:44 +010034ifneq ($(CONFIG_ARMADA_370)$(CONFIG_ARMADA_XP),)
35 KWB_REPLACE += CPU
36 KWB_CFG_CPU = SHEEVA
37else ifneq ($(CONFIG_ARMADA_375)$(CONFIG_ARMADA_38X)$(CONFIG_ARMADA_39X),)
38 KWB_REPLACE += CPU
39 KWB_CFG_CPU = A9
40endif
41
Pali Roháre29a0072022-01-12 18:20:45 +010042KWB_REPLACE += LOAD_ADDRESS
43KWB_CFG_LOAD_ADDRESS = $(CONFIG_SPL_TEXT_BASE)
44
Baruch Siachea3d9de2018-06-18 21:56:25 +030045KWB_REPLACE += BOOT_FROM
46ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
47 KWB_CFG_BOOT_FROM=spi
48endif
49ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
50 KWB_CFG_BOOT_FROM=sdio
51endif
Baruch Siachb936a272019-05-16 13:03:58 +030052ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA),)
53 KWB_CFG_BOOT_FROM=sata
54endif
Baruch Siachb35c4472018-06-18 21:56:26 +030055ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_UART),)
56 KWB_CFG_BOOT_FROM=uart
57endif
Baruch Siachea3d9de2018-06-18 21:56:25 +030058
59ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
60KWB_REPLACE += CSK_INDEX
61KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
62
63KWB_REPLACE += SEC_BOOT_DEV
64KWB_CFG_SEC_BOOT_DEV=$(patsubst "%",%, \
65 $(if $(findstring BOOT_SPI_NOR_FLASH,$(CONFIG_SPL_BOOT_DEVICE)),0x34) \
66 $(if $(findstring BOOT_SDIO_MMC_CARD,$(CONFIG_SPL_BOOT_DEVICE)),0x31) \
67 )
68
69KWB_REPLACE += SEC_FUSE_DUMP
70KWB_CFG_SEC_FUSE_DUMP = a38x
71endif
72
Pali Rohárb938acc2022-01-12 18:20:47 +010073ifdef CONFIG_ARMADA_38X
74# BootROM output is by default enabled on pre-A38x and disabled on A38x
75# DEBUG flag on A38x for non-UART boot source only enable BootROM output and nothing more
76KWB_REPLACE += DEBUG
77KWB_CFG_DEBUG = 1
78endif
79
Pali Rohár8add2b42022-01-12 18:20:39 +010080quiet_cmd_kwbcfg = KWBCFG $@
Pali Roháre29a0072022-01-12 18:20:45 +010081cmd_kwbcfg = sed -ne '$(foreach V,$(KWB_REPLACE),s/\#@$(V)/$(V) $(KWB_CFG_$(V))/;)p' \
Pali Rohár8add2b42022-01-12 18:20:39 +010082 <$< >$(dir $@)$(@F)
83
Bin Mengdf4019a2019-10-28 07:25:01 -070084$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
Baruch Siachea3d9de2018-06-18 21:56:25 +030085 include/config/auto.conf
Pali Rohár8add2b42022-01-12 18:20:39 +010086 $(call cmd,kwbcfg)
Baruch Siachea3d9de2018-06-18 21:56:25 +030087
Stefan Roese05b17652016-05-17 15:00:30 +020088endif # CONFIG_SPL_BUILD
Stefan Roese42e5aab2015-04-25 06:29:46 +020089obj-y += gpio.o
90obj-y += mbus.o
91obj-y += timer.o
Stefan Roesee463bf32015-01-19 11:33:42 +010092obj-$(CONFIG_SPL_BUILD) += spl.o
93obj-$(CONFIG_SPL_BUILD) += lowlevel_spl.o
Stefan Roese42e5aab2015-04-25 06:29:46 +020094
Stefan Roeseeb083e52015-12-21 13:56:33 +010095obj-$(CONFIG_ARMADA_38X) += serdes/a38x/
96obj-$(CONFIG_ARMADA_XP) += serdes/axp/
Stefan Roesee5c5aa92015-04-20 09:28:12 +020097
Trevor Woernerbb7ab072020-05-06 08:02:40 -040098endif # CONFIG_ARCH_KIRKWOOD
Stefan Roese05b17652016-05-17 15:00:30 +020099endif # CONFIG_ARM64