xref: /rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk (revision a6ea06f563bf1a7545732892d1da3bf2dced2e47)
16fba6e04STony Xie#
26e19bd56SAlexei Fedorov# Copyright (c) 2016-2020, 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
27*a6ea06f5SAlexei Fedorov# Include GICv3 driver files
28*a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk
29*a6ea06f5SAlexei Fedorov
30*a6ea06f5SAlexei 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
416fba6e04STony XieBL31_SOURCES	+=	${RK_GIC_SOURCES}				\
426fba6e04STony Xie			drivers/arm/cci/cci.c				\
43b1271091SSoby Mathew			drivers/ti/uart/aarch64/16550_console.S		\
446fba6e04STony Xie			drivers/delay_timer/delay_timer.c		\
456704f425SAntonio Nino Diaz			drivers/delay_timer/generic_delay_timer.c	\
469901dcf6SCaesar Wang			drivers/gpio/gpio.c				\
476fba6e04STony Xie			lib/cpus/aarch64/cortex_a53.S			\
486fba6e04STony Xie			lib/cpus/aarch64/cortex_a72.S			\
496fba6e04STony Xie			${RK_PLAT_COMMON}/aarch64/plat_helpers.S	\
506fba6e04STony Xie			${RK_PLAT_COMMON}/bl31_plat_setup.c		\
5168ff45f4SCaesar Wang			${RK_PLAT_COMMON}/params_setup.c		\
52c3aaabafSHeiko Stuebner			${RK_PLAT_COMMON}/aarch64/pmu_sram_cpus_on.S	\
536fba6e04STony Xie			${RK_PLAT_COMMON}/plat_pm.c			\
546fba6e04STony Xie			${RK_PLAT_COMMON}/plat_topology.c		\
556fba6e04STony Xie			${RK_PLAT_COMMON}/aarch64/platform_common.c	\
561760db68SCaesar Wang			${RK_PLAT_COMMON}/rockchip_sip_svc.c		\
571760db68SCaesar Wang			${RK_PLAT_SOC}/plat_sip_calls.c			\
589901dcf6SCaesar Wang			${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c	\
596fba6e04STony Xie			${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
608382e17cSCaesar Wang			${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c		\
61977001aaSXing Zheng			${RK_PLAT_SOC}/drivers/pmu/m0_ctl.c		\
625d3b1067SCaesar Wang			${RK_PLAT_SOC}/drivers/pwm/pwm.c		\
63e3525114SXing Zheng			${RK_PLAT_SOC}/drivers/secure/secure.c		\
64fe877779SCaesar Wang			${RK_PLAT_SOC}/drivers/soc/soc.c		\
65613038bcSCaesar Wang			${RK_PLAT_SOC}/drivers/dram/dfs.c		\
66fe877779SCaesar Wang			${RK_PLAT_SOC}/drivers/dram/dram.c		\
67e82f5082SDerek Basehore			${RK_PLAT_SOC}/drivers/dram/dram_spec_timing.c	\
68e82f5082SDerek Basehore			${RK_PLAT_SOC}/drivers/dram/suspend.c
696fba6e04STony Xie
703c250b9aSJulius Wernerinclude lib/coreboot/coreboot.mk
714200e5aaSHeiko Stuebnerinclude lib/libfdt/libfdt.mk
723c250b9aSJulius Werner
73ec693569SCaesar Wang$(eval $(call add_define,PLAT_EXTRA_LD_SCRIPT))
748382e17cSCaesar Wang
75dea1e8eeSCaesar Wang# Enable workarounds for selected Cortex-A53 erratas.
76dea1e8eeSCaesar WangERRATA_A53_855873	:=	1
77dea1e8eeSCaesar Wang
788382e17cSCaesar Wang# M0 source build
798382e17cSCaesar WangPLAT_M0                 :=      ${PLAT}m0
80e77ade28SJulius WernerBUILD_M0		:=	${BUILD_PLAT}/m0
818382e17cSCaesar Wang
82e77ade28SJulius WernerRK3399M0FW=${BUILD_M0}/${PLAT_M0}.bin
8339a97dceSJoshua Watt$(eval $(call add_define_val,RK3399M0FW,\"$(RK3399M0FW)\"))
848382e17cSCaesar Wang
85ff4735cfSLin HuangRK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin
8639a97dceSJoshua Watt$(eval $(call add_define_val,RK3399M0PMUFW,\"$(RK3399M0PMUFW)\"))
87ff4735cfSLin Huang
88f0063ef9SZiyuan Xuifdef PLAT_RK_DP_HDCP
89f0063ef9SZiyuan XuBL31_SOURCES	+= ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c
90f0063ef9SZiyuan Xu
91c76631c5SZiyuan XuHDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin
9239a97dceSJoshua Watt$(eval $(call add_define_val,HDCPFW,\"$(HDCPFW)\"))
93c76631c5SZiyuan Xu
94f0063ef9SZiyuan Xu${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW)
95f0063ef9SZiyuan Xu${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW)
96f0063ef9SZiyuan Xuendif
97f0063ef9SZiyuan Xu
988382e17cSCaesar Wang# CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin
998382e17cSCaesar Wangexport CCACHE_EXTRAFILES
100ff4735cfSLin Huang${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW)
1018382e17cSCaesar Wang${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c: $(RK3399M0FW)
1028382e17cSCaesar Wang
1038012cc5cSMasahiro Yamada$(eval $(call MAKE_PREREQ_DIR,${BUILD_M0},${BUILD_PLAT}))
1048382e17cSCaesar Wang.PHONY: $(RK3399M0FW)
105e77ade28SJulius Werner$(RK3399M0FW): | ${BUILD_M0}
106e77ade28SJulius Werner	$(MAKE) -C ${RK_PLAT_SOC}/drivers/m0 BUILD=$(abspath ${BUILD_PLAT}/m0)
1073872fc2dSDavid Cunado
1083872fc2dSDavid Cunado# Do not enable SVE
1093872fc2dSDavid CunadoENABLE_SVE_FOR_NS	:=	0
110