Prepare v2023.10
[platform/kernel/u-boot.git] / arch / arm / mach-mvebu / Makefile
1 # SPDX-License-Identifier: GPL-2.0+
2 #
3 # Copyright (C) 2014-2016 Stefan Roese <sr@denx.de>
4
5 ifdef CONFIG_ARM64
6
7 obj-$(CONFIG_ARMADA_3700) += armada3700/
8 obj-$(CONFIG_ARMADA_8K) += armada8k/
9 obj-$(CONFIG_ALLEYCAT_5) += alleycat5/
10 obj-y += arm64-common.o
11
12 else # CONFIG_ARM64
13
14 ifdef CONFIG_ARCH_KIRKWOOD
15
16 obj-y   = dram.o
17 obj-y   += gpio.o
18 obj-y   += mbus.o
19
20 else # CONFIG_ARCH_KIRKWOOD
21
22 obj-y   = cpu.o
23 obj-y   += dram.o
24 obj-y   += lowlevel.o
25 obj-$(CONFIG_DM_RESET) += system-controller.o
26 ifndef CONFIG_SPL_BUILD
27 obj-$(CONFIG_ARMADA_375) += ../../../drivers/ddr/marvell/axp/xor.o
28 obj-$(CONFIG_ARMADA_38X) += ../../../drivers/ddr/marvell/a38x/xor.o
29 obj-$(CONFIG_ARMADA_XP) += ../../../drivers/ddr/marvell/axp/xor.o
30 obj-$(CONFIG_ARMADA_MSYS) += ../../../drivers/ddr/marvell/axp/xor.o
31
32 ifdef CONFIG_ARMADA_38X
33 obj-$(CONFIG_MVEBU_EFUSE) += efuse.o
34 endif
35
36 extra-y += kwbimage.cfg
37
38 ifneq ($(CONFIG_ARMADA_XP),)
39         KWB_REPLACE += CPU
40         KWB_CFG_CPU = SHEEVA
41 else ifneq ($(CONFIG_ARMADA_375)$(CONFIG_ARMADA_38X),)
42         KWB_REPLACE += CPU
43         KWB_CFG_CPU = A9
44 endif
45
46 KWB_REPLACE += LOAD_ADDRESS
47 KWB_CFG_LOAD_ADDRESS = $(CONFIG_SPL_TEXT_BASE)
48
49 KWB_REPLACE += BOOT_FROM
50 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
51         KWB_CFG_BOOT_FROM=spi
52 endif
53 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_NAND),)
54         KWB_CFG_BOOT_FROM=nand
55 endif
56 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
57         KWB_CFG_BOOT_FROM=sdio
58 endif
59 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA),)
60         KWB_CFG_BOOT_FROM=sata
61 endif
62 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_PEX),)
63         KWB_CFG_BOOT_FROM=pex
64 endif
65 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_UART),)
66         KWB_CFG_BOOT_FROM=uart
67 endif
68
69 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_NAND),)
70 KWB_REPLACE += NAND_PAGE_SIZE NAND_BLKSZ NAND_BADBLK_LOCATION
71 KWB_CFG_NAND_PAGE_SIZE = $(CONFIG_SYS_NAND_PAGE_SIZE)
72 KWB_CFG_NAND_BLKSZ = $(CONFIG_SYS_NAND_BLOCK_SIZE)
73 KWB_CFG_NAND_BADBLK_LOCATION = $(CONFIG_MVEBU_SPL_NAND_BADBLK_LOCATION)
74 endif
75
76 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA),)
77 KWB_REPLACE += SATA_BLKSZ
78 KWB_CFG_SATA_BLKSZ = $(CONFIG_MVEBU_SPL_SATA_BLKSZ)
79 endif
80
81 ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
82 KWB_REPLACE += CSK_INDEX
83 KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
84
85 KWB_REPLACE += SEC_BOOT_DEV
86 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
87         KWB_CFG_SEC_BOOT_DEV=0x34
88 endif
89 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
90         KWB_CFG_SEC_BOOT_DEV=0x31
91 endif
92
93 KWB_REPLACE += SEC_FUSE_DUMP
94 KWB_CFG_SEC_FUSE_DUMP = a38x
95 endif
96
97 ifdef CONFIG_ARMADA_38X
98 # BootROM output is by default enabled on pre-A38x and disabled on A38x
99 # DEBUG flag on A38x for non-UART boot source only enable BootROM output and nothing more
100 KWB_REPLACE += DEBUG
101 KWB_CFG_DEBUG = 1
102 endif
103
104 quiet_cmd_kwbcfg = KWBCFG  $@
105 cmd_kwbcfg = sed -ne '$(foreach V,$(KWB_REPLACE),s/\#@$(V)/$(V) $(KWB_CFG_$(V))/;)p' \
106         <$< >$(dir $@)$(@F)
107
108 $(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
109                 include/config/auto.conf
110         $(call cmd,kwbcfg)
111
112 endif # CONFIG_SPL_BUILD
113 obj-y   += gpio.o
114 obj-y   += mbus.o
115 obj-$(CONFIG_SPL_BUILD) += spl.o
116 obj-$(CONFIG_SPL_BUILD) += lowlevel_spl.o
117
118 obj-$(CONFIG_ARMADA_38X) += serdes/a38x/
119 obj-$(CONFIG_ARMADA_XP) += serdes/axp/
120
121 endif # CONFIG_ARCH_KIRKWOOD
122 endif # CONFIG_ARM64