xref: /rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk (revision c3aaabaf7e66e56323167d282fd6848b7ade8ae2)
16fba6e04STony Xie#
275311203Sdp-arm# Copyright (c) 2016-2017, 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
117029e806SHeiko Stuebnerinclude lib/libfdt/libfdt.mk
127029e806SHeiko Stuebner
136fba6e04STony XiePLAT_INCLUDES		:=	-I${RK_PLAT_COMMON}/			\
146fba6e04STony Xie				-I${RK_PLAT_COMMON}/include/		\
15*c3aaabafSHeiko 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
276fba6e04STony XieRK_GIC_SOURCES		:=	drivers/arm/gic/common/gic_common.c	\
28b38c6f6bSDerek Basehore				drivers/arm/gic/v3/arm_gicv3_common.c	\
29b38c6f6bSDerek Basehore				drivers/arm/gic/v3/gic500.c		\
306fba6e04STony Xie				drivers/arm/gic/v3/gicv3_main.c		\
316fba6e04STony Xie				drivers/arm/gic/v3/gicv3_helpers.c	\
326fba6e04STony Xie				plat/common/plat_gicv3.c		\
336fba6e04STony Xie				${RK_PLAT}/common/rockchip_gicv3.c
346fba6e04STony Xie
353e4b8fdcSSoby MathewPLAT_BL_COMMON_SOURCES	:=	lib/xlat_tables/xlat_tables_common.c	\
363e4b8fdcSSoby Mathew				lib/xlat_tables/aarch64/xlat_tables.c	\
37a9d5a3ffSAntonio Nino Diaz				plat/common/aarch64/crash_console_helpers.S \
38bb2162f1SSoby Mathew				plat/common/plat_psci_common.c
396fba6e04STony Xie
406fba6e04STony XieBL31_SOURCES	+=	${RK_GIC_SOURCES}				\
416fba6e04STony Xie			drivers/arm/cci/cci.c				\
42b1271091SSoby Mathew			drivers/ti/uart/aarch64/16550_console.S		\
436fba6e04STony Xie			drivers/delay_timer/delay_timer.c		\
446704f425SAntonio Nino Diaz			drivers/delay_timer/generic_delay_timer.c	\
459901dcf6SCaesar Wang			drivers/gpio/gpio.c				\
466fba6e04STony Xie			lib/cpus/aarch64/cortex_a53.S			\
476fba6e04STony Xie			lib/cpus/aarch64/cortex_a72.S			\
487029e806SHeiko Stuebner			$(LIBFDT_SRCS)					\
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		\
52*c3aaabafSHeiko 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			\
58c76631c5SZiyuan Xu			${RK_PLAT_SOC}/drivers/dp/cdn_dp.c		\
599901dcf6SCaesar Wang			${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c	\
606fba6e04STony Xie			${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
618382e17cSCaesar Wang			${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c		\
62977001aaSXing Zheng			${RK_PLAT_SOC}/drivers/pmu/m0_ctl.c		\
635d3b1067SCaesar Wang			${RK_PLAT_SOC}/drivers/pwm/pwm.c		\
64e3525114SXing Zheng			${RK_PLAT_SOC}/drivers/secure/secure.c		\
65fe877779SCaesar Wang			${RK_PLAT_SOC}/drivers/soc/soc.c		\
66613038bcSCaesar Wang			${RK_PLAT_SOC}/drivers/dram/dfs.c		\
67fe877779SCaesar Wang			${RK_PLAT_SOC}/drivers/dram/dram.c		\
68e82f5082SDerek Basehore			${RK_PLAT_SOC}/drivers/dram/dram_spec_timing.c	\
69e82f5082SDerek Basehore			${RK_PLAT_SOC}/drivers/dram/suspend.c
706fba6e04STony Xie
71890abc33SJulius WernerMULTI_CONSOLE_API	:=	1
72ec693569SCaesar Wang
733c250b9aSJulius Wernerinclude lib/coreboot/coreboot.mk
743c250b9aSJulius Werner
75ec693569SCaesar Wang$(eval $(call add_define,PLAT_EXTRA_LD_SCRIPT))
768382e17cSCaesar Wang
77dea1e8eeSCaesar Wang# Enable workarounds for selected Cortex-A53 erratas.
78dea1e8eeSCaesar WangERRATA_A53_855873	:=	1
79dea1e8eeSCaesar Wang
808382e17cSCaesar Wang# M0 source build
818382e17cSCaesar WangPLAT_M0                 :=      ${PLAT}m0
82e77ade28SJulius WernerBUILD_M0		:=	${BUILD_PLAT}/m0
838382e17cSCaesar Wang
84e77ade28SJulius WernerRK3399M0FW=${BUILD_M0}/${PLAT_M0}.bin
858382e17cSCaesar Wang$(eval $(call add_define,RK3399M0FW))
868382e17cSCaesar Wang
87ff4735cfSLin HuangRK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin
88ff4735cfSLin Huang$(eval $(call add_define,RK3399M0PMUFW))
89ff4735cfSLin Huang
90c76631c5SZiyuan XuHDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin
91c76631c5SZiyuan Xu$(eval $(call add_define,HDCPFW))
92c76631c5SZiyuan Xu
938382e17cSCaesar Wang# CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin
948382e17cSCaesar Wangexport CCACHE_EXTRAFILES
95ff4735cfSLin Huang${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW)
968382e17cSCaesar Wang${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c: $(RK3399M0FW)
978382e17cSCaesar Wang
98c76631c5SZiyuan Xu${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW)
99c76631c5SZiyuan Xu${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW)
100c76631c5SZiyuan Xu
1018012cc5cSMasahiro Yamada$(eval $(call MAKE_PREREQ_DIR,${BUILD_M0},${BUILD_PLAT}))
1028382e17cSCaesar Wang.PHONY: $(RK3399M0FW)
103e77ade28SJulius Werner$(RK3399M0FW): | ${BUILD_M0}
104e77ade28SJulius Werner	$(MAKE) -C ${RK_PLAT_SOC}/drivers/m0 BUILD=$(abspath ${BUILD_PLAT}/m0)
1053872fc2dSDavid Cunado
1063872fc2dSDavid Cunado# Do not enable SVE
1073872fc2dSDavid CunadoENABLE_SVE_FOR_NS	:=	0
108