xref: /rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk (revision d0ce1ac58476f546ee87233112b59f4c73e11228)
18b81a39eSGhennadi Procopciuc#
2e7905128SGhennadi Procopciuc# Copyright 2024-2025 NXP
38b81a39eSGhennadi Procopciuc#
48b81a39eSGhennadi Procopciuc# SPDX-License-Identifier: BSD-3-Clause
58b81a39eSGhennadi Procopciuc#
68b81a39eSGhennadi Procopciuc
78b81a39eSGhennadi Procopciucinclude drivers/arm/gic/v3/gicv3.mk
88b81a39eSGhennadi Procopciucinclude lib/xlat_tables_v2/xlat_tables.mk
98b81a39eSGhennadi Procopciuc
108b81a39eSGhennadi ProcopciucPLAT_DRIVERS_PATH := drivers/nxp
118b81a39eSGhennadi ProcopciucPLAT_COMMON_PATH  := plat/nxp/common
128b81a39eSGhennadi ProcopciucPLAT_S32G274ARDB2 := plat/nxp/s32/s32g274ardb2
138b81a39eSGhennadi Procopciuc
148b81a39eSGhennadi ProcopciucCONSOLE           := LINFLEX
158b81a39eSGhennadi Procopciuc
168b81a39eSGhennadi Procopciucinclude ${PLAT_COMMON_PATH}/plat_make_helper/plat_build_macros.mk
178b81a39eSGhennadi Procopciuc
18b47d085aSGhennadi Procopciuc# Flag to apply S32 erratum ERR051700. This erratum applies to all S32
19b47d085aSGhennadi Procopciuc# revisions.
20b47d085aSGhennadi ProcopciucS32_ERRATA_LIST += ERRATA_S32_051700
21b47d085aSGhennadi Procopciuc
228b81a39eSGhennadi ProcopciucPLAT_INCLUDES = \
23d82c211dSGhennadi Procopciuc	-I${PLAT_S32G274ARDB2}/include \
24d82c211dSGhennadi Procopciuc	-Idrivers/imx/usdhc \
258b81a39eSGhennadi Procopciuc
268b81a39eSGhennadi ProcopciucPROGRAMMABLE_RESET_ADDRESS := 1
278b81a39eSGhennadi Procopciuc
288b81a39eSGhennadi ProcopciucCOLD_BOOT_SINGLE_CPU := 0
298b81a39eSGhennadi Procopciuc
308b81a39eSGhennadi ProcopciucENABLE_SVE_FOR_NS := 0
318b81a39eSGhennadi Procopciuc
328b81a39eSGhennadi ProcopciucRESET_TO_BL2 := 1
338b81a39eSGhennadi Procopciuc
348b81a39eSGhennadi ProcopciucINIT_UNUSED_NS_EL2 := 1
358b81a39eSGhennadi Procopciuc
368b81a39eSGhennadi ProcopciucERRATA_A53_855873 := 1
378b81a39eSGhennadi ProcopciucERRATA_A53_836870 := 1
388b81a39eSGhennadi ProcopciucERRATA_A53_1530924 := 1
398b81a39eSGhennadi ProcopciucERRATA_SPECULATIVE_AT := 1
40cc6e9b01SGhennadi ProcopciucERRATA_S32_051700 := 1
418b81a39eSGhennadi Procopciuc
42a1e07b39SGhennadi ProcopciucPLAT_XLAT_TABLES_DYNAMIC := 1
43a1e07b39SGhennadi Procopciuc$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC))
44a1e07b39SGhennadi Procopciuc
45d82c211dSGhennadi ProcopciucNXP_ESDHC_LE := 1
46d82c211dSGhennadi Procopciuc$(eval $(call add_define,NXP_ESDHC_LE))
47d82c211dSGhennadi Procopciuc
488b81a39eSGhennadi Procopciuc# Selecting Drivers for SoC
498b81a39eSGhennadi Procopciuc$(eval $(call SET_NXP_MAKE_FLAG,CONSOLE_NEEDED,BL_COMM))
50f1e4ac56SGhennadi Procopciuc$(eval $(call SET_NXP_MAKE_FLAG,CLK_NEEDED,BL_COMM))
518b81a39eSGhennadi Procopciuc
528b81a39eSGhennadi Procopciucinclude ${PLAT_DRIVERS_PATH}/drivers.mk
538b81a39eSGhennadi Procopciuc
54*88b8aa97SGhennadi Procopciuc# Selecting the raw partition where the FIP image is stored
55*88b8aa97SGhennadi ProcopciucFIP_PART ?= 0
56*88b8aa97SGhennadi Procopciuc$(eval $(call add_define,FIP_PART))
57*88b8aa97SGhennadi Procopciuc
588b81a39eSGhennadi ProcopciucBL_COMMON_SOURCES += \
598b81a39eSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/plat_console.c \
608b81a39eSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/plat_helpers.S \
61eb4d4185SGhennadi Procopciuc	${PLAT_S32G274ARDB2}/s32cc_bl_common.c \
62a1e07b39SGhennadi Procopciuc	${XLAT_TABLES_LIB_SRCS} \
638b81a39eSGhennadi Procopciuc
648b81a39eSGhennadi ProcopciucBL2_SOURCES += \
658b81a39eSGhennadi Procopciuc	${BL_COMMON_SOURCES} \
668b81a39eSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/plat_bl2_el3_setup.c \
678b81a39eSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/plat_bl2_image_desc.c \
688b81a39eSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/plat_io_storage.c \
695071f7c7SGhennadi Procopciuc	${PLAT_S32G274ARDB2}/s32cc_ncore.c \
708b81a39eSGhennadi Procopciuc	common/desc_image_load.c \
71*88b8aa97SGhennadi Procopciuc	common/tf_crc32.c \
72e7905128SGhennadi Procopciuc	drivers/delay_timer/delay_timer.c \
73e7905128SGhennadi Procopciuc	drivers/delay_timer/generic_delay_timer.c \
74d82c211dSGhennadi Procopciuc	drivers/imx/usdhc/imx_usdhc.c \
75*88b8aa97SGhennadi Procopciuc	drivers/io/io_block.c \
768b81a39eSGhennadi Procopciuc	drivers/io/io_fip.c \
778b81a39eSGhennadi Procopciuc	drivers/io/io_memmap.c \
788b81a39eSGhennadi Procopciuc	drivers/io/io_storage.c \
79d82c211dSGhennadi Procopciuc	drivers/mmc/mmc.c \
80*88b8aa97SGhennadi Procopciuc	drivers/partition/gpt.c \
81*88b8aa97SGhennadi Procopciuc	drivers/partition/partition.c \
828b81a39eSGhennadi Procopciuc	lib/cpus/aarch64/cortex_a53.S \
838b81a39eSGhennadi Procopciuc
84*88b8aa97SGhennadi ProcopciucBL2_CPPFLAGS += -march=armv8-a+crc
85*88b8aa97SGhennadi Procopciuc
86e73c3c3aSGhennadi ProcopciucBL31_SOURCES += \
87e73c3c3aSGhennadi Procopciuc	${GICV3_SOURCES} \
88e73c3c3aSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/plat_bl31_setup.c \
89e73c3c3aSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/s32g2_psci.c \
90e73c3c3aSGhennadi Procopciuc	${PLAT_S32G274ARDB2}/s32g2_soc.c \
91e73c3c3aSGhennadi Procopciuc	${XLAT_TABLES_LIB_SRCS} \
92e73c3c3aSGhennadi Procopciuc	lib/cpus/aarch64/cortex_a53.S \
93e73c3c3aSGhennadi Procopciuc	plat/common/plat_gicv3.c \
94e73c3c3aSGhennadi Procopciuc	plat/common/plat_psci_common.c \
95b47d085aSGhennadi Procopciuc
96b47d085aSGhennadi Procopciuc# process all errata flags
97b47d085aSGhennadi Procopciuc$(eval $(call default_zeros, $(S32_ERRATA_LIST)))
98b47d085aSGhennadi Procopciuc$(eval $(call add_defines, $(S32_ERRATA_LIST)))
99b47d085aSGhennadi Procopciuc$(eval $(call assert_booleans, $(S32_ERRATA_LIST)))
100