xref: /rk3399_ARM-atf/plat/rockchip/rk3568/platform.mk (revision 673c444372181a5ac23c14b9efd3003a37ce0193)
19fd9f1d0Sshengfei Xu#
25be66449SBoyan Karatotev# Copyright (c) 2023-2025, Arm Limited and Contributors. All rights reserved.
39fd9f1d0Sshengfei Xu#
49fd9f1d0Sshengfei Xu# SPDX-License-Identifier: BSD-3-Clause
59fd9f1d0Sshengfei Xu#
69fd9f1d0Sshengfei Xu
79fd9f1d0Sshengfei XuRK_PLAT			:=	plat/rockchip
89fd9f1d0Sshengfei XuRK_PLAT_SOC		:=	${RK_PLAT}/${PLAT}
99fd9f1d0Sshengfei XuRK_PLAT_COMMON		:=	${RK_PLAT}/common
109fd9f1d0Sshengfei Xu
119fd9f1d0Sshengfei XuDISABLE_BIN_GENERATION	:=	1
129fd9f1d0Sshengfei XuGICV3_SUPPORT_GIC600	:=	1
139fd9f1d0Sshengfei Xuinclude lib/coreboot/coreboot.mk
149fd9f1d0Sshengfei Xuinclude lib/libfdt/libfdt.mk
159fd9f1d0Sshengfei Xuinclude lib/xlat_tables_v2/xlat_tables.mk
169fd9f1d0Sshengfei Xu# GIC-600 configuration
179fd9f1d0Sshengfei XuGICV3_IMPL		:=	GIC600
189fd9f1d0Sshengfei Xu# Include GICv3 driver files
199fd9f1d0Sshengfei Xuinclude drivers/arm/gic/v3/gicv3.mk
209fd9f1d0Sshengfei Xu
219fd9f1d0Sshengfei XuPLAT_INCLUDES		:=	-Iinclude/bl31					\
229fd9f1d0Sshengfei Xu				-Iinclude/common				\
239fd9f1d0Sshengfei Xu				-Iinclude/drivers				\
249fd9f1d0Sshengfei Xu				-Iinclude/drivers/arm				\
259fd9f1d0Sshengfei Xu				-Iinclude/drivers/auth				\
269fd9f1d0Sshengfei Xu				-Iinclude/drivers/io				\
279fd9f1d0Sshengfei Xu				-Iinclude/drivers/ti/uart			\
289fd9f1d0Sshengfei Xu				-Iinclude/lib					\
299fd9f1d0Sshengfei Xu				-Iinclude/lib/cpus/${ARCH}			\
309fd9f1d0Sshengfei Xu				-Iinclude/lib/el3_runtime			\
319fd9f1d0Sshengfei Xu				-Iinclude/lib/pmf				\
329fd9f1d0Sshengfei Xu				-Iinclude/lib/psci				\
339fd9f1d0Sshengfei Xu				-Iinclude/plat/common				\
349fd9f1d0Sshengfei Xu				-Iinclude/services				\
359fd9f1d0Sshengfei Xu				-Iinclude/plat/common/				\
369fd9f1d0Sshengfei Xu				-Idrivers/arm/gic/v3/				\
37*4e1ccc60SShengfei Xu				-Idrivers/scmi-msg/				\
389fd9f1d0Sshengfei Xu				-I${RK_PLAT_COMMON}/				\
399fd9f1d0Sshengfei Xu				-I${RK_PLAT_COMMON}/pmusram/			\
409fd9f1d0Sshengfei Xu				-I${RK_PLAT_COMMON}/include/			\
419fd9f1d0Sshengfei Xu				-I${RK_PLAT_COMMON}/drivers/pmu/		\
429fd9f1d0Sshengfei Xu				-I${RK_PLAT_COMMON}/drivers/parameter/		\
43*4e1ccc60SShengfei Xu				-I${RK_PLAT_COMMON}/scmi/			\
449fd9f1d0Sshengfei Xu				-I${RK_PLAT_SOC}/				\
45*4e1ccc60SShengfei Xu				-I${RK_PLAT_SOC}/drivers/otp/			\
469fd9f1d0Sshengfei Xu				-I${RK_PLAT_SOC}/drivers/pmu/			\
479fd9f1d0Sshengfei Xu				-I${RK_PLAT_SOC}/drivers/soc/			\
48*4e1ccc60SShengfei Xu				-I${RK_PLAT_SOC}/drivers/scmi/			\
499fd9f1d0Sshengfei Xu				-I${RK_PLAT_SOC}/include/
509fd9f1d0Sshengfei Xu
519fd9f1d0Sshengfei XuRK_GIC_SOURCES		:=	${GICV3_SOURCES}				\
529fd9f1d0Sshengfei Xu				plat/common/plat_gicv3.c			\
539fd9f1d0Sshengfei Xu				${RK_PLAT}/common/rockchip_gicv3.c
549fd9f1d0Sshengfei Xu
559fd9f1d0Sshengfei XuPLAT_BL_COMMON_SOURCES	:=	${XLAT_TABLES_LIB_SRCS}				\
569fd9f1d0Sshengfei Xu				common/desc_image_load.c			\
579fd9f1d0Sshengfei Xu				plat/common/aarch64/crash_console_helpers.S	\
589fd9f1d0Sshengfei Xu				lib/bl_aux_params/bl_aux_params.c		\
599fd9f1d0Sshengfei Xu				plat/common/plat_psci_common.c
609fd9f1d0Sshengfei Xu
619fd9f1d0Sshengfei Xuifneq (${ENABLE_STACK_PROTECTOR},0)
629fd9f1d0Sshengfei XuPLAT_BL_COMMON_SOURCES	+=	${RK_PLAT_COMMON}/rockchip_stack_protector.c
639fd9f1d0Sshengfei Xuendif
649fd9f1d0Sshengfei Xu
659fd9f1d0Sshengfei XuBL31_SOURCES		+=	${RK_GIC_SOURCES}				\
669fd9f1d0Sshengfei Xu				drivers/arm/cci/cci.c				\
679fd9f1d0Sshengfei Xu				lib/cpus/aarch64/cortex_a55.S			\
689fd9f1d0Sshengfei Xu				drivers/ti/uart/aarch64/16550_console.S		\
699fd9f1d0Sshengfei Xu				drivers/delay_timer/delay_timer.c		\
709fd9f1d0Sshengfei Xu				drivers/delay_timer/generic_delay_timer.c	\
71*4e1ccc60SShengfei Xu				drivers/scmi-msg/base.c				\
72*4e1ccc60SShengfei Xu				drivers/scmi-msg/clock.c			\
73*4e1ccc60SShengfei Xu				drivers/scmi-msg/entry.c			\
74*4e1ccc60SShengfei Xu				drivers/scmi-msg/reset_domain.c			\
75*4e1ccc60SShengfei Xu				drivers/scmi-msg/smt.c				\
769fd9f1d0Sshengfei Xu				$(LIBFDT_SRCS)					\
779fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/aarch64/plat_helpers.S	\
789fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/bl31_plat_setup.c		\
799fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/params_setup.c		\
809fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/plat_pm.c			\
819fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/plat_topology.c		\
829fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/rockchip_sip_svc.c		\
839fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/pmusram/cpus_on_fixed_addr.S	\
849fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/drivers/parameter/ddr_parameter.c	\
859fd9f1d0Sshengfei Xu				${RK_PLAT_COMMON}/aarch64/platform_common.c	\
86*4e1ccc60SShengfei Xu				${RK_PLAT_COMMON}/scmi/scmi.c			\
87*4e1ccc60SShengfei Xu				${RK_PLAT_COMMON}/scmi/scmi_clock.c		\
88*4e1ccc60SShengfei Xu				${RK_PLAT_COMMON}/scmi/scmi_rstd.c		\
89*4e1ccc60SShengfei Xu				${RK_PLAT_SOC}/drivers/otp/otp.c		\
90*4e1ccc60SShengfei Xu				${RK_PLAT_SOC}/drivers/scmi/rk3568_clk.c	\
919fd9f1d0Sshengfei Xu				${RK_PLAT_SOC}/drivers/soc/soc.c		\
929fd9f1d0Sshengfei Xu				${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
939fd9f1d0Sshengfei Xu				${RK_PLAT_SOC}/plat_sip_calls.c
949fd9f1d0Sshengfei Xu
959fd9f1d0Sshengfei XuENABLE_PLAT_COMPAT	:=	0
969fd9f1d0Sshengfei XuMULTI_CONSOLE_API	:=	1
979fd9f1d0Sshengfei Xu# System coherency is managed in hardware
989fd9f1d0Sshengfei XuHW_ASSISTED_COHERENCY	:=	1
999fd9f1d0Sshengfei Xu#Enable errata for cortex_a55
1009fd9f1d0Sshengfei XuERRATA_A55_1530923	:=	1
1019fd9f1d0Sshengfei Xu
1029fd9f1d0Sshengfei Xu# When building for systems with hardware-assisted coherency, there's no need to
1039fd9f1d0Sshengfei Xu# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too.
1049fd9f1d0Sshengfei XuUSE_COHERENT_MEM	:=	0
1059fd9f1d0Sshengfei Xu
1069fd9f1d0Sshengfei Xu$(eval $(call add_define,PLAT_SKIP_OPTEE_S_EL1_INT_REGISTER))
1075be66449SBoyan KaratotevPLAT_EXTRA_LD_SCRIPT	:=	1
1089fd9f1d0Sshengfei Xu
1099fd9f1d0Sshengfei Xu# Do not enable SVE
1109fd9f1d0Sshengfei XuENABLE_SVE_FOR_NS	:=	0
111