2018-05-06 21:58:06 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0+
|
2014-10-22 10:13:17 +00:00
|
|
|
#
|
2016-05-17 13:00:30 +00:00
|
|
|
# Copyright (C) 2014-2016 Stefan Roese <sr@denx.de>
|
2014-10-22 10:13:17 +00:00
|
|
|
|
2016-05-17 13:00:30 +00:00
|
|
|
ifdef CONFIG_ARM64
|
|
|
|
|
|
|
|
obj-$(CONFIG_ARMADA_3700) += armada3700/
|
arm64: mvebu: Add basic support for the Marvell Armada 7K/8K SoC
Compared to the Armada 3700, the Armada 7K and 8K are much more on the
high-end side: they use a dual Cortex-A72 or a quad Cortex-A72, as
opposed to the Cortex-A53 for the Armada 3700.
The Armada 7K and 8K also use a fairly unique architecture, internally
they are composed of several components:
- One AP (Application Processor), which contains the processor itself
and a few core hardware blocks. The AP used in the Armada 7K and 8K
is called AP806, and is available in two configurations:
dual Cortex-A72 and quad Cortex-A72.
- One or two CP (Communication Processor), which contain most of the I/O
interfaces (SATA, PCIe, Ethernet, etc.). The 7K family chips have one
CP, while the 8K family chips integrate two CPs, providing two times
the number of I/O interfaces available in the CP.
The CP used in the 7K and 8K is called CP110.
All in all, this gives the following combinations:
- Armada 7020, which is a dual Cortex-A72 with one CP
- Armada 7040, which is a quad Cortex-A72 with one CP
- Armada 8020, which is a dual Cortex-A72 with two CPs
- Armada 8040, which is a quad Cortex-A72 with two CPs
This patch adds basic support for this ARMv8 based SoC into U-Boot.
Future patches will integrate other device drivers and board support,
starting with the Marvell DB-88F7040 development board.
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Neta Zur Hershkovits <neta@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Omri Itach <omrii@marvell.com>
Cc: Igal Liberman <igall@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
2016-05-25 06:13:45 +00:00
|
|
|
obj-$(CONFIG_ARMADA_8K) += armada8k/
|
|
|
|
obj-y += arm64-common.o
|
2016-05-17 13:00:30 +00:00
|
|
|
|
|
|
|
else # CONFIG_ARM64
|
|
|
|
|
2015-04-25 04:29:46 +00:00
|
|
|
ifdef CONFIG_KIRKWOOD
|
|
|
|
|
|
|
|
obj-y = dram.o
|
|
|
|
obj-y += gpio.o
|
2019-03-13 07:47:03 +00:00
|
|
|
obj-y += mbus.o
|
2015-04-25 04:29:46 +00:00
|
|
|
obj-y += timer.o
|
|
|
|
|
2016-05-17 13:00:30 +00:00
|
|
|
else # CONFIG_KIRKWOOD
|
2015-04-25 04:29:46 +00:00
|
|
|
|
2014-10-22 10:13:17 +00:00
|
|
|
obj-y = cpu.o
|
2015-04-25 04:29:46 +00:00
|
|
|
obj-y += dram.o
|
2015-08-06 12:43:13 +00:00
|
|
|
ifndef CONFIG_SPL_BUILD
|
2016-02-10 06:23:00 +00:00
|
|
|
obj-$(CONFIG_ARMADA_375) += ../../../drivers/ddr/marvell/axp/xor.o
|
2015-12-21 12:56:33 +00:00
|
|
|
obj-$(CONFIG_ARMADA_38X) += ../../../drivers/ddr/marvell/a38x/xor.o
|
|
|
|
obj-$(CONFIG_ARMADA_XP) += ../../../drivers/ddr/marvell/axp/xor.o
|
2019-04-11 10:22:50 +00:00
|
|
|
obj-$(CONFIG_ARMADA_MSYS) += ../../../drivers/ddr/marvell/axp/xor.o
|
2017-01-11 15:01:00 +00:00
|
|
|
obj-$(CONFIG_MVEBU_EFUSE) += efuse.o
|
2018-06-18 18:56:25 +00:00
|
|
|
|
|
|
|
extra-y += kwbimage.cfg
|
|
|
|
|
|
|
|
KWB_REPLACE += BOOT_FROM
|
|
|
|
ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI),)
|
|
|
|
KWB_CFG_BOOT_FROM=spi
|
|
|
|
endif
|
|
|
|
ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC),)
|
|
|
|
KWB_CFG_BOOT_FROM=sdio
|
|
|
|
endif
|
2019-05-16 10:03:58 +00:00
|
|
|
ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA),)
|
|
|
|
KWB_CFG_BOOT_FROM=sata
|
|
|
|
endif
|
2018-06-18 18:56:26 +00:00
|
|
|
ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_UART),)
|
|
|
|
KWB_CFG_BOOT_FROM=uart
|
|
|
|
endif
|
2018-06-18 18:56:25 +00:00
|
|
|
|
|
|
|
ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
|
|
|
|
KWB_REPLACE += CSK_INDEX
|
|
|
|
KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
|
|
|
|
|
|
|
|
KWB_REPLACE += SEC_BOOT_DEV
|
|
|
|
KWB_CFG_SEC_BOOT_DEV=$(patsubst "%",%, \
|
|
|
|
$(if $(findstring BOOT_SPI_NOR_FLASH,$(CONFIG_SPL_BOOT_DEVICE)),0x34) \
|
|
|
|
$(if $(findstring BOOT_SDIO_MMC_CARD,$(CONFIG_SPL_BOOT_DEVICE)),0x31) \
|
|
|
|
)
|
|
|
|
|
|
|
|
KWB_REPLACE += SEC_FUSE_DUMP
|
|
|
|
KWB_CFG_SEC_FUSE_DUMP = a38x
|
|
|
|
endif
|
|
|
|
|
2019-10-28 14:25:01 +00:00
|
|
|
$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
|
2018-06-18 18:56:25 +00:00
|
|
|
include/config/auto.conf
|
|
|
|
$(Q)sed -ne '$(foreach V,$(KWB_REPLACE),s/^#@$(V)/$(V) $(KWB_CFG_$(V))/;)p' \
|
2019-10-28 14:25:01 +00:00
|
|
|
<$< >$(dir $@)$(@F)
|
2018-06-18 18:56:25 +00:00
|
|
|
|
2016-05-17 13:00:30 +00:00
|
|
|
endif # CONFIG_SPL_BUILD
|
2015-04-25 04:29:46 +00:00
|
|
|
obj-y += gpio.o
|
|
|
|
obj-y += mbus.o
|
|
|
|
obj-y += timer.o
|
2015-01-19 10:33:42 +00:00
|
|
|
obj-$(CONFIG_SPL_BUILD) += spl.o
|
|
|
|
obj-$(CONFIG_SPL_BUILD) += lowlevel_spl.o
|
2015-04-25 04:29:46 +00:00
|
|
|
|
2015-12-21 12:56:33 +00:00
|
|
|
obj-$(CONFIG_ARMADA_38X) += serdes/a38x/
|
|
|
|
obj-$(CONFIG_ARMADA_XP) += serdes/axp/
|
2015-04-20 07:28:12 +00:00
|
|
|
|
2016-05-17 13:00:30 +00:00
|
|
|
endif # CONFIG_KIRKWOOD
|
|
|
|
endif # CONFIG_ARM64
|