mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 01:24:27 +00:00
feat(msm8916): add port for MSM8909
The Qualcomm Snapdragon 210 (MSM8909) SoC is very similar to the existing MSM8916, except for: - ARM Cortex-A7 instead of Cortex-A53 (AArch32-only) - MMU-500 r2p0 instead of r0p0 (need to clear CACHE_LOCK bit) - Different default BL31 address and UART number Make the existing MSM8916 platform port usable for MSM8909 as well by adding some minimal if statements where necessary plus the platform make files for msm8909. Change-Id: I8eca5bd8f2486cc2174562fb5de28f8dffa0d874 Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
This commit is contained in:
parent
d9b04423cf
commit
cf0a75f04d
4 changed files with 29 additions and 2 deletions
13
plat/qti/msm8909/platform.mk
Normal file
13
plat/qti/msm8909/platform.mk
Normal file
|
@ -0,0 +1,13 @@
|
|||
#
|
||||
# Copyright (c) 2022-2023, Stephan Gerhold <stephan@gerhold.net>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
ARM_ARCH_MAJOR := 7
|
||||
ARM_CORTEX_A7 := yes
|
||||
|
||||
BL31_BASE ?= 0x87e80000
|
||||
QTI_UART_NUM ?= 1
|
||||
|
||||
include plat/qti/msm8916/platform.mk
|
7
plat/qti/msm8909/sp_min/sp_min-msm8909.mk
Normal file
7
plat/qti/msm8909/sp_min/sp_min-msm8909.mk
Normal file
|
@ -0,0 +1,7 @@
|
|||
#
|
||||
# Copyright (c) 2022-2023, Stephan Gerhold <stephan@gerhold.net>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
include plat/qti/msm8916/sp_min/sp_min-msm8916.mk
|
|
@ -47,7 +47,11 @@ struct uartdm_gpios {
|
|||
};
|
||||
|
||||
static const struct uartdm_gpios uartdm_gpio_map[] = {
|
||||
#if defined(PLAT_msm8909)
|
||||
{4, 5, 0x2}, {20, 21, 0x3},
|
||||
#elif defined(PLAT_msm8916)
|
||||
{0, 1, 0x2}, {4, 5, 0x2},
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -17,7 +17,8 @@ PLAT_BL_COMMON_SOURCES := ${GICV2_SOURCES} \
|
|||
plat/qti/msm8916/${ARCH}/msm8916_helpers.S \
|
||||
plat/qti/msm8916/${ARCH}/uartdm_console.S
|
||||
|
||||
MSM8916_PM_SOURCES := lib/cpus/${ARCH}/cortex_a53.S \
|
||||
MSM8916_CPU := $(if ${ARM_CORTEX_A7},cortex_a7,cortex_a53)
|
||||
MSM8916_PM_SOURCES := lib/cpus/${ARCH}/${MSM8916_CPU}.S \
|
||||
plat/common/plat_psci_common.c \
|
||||
plat/qti/msm8916/msm8916_config.c \
|
||||
plat/qti/msm8916/msm8916_cpu_boot.c \
|
||||
|
@ -48,10 +49,11 @@ WARMBOOT_ENABLE_DCACHE_EARLY := 1
|
|||
ENABLE_SPE_FOR_NS := 0
|
||||
ENABLE_SVE_FOR_NS := 0
|
||||
|
||||
# Disable workarounds unnecessary for Cortex-A53
|
||||
# Disable workarounds unnecessary for Cortex-A7/A53
|
||||
WORKAROUND_CVE_2017_5715 := 0
|
||||
WORKAROUND_CVE_2022_23960 := 0
|
||||
|
||||
ifeq (${MSM8916_CPU},cortex_a53)
|
||||
# MSM8916 uses ARM Cortex-A53 r0p0 so likely all the errata apply
|
||||
ERRATA_A53_819472 := 1
|
||||
ERRATA_A53_824069 := 1
|
||||
|
@ -62,6 +64,7 @@ ERRATA_A53_836870 := 1
|
|||
ERRATA_A53_843419 := 1
|
||||
ERRATA_A53_855873 := 0 # Workaround works only for >= r0p3
|
||||
ERRATA_A53_1530924 := 1
|
||||
endif
|
||||
|
||||
# Build config flags
|
||||
# ------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue