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