1#
2# Arm SCP/MCP Software
3# Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
4#
5# SPDX-License-Identifier: BSD-3-Clause
6#
7
8set(SCP_FIRMWARE "juno-bl2")
9set(SCP_FIRMWARE_TARGET "juno-bl2")
10
11set(SCP_TOOLCHAIN_INIT "GNU")
12
13set(SCP_FIRMWARE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}")
14
15set(SCP_GENERATE_FLAT_BINARY_INIT TRUE)
16
17set(SCP_ARCHITECTURE "arm-m")
18
19set(SCP_ENABLE_NOTIFICATIONS_INIT TRUE)
20
21set(SCP_ENABLE_SCMI_NOTIFICATIONS_INIT FALSE)
22
23set(SCP_ENABLE_SCMI_PERF_FAST_CHANNELS_INIT FALSE)
24
25set(SCP_ENABLE_RESOURCE_PERMISSIONS_INIT FALSE)
26
27set(SCP_ENABLE_DEBUG_UNIT_INIT FALSE)
28
29set(SCP_ENABLE_SCMI_RESET_INIT FALSE)
30
31set(SCP_ENABLE_STATISTICS_INIT FALSE)
32
33set(SCP_ENABLE_IPO_INIT FALSE)
34
35set(SCP_ENABLE_PMI_INIT FALSE)
36
37set(SCP_PLATFORM_VARIANT_INIT "BOARD")
38
39set(SCP_ENABLE_OUTBAND_MSG_SUPPORT_INIT TRUE)
40
41#
42# If SCP_PLATFORM_VARIANT hasn't been set yet, it will be set to the default
43# value (BOARD)
44#
45
46set(SCP_PLATFORM_VARIANT ${SCP_PLATFORM_VARIANT_INIT} CACHE STRING
47    "Platform variant for the build")
48
49list(PREPEND SCP_MODULE_PATHS
50     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_reset_domain")
51list(PREPEND SCP_MODULE_PATHS
52     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_cdcel937")
53list(PREPEND SCP_MODULE_PATHS "${CMAKE_CURRENT_LIST_DIR}/../module/juno_rom")
54list(PREPEND SCP_MODULE_PATHS "${CMAKE_CURRENT_LIST_DIR}/../module/juno_ppu")
55list(PREPEND SCP_MODULE_PATHS
56     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_soc_clock_ram")
57list(PREPEND SCP_MODULE_PATHS
58     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_soc_clock")
59list(PREPEND SCP_MODULE_PATHS
60     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_thermal")
61list(PREPEND SCP_MODULE_PATHS "${CMAKE_CURRENT_LIST_DIR}/../module/juno_ram")
62list(PREPEND SCP_MODULE_PATHS
63     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_ddr_phy400")
64list(PREPEND SCP_MODULE_PATHS
65     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_dmc400")
66list(PREPEND SCP_MODULE_PATHS
67     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_debug")
68list(PREPEND SCP_MODULE_PATHS
69     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_system")
70list(PREPEND SCP_MODULE_PATHS
71     "${CMAKE_CURRENT_LIST_DIR}/../module/juno_hdlcd")
72list(PREPEND SCP_MODULE_PATHS
73     "${CMAKE_SOURCE_DIR}/module/dwt_pmi")
74list(PREPEND SCP_MODULE_PATHS
75     "${CMAKE_SOURCE_DIR}/module/pmi")
76
77# The order of the modules in the following list is the order in which the
78# modules are initialized, bound, started during the pre-runtime phase.
79# any change in the order will cause firmware initialization errors.
80
81list(APPEND SCP_MODULES "pl011")
82list(APPEND SCP_MODULES "juno-soc-clock-ram")
83list(APPEND SCP_MODULES "juno-ppu")
84list(APPEND SCP_MODULES "system-power")
85list(APPEND SCP_MODULES "power-domain")
86list(APPEND SCP_MODULES "clock")
87list(APPEND SCP_MODULES "juno-cdcel937")
88list(APPEND SCP_MODULES "juno-hdlcd")
89list(APPEND SCP_MODULES "dvfs")
90list(APPEND SCP_MODULES "gtimer")
91list(APPEND SCP_MODULES "timer")
92list(APPEND SCP_MODULES "juno-ddr-phy400")
93list(APPEND SCP_MODULES "juno-dmc400")
94list(APPEND SCP_MODULES "juno-ram")
95list(APPEND SCP_MODULES "juno-system")
96list(APPEND SCP_MODULES "mhu")
97list(APPEND SCP_MODULES "transport")
98list(APPEND SCP_MODULES "scmi")
99list(APPEND SCP_MODULES "scmi-clock")
100list(APPEND SCP_MODULES "scmi-perf")
101list(APPEND SCP_MODULES "scmi-power-domain")
102list(APPEND SCP_MODULES "sensor")
103list(APPEND SCP_MODULES "scmi-sensor")
104list(APPEND SCP_MODULES "scmi-system-power")
105list(APPEND SCP_MODULES "sds")
106list(APPEND SCP_MODULES "i2c")
107list(APPEND SCP_MODULES "dw-apb-i2c")
108list(APPEND SCP_MODULES "reg-sensor")
109list(APPEND SCP_MODULES "psu")
110list(APPEND SCP_MODULES "juno-thermal")
111
112if (SCP_PLATFORM_VARIANT STREQUAL "BOARD")
113    list(APPEND SCP_MODULES "juno-xrp7724")
114    list(PREPEND SCP_MODULE_PATHS
115        "${CMAKE_CURRENT_LIST_DIR}/../module/juno_xrp7724")
116
117    list(APPEND SCP_MODULES "juno-pvt")
118    list(PREPEND SCP_MODULE_PATHS
119        "${CMAKE_CURRENT_LIST_DIR}/../module/juno_pvt")
120
121    list(APPEND SCP_MODULES "juno-adc")
122    list(PREPEND SCP_MODULE_PATHS
123         "${CMAKE_CURRENT_LIST_DIR}/../module/juno_adc")
124
125elseif (SCP_PLATFORM_VARIANT STREQUAL "FVP")
126    list(APPEND SCP_MODULES "mock-clock")
127    list(APPEND SCP_MODULES "mock-psu")
128endif()
129