arm: kirkwood: make it CONFIG_TIMER aware
[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-y += arm64-common.o
10
11 else # CONFIG_ARM64
12
13 ifdef CONFIG_ARCH_KIRKWOOD
14
15 obj-y   = dram.o
16 obj-y   += gpio.o
17 obj-y   += mbus.o
18
19 ifndef CONFIG_TIMER
20 obj-y   += timer.o
21 endif
22
23 else # CONFIG_ARCH_KIRKWOOD
24
25 obj-y   = cpu.o
26 obj-y   += dram.o
27 obj-y   += lowlevel.o
28 obj-$(CONFIG_DM_RESET) += system-controller.o
29 ifndef CONFIG_SPL_BUILD
30 obj-$(CONFIG_ARMADA_375) += ../../../drivers/ddr/marvell/axp/xor.o
31 obj-$(CONFIG_ARMADA_38X) += ../../../drivers/ddr/marvell/a38x/xor.o
32 obj-$(CONFIG_ARMADA_XP) += ../../../drivers/ddr/marvell/axp/xor.o
33 obj-$(CONFIG_ARMADA_MSYS) += ../../../drivers/ddr/marvell/axp/xor.o
34
35 ifdef CONFIG_ARMADA_38X
36 obj-$(CONFIG_MVEBU_EFUSE) += efuse.o
37 endif
38
39 extra-y += kwbimage.cfg
40
41 ifneq ($(CONFIG_ARMADA_370)$(CONFIG_ARMADA_XP),)
42         KWB_REPLACE += CPU
43         KWB_CFG_CPU = SHEEVA
44 else ifneq ($(CONFIG_ARMADA_375)$(CONFIG_ARMADA_38X)$(CONFIG_ARMADA_39X),)
45         KWB_REPLACE += CPU
46         KWB_CFG_CPU = A9
47 endif
48
49 KWB_REPLACE += LOAD_ADDRESS
50 KWB_CFG_LOAD_ADDRESS = $(CONFIG_SPL_TEXT_BASE)
51
52 KWB_REPLACE += BOOT_FROM
53 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
54         KWB_CFG_BOOT_FROM=spi
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_UART),)
63         KWB_CFG_BOOT_FROM=uart
64 endif
65
66 ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
67 KWB_REPLACE += CSK_INDEX
68 KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
69
70 KWB_REPLACE += SEC_BOOT_DEV
71 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
72         KWB_CFG_SEC_BOOT_DEV=0x34
73 endif
74 ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
75         KWB_CFG_SEC_BOOT_DEV=0x31
76 endif
77
78 KWB_REPLACE += SEC_FUSE_DUMP
79 KWB_CFG_SEC_FUSE_DUMP = a38x
80 endif
81
82 ifdef CONFIG_ARMADA_38X
83 # BootROM output is by default enabled on pre-A38x and disabled on A38x
84 # DEBUG flag on A38x for non-UART boot source only enable BootROM output and nothing more
85 KWB_REPLACE += DEBUG
86 KWB_CFG_DEBUG = 1
87 endif
88
89 quiet_cmd_kwbcfg = KWBCFG  $@
90 cmd_kwbcfg = sed -ne '$(foreach V,$(KWB_REPLACE),s/\#@$(V)/$(V) $(KWB_CFG_$(V))/;)p' \
91         <$< >$(dir $@)$(@F)
92
93 $(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
94                 include/config/auto.conf
95         $(call cmd,kwbcfg)
96
97 endif # CONFIG_SPL_BUILD
98 obj-y   += gpio.o
99 obj-y   += mbus.o
100 obj-y   += timer.o
101 obj-$(CONFIG_SPL_BUILD) += spl.o
102 obj-$(CONFIG_SPL_BUILD) += lowlevel_spl.o
103
104 obj-$(CONFIG_ARMADA_38X) += serdes/a38x/
105 obj-$(CONFIG_ARMADA_XP) += serdes/axp/
106
107 endif # CONFIG_ARCH_KIRKWOOD
108 endif # CONFIG_ARM64