xref: /rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk (revision bded41d9e49065f831b8f968cc646f5b860a23f8)
16fba6e04STony Xie#
2*5be66449SBoyan Karatotev# Copyright (c) 2016-2025, Arm Limited and Contributors. All rights reserved.
36fba6e04STony Xie#
482cb2c1aSdp-arm# SPDX-License-Identifier: BSD-3-Clause
56fba6e04STony Xie#
66fba6e04STony Xie
76fba6e04STony XieRK_PLAT		:=	plat/rockchip
86fba6e04STony XieRK_PLAT_SOC	:=	${RK_PLAT}/${PLAT}
96fba6e04STony XieRK_PLAT_COMMON	:=	${RK_PLAT}/common
106fba6e04STony Xie
1133218d2aSChristoph MüllnerDISABLE_BIN_GENERATION	:=	1
1233218d2aSChristoph Müllner
136fba6e04STony XiePLAT_INCLUDES		:=	-I${RK_PLAT_COMMON}/			\
146fba6e04STony Xie				-I${RK_PLAT_COMMON}/include/		\
15c3aaabafSHeiko Stuebner				-I${RK_PLAT_COMMON}/aarch64/		\
166fba6e04STony Xie				-I${RK_PLAT_COMMON}/drivers/pmu/	\
176fba6e04STony Xie				-I${RK_PLAT_SOC}/			\
186fba6e04STony Xie				-I${RK_PLAT_SOC}/drivers/pmu/		\
195d3b1067SCaesar Wang				-I${RK_PLAT_SOC}/drivers/pwm/		\
20e3525114SXing Zheng				-I${RK_PLAT_SOC}/drivers/secure/	\
216fba6e04STony Xie				-I${RK_PLAT_SOC}/drivers/soc/		\
22fe877779SCaesar Wang				-I${RK_PLAT_SOC}/drivers/dram/		\
23c76631c5SZiyuan Xu				-I${RK_PLAT_SOC}/drivers/dp/		\
246fba6e04STony Xie				-I${RK_PLAT_SOC}/include/		\
25977001aaSXing Zheng				-I${RK_PLAT_SOC}/include/shared/	\
266fba6e04STony Xie
27a6ea06f5SAlexei Fedorov# Include GICv3 driver files
28a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk
29a6ea06f5SAlexei Fedorov
30a6ea06f5SAlexei FedorovRK_GIC_SOURCES		:=	${GICV3_SOURCES}			\
316fba6e04STony Xie				plat/common/plat_gicv3.c		\
326fba6e04STony Xie				${RK_PLAT}/common/rockchip_gicv3.c
336fba6e04STony Xie
343e02c743SJulius WernerPLAT_BL_COMMON_SOURCES	:=	common/desc_image_load.c			\
353e02c743SJulius Werner				lib/bl_aux_params/bl_aux_params.c		\
36c1185ffdSJulius Werner				lib/xlat_tables/xlat_tables_common.c	\
373e4b8fdcSSoby Mathew				lib/xlat_tables/aarch64/xlat_tables.c	\
38a9d5a3ffSAntonio Nino Diaz				plat/common/aarch64/crash_console_helpers.S \
39bb2162f1SSoby Mathew				plat/common/plat_psci_common.c
406fba6e04STony Xie
41826ba363SChristoph Müllnerifneq (${ENABLE_STACK_PROTECTOR},0)
42826ba363SChristoph MüllnerPLAT_BL_COMMON_SOURCES	+=	${RK_PLAT_COMMON}/rockchip_stack_protector.c
43826ba363SChristoph Müllnerendif
44826ba363SChristoph Müllner
456fba6e04STony XieBL31_SOURCES	+=	${RK_GIC_SOURCES}				\
466fba6e04STony Xie			drivers/arm/cci/cci.c				\
47b1271091SSoby Mathew			drivers/ti/uart/aarch64/16550_console.S		\
486fba6e04STony Xie			drivers/delay_timer/delay_timer.c		\
496704f425SAntonio Nino Diaz			drivers/delay_timer/generic_delay_timer.c	\
509901dcf6SCaesar Wang			drivers/gpio/gpio.c				\
516fba6e04STony Xie			lib/cpus/aarch64/cortex_a53.S			\
526fba6e04STony Xie			lib/cpus/aarch64/cortex_a72.S			\
536fba6e04STony Xie			${RK_PLAT_COMMON}/aarch64/plat_helpers.S	\
546fba6e04STony Xie			${RK_PLAT_COMMON}/bl31_plat_setup.c		\
5568ff45f4SCaesar Wang			${RK_PLAT_COMMON}/params_setup.c		\
56c3aaabafSHeiko Stuebner			${RK_PLAT_COMMON}/aarch64/pmu_sram_cpus_on.S	\
576fba6e04STony Xie			${RK_PLAT_COMMON}/plat_pm.c			\
586fba6e04STony Xie			${RK_PLAT_COMMON}/plat_topology.c		\
596fba6e04STony Xie			${RK_PLAT_COMMON}/aarch64/platform_common.c	\
601760db68SCaesar Wang			${RK_PLAT_COMMON}/rockchip_sip_svc.c		\
611760db68SCaesar Wang			${RK_PLAT_SOC}/plat_sip_calls.c			\
629901dcf6SCaesar Wang			${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c	\
636fba6e04STony Xie			${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
64e5e9ccdbSAndrey Skvortsov			${RK_PLAT_SOC}/drivers/pmu/pmu_fw.S		\
65977001aaSXing Zheng			${RK_PLAT_SOC}/drivers/pmu/m0_ctl.c		\
665d3b1067SCaesar Wang			${RK_PLAT_SOC}/drivers/pwm/pwm.c		\
67e3525114SXing Zheng			${RK_PLAT_SOC}/drivers/secure/secure.c		\
68fe877779SCaesar Wang			${RK_PLAT_SOC}/drivers/soc/soc.c		\
69613038bcSCaesar Wang			${RK_PLAT_SOC}/drivers/dram/dfs.c		\
70fe877779SCaesar Wang			${RK_PLAT_SOC}/drivers/dram/dram.c		\
71e82f5082SDerek Basehore			${RK_PLAT_SOC}/drivers/dram/dram_spec_timing.c	\
72e82f5082SDerek Basehore			${RK_PLAT_SOC}/drivers/dram/suspend.c
736fba6e04STony Xie
743c250b9aSJulius Wernerinclude lib/coreboot/coreboot.mk
754200e5aaSHeiko Stuebnerinclude lib/libfdt/libfdt.mk
763c250b9aSJulius Werner
77*5be66449SBoyan KaratotevPLAT_EXTRA_LD_SCRIPT	:=	1
788382e17cSCaesar Wang
79dea1e8eeSCaesar Wang# Enable workarounds for selected Cortex-A53 erratas.
80dea1e8eeSCaesar WangERRATA_A53_855873	:=	1
81dea1e8eeSCaesar Wang
828382e17cSCaesar Wang# M0 source build
838382e17cSCaesar WangPLAT_M0                 :=      ${PLAT}m0
84e77ade28SJulius WernerBUILD_M0		:=	${BUILD_PLAT}/m0
858382e17cSCaesar Wang
86e77ade28SJulius WernerRK3399M0FW=${BUILD_M0}/${PLAT_M0}.bin
8739a97dceSJoshua Watt$(eval $(call add_define_val,RK3399M0FW,\"$(RK3399M0FW)\"))
888382e17cSCaesar Wang
89ff4735cfSLin HuangRK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin
9039a97dceSJoshua Watt$(eval $(call add_define_val,RK3399M0PMUFW,\"$(RK3399M0PMUFW)\"))
91ff4735cfSLin Huang
92f0063ef9SZiyuan Xuifdef PLAT_RK_DP_HDCP
93f0063ef9SZiyuan XuBL31_SOURCES	+= ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c
94f0063ef9SZiyuan Xu
95c76631c5SZiyuan XuHDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin
9639a97dceSJoshua Watt$(eval $(call add_define_val,HDCPFW,\"$(HDCPFW)\"))
97c76631c5SZiyuan Xu
98f0063ef9SZiyuan Xu${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW)
99f0063ef9SZiyuan Xu${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW)
100f0063ef9SZiyuan Xuendif
101f0063ef9SZiyuan Xu
1028382e17cSCaesar Wang# CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin
1038382e17cSCaesar Wangexport CCACHE_EXTRAFILES
104ff4735cfSLin Huang${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW)
105e5e9ccdbSAndrey Skvortsov${RK_PLAT_SOC}/drivers/pmu/pmu_fw.S: $(RK3399M0FW)
1068382e17cSCaesar Wang
1078382e17cSCaesar Wang.PHONY: $(RK3399M0FW)
108f4dd18c2SChris Kay$(RK3399M0FW): | $$(@D)/
109e77ade28SJulius Werner	$(MAKE) -C ${RK_PLAT_SOC}/drivers/m0 BUILD=$(abspath ${BUILD_PLAT}/m0)
1103872fc2dSDavid Cunado
1113872fc2dSDavid Cunado# Do not enable SVE
1123872fc2dSDavid CunadoENABLE_SVE_FOR_NS	:=	0
113