162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciscmi-bus-y = bus.o
362306a36Sopenharmony_ciscmi-core-objs := $(scmi-bus-y)
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciscmi-driver-y = driver.o notify.o
662306a36Sopenharmony_ciscmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
762306a36Sopenharmony_ciscmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
862306a36Sopenharmony_ciscmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_MAILBOX) += mailbox.o
962306a36Sopenharmony_ciscmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_SMC) += smc.o
1062306a36Sopenharmony_ciscmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
1162306a36Sopenharmony_ciscmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_VIRTIO) += virtio.o
1262306a36Sopenharmony_ciscmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_OPTEE) += optee.o
1362306a36Sopenharmony_ciscmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o
1462306a36Sopenharmony_ciscmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciobj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-core.o
1762306a36Sopenharmony_ciobj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-module.o
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciobj-$(CONFIG_ARM_SCMI_POWER_DOMAIN) += scmi_pm_domain.o
2062306a36Sopenharmony_ciobj-$(CONFIG_ARM_SCMI_POWER_CONTROL) += scmi_power_control.o
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciifeq ($(CONFIG_THUMB2_KERNEL)$(CONFIG_CC_IS_CLANG),yy)
2362306a36Sopenharmony_ci# The use of R7 in the SMCCC conflicts with the compiler's use of R7 as a frame
2462306a36Sopenharmony_ci# pointer in Thumb2 mode, which is forcibly enabled by Clang when profiling
2562306a36Sopenharmony_ci# hooks are inserted via the -pg switch.
2662306a36Sopenharmony_ciCFLAGS_REMOVE_smc.o += $(CC_FLAGS_FTRACE)
2762306a36Sopenharmony_ciendif
28