xref: /rk3399_ARM-atf/plat/rockchip/rk3588/platform.mk (revision bded41d9e49065f831b8f968cc646f5b860a23f8)
1e3ec6ff4SXiaoDong Huang#
2e3ec6ff4SXiaoDong Huang# Copyright (c) 2024, Rockchip, Inc. All rights reserved.
3e3ec6ff4SXiaoDong Huang#
4e3ec6ff4SXiaoDong Huang# SPDX-License-Identifier: BSD-3-Clause
5e3ec6ff4SXiaoDong Huang#
6e3ec6ff4SXiaoDong Huang
7e3ec6ff4SXiaoDong HuangRK_PLAT			:=	plat/rockchip
8e3ec6ff4SXiaoDong HuangRK_PLAT_SOC		:=	${RK_PLAT}/${PLAT}
9e3ec6ff4SXiaoDong HuangRK_PLAT_COMMON		:=	${RK_PLAT}/common
10e3ec6ff4SXiaoDong Huang
11e3ec6ff4SXiaoDong HuangDISABLE_BIN_GENERATION	:=	1
12e3ec6ff4SXiaoDong Huanginclude lib/libfdt/libfdt.mk
13e3ec6ff4SXiaoDong Huanginclude lib/xlat_tables_v2/xlat_tables.mk
14e3ec6ff4SXiaoDong Huang
15e3ec6ff4SXiaoDong Huang# GIC-600 configuration
16e3ec6ff4SXiaoDong HuangGICV3_IMPL		:=	GIC600
17e3ec6ff4SXiaoDong HuangGICV3_SUPPORT_GIC600   	:=      1
18e3ec6ff4SXiaoDong Huang
19e3ec6ff4SXiaoDong Huang# Include GICv3 driver files
20e3ec6ff4SXiaoDong Huanginclude drivers/arm/gic/v3/gicv3.mk
21e3ec6ff4SXiaoDong Huang
22e3ec6ff4SXiaoDong HuangPLAT_INCLUDES		:=	-Iinclude/plat/common				\
23e3ec6ff4SXiaoDong Huang				-Idrivers/arm/gic/v3/				\
2404150feeSXiaoDong Huang				-Idrivers/scmi-msg/				\
25e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_COMMON}/				\
26e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_COMMON}/drivers/pmu/		\
27e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_COMMON}/drivers/parameter/		\
28e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_COMMON}/include/			\
29e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_COMMON}/pmusram/			\
3004150feeSXiaoDong Huang				-I${RK_PLAT_COMMON}/scmi/			\
31e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_SOC}/				\
32e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_SOC}/drivers/pmu/			\
3304150feeSXiaoDong Huang				-I${RK_PLAT_SOC}/drivers/scmi/			\
34e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_SOC}/drivers/secure/		\
35e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_SOC}/drivers/soc/			\
36e3ec6ff4SXiaoDong Huang				-I${RK_PLAT_SOC}/include/
37e3ec6ff4SXiaoDong Huang
38e3ec6ff4SXiaoDong HuangRK_GIC_SOURCES		:=	${GICV3_SOURCES}				\
39e3ec6ff4SXiaoDong Huang				plat/common/plat_gicv3.c			\
40e3ec6ff4SXiaoDong Huang				${RK_PLAT}/common/rockchip_gicv3.c
41e3ec6ff4SXiaoDong Huang
42e3ec6ff4SXiaoDong HuangPLAT_BL_COMMON_SOURCES	:=	${XLAT_TABLES_LIB_SRCS}				\
43e3ec6ff4SXiaoDong Huang				common/desc_image_load.c			\
44e3ec6ff4SXiaoDong Huang				plat/common/aarch64/crash_console_helpers.S	\
45e3ec6ff4SXiaoDong Huang				lib/bl_aux_params/bl_aux_params.c		\
46e3ec6ff4SXiaoDong Huang				plat/common/plat_psci_common.c
47e3ec6ff4SXiaoDong Huang
48e3ec6ff4SXiaoDong Huangifneq (${ENABLE_STACK_PROTECTOR},0)
49e3ec6ff4SXiaoDong HuangPLAT_BL_COMMON_SOURCES	+=	${RK_PLAT_COMMON}/rockchip_stack_protector.c
50e3ec6ff4SXiaoDong Huangendif
51e3ec6ff4SXiaoDong Huang
52e3ec6ff4SXiaoDong HuangBL31_SOURCES		+=	${RK_GIC_SOURCES}				\
53e3ec6ff4SXiaoDong Huang				drivers/ti/uart/aarch64/16550_console.S		\
54e3ec6ff4SXiaoDong Huang				drivers/delay_timer/delay_timer.c		\
55e3ec6ff4SXiaoDong Huang				drivers/delay_timer/generic_delay_timer.c	\
5604150feeSXiaoDong Huang				drivers/scmi-msg/base.c				\
5704150feeSXiaoDong Huang				drivers/scmi-msg/clock.c			\
5804150feeSXiaoDong Huang				drivers/scmi-msg/entry.c			\
5904150feeSXiaoDong Huang				drivers/scmi-msg/reset_domain.c			\
6004150feeSXiaoDong Huang				drivers/scmi-msg/smt.c				\
61e3ec6ff4SXiaoDong Huang				lib/cpus/aarch64/cortex_a55.S			\
62e3ec6ff4SXiaoDong Huang				lib/cpus/aarch64/cortex_a76.S			\
63e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/aarch64/plat_helpers.S	\
64e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/aarch64/platform_common.c	\
65e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/bl31_plat_setup.c		\
66e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/plat_pm.c			\
67e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/plat_pm_helpers.c		\
68e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/plat_topology.c		\
69e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/params_setup.c                \
70e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/pmusram/cpus_on_fixed_addr.S	\
71e3ec6ff4SXiaoDong Huang				${RK_PLAT_COMMON}/rockchip_sip_svc.c		\
7204150feeSXiaoDong Huang				${RK_PLAT_COMMON}/scmi/scmi.c			\
7304150feeSXiaoDong Huang				${RK_PLAT_COMMON}/scmi/scmi_clock.c		\
7404150feeSXiaoDong Huang				${RK_PLAT_COMMON}/scmi/scmi_rstd.c		\
75e3ec6ff4SXiaoDong Huang				${RK_PLAT_SOC}/plat_sip_calls.c         	\
76e3ec6ff4SXiaoDong Huang				${RK_PLAT_SOC}/drivers/secure/secure.c		\
77e3ec6ff4SXiaoDong Huang				${RK_PLAT_SOC}/drivers/soc/soc.c		\
78e3ec6ff4SXiaoDong Huang				${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
7904150feeSXiaoDong Huang				${RK_PLAT_SOC}/drivers/pmu/pm_pd_regs.c		\
8004150feeSXiaoDong Huang				${RK_PLAT_SOC}/drivers/scmi/rk3588_clk.c	\
8104150feeSXiaoDong Huang				${RK_PLAT_SOC}/drivers/scmi/rk3588_rstd.c
82e3ec6ff4SXiaoDong Huang
83e3ec6ff4SXiaoDong HuangCTX_INCLUDE_AARCH32_REGS :=     0
84e3ec6ff4SXiaoDong HuangENABLE_PLAT_COMPAT	:=	0
85e3ec6ff4SXiaoDong HuangMULTI_CONSOLE_API	:=	1
86e3ec6ff4SXiaoDong HuangERRATA_A55_1530923	:=	1
87e3ec6ff4SXiaoDong Huang
88e3ec6ff4SXiaoDong Huang# System coherency is managed in hardware
89e3ec6ff4SXiaoDong HuangHW_ASSISTED_COHERENCY	:=	1
90e3ec6ff4SXiaoDong Huang
91e3ec6ff4SXiaoDong Huang# When building for systems with hardware-assisted coherency, there's no need to
92e3ec6ff4SXiaoDong Huang# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too.
93e3ec6ff4SXiaoDong HuangUSE_COHERENT_MEM	:=	0
94e3ec6ff4SXiaoDong Huang
95e3ec6ff4SXiaoDong HuangENABLE_SPE_FOR_LOWER_ELS	:= 0
96e3ec6ff4SXiaoDong Huang
97*5be66449SBoyan KaratotevPLAT_EXTRA_LD_SCRIPT	:=	1
98b833bbe6SXiaoDong Huang$(eval $(call add_define,PLAT_RK_CPU_RESET_EARLY))
99