Merge "soc: qcom: SCM front-end over QCPE"
This commit is contained in:
commit
38c7257a21
5 changed files with 1145 additions and 2 deletions
|
@ -7,6 +7,7 @@ obj-$(CONFIG_MACH_DOVE) += dove/
|
||||||
obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/
|
obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/
|
||||||
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
||||||
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
|
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
|
||||||
|
obj-$(CONFIG_QCOM_SCM_QCPE) += qcom/
|
||||||
obj-$(CONFIG_ARCH_SUNXI) += sunxi/
|
obj-$(CONFIG_ARCH_SUNXI) += sunxi/
|
||||||
obj-$(CONFIG_ARCH_TEGRA) += tegra/
|
obj-$(CONFIG_ARCH_TEGRA) += tegra/
|
||||||
obj-$(CONFIG_SOC_TI) += ti/
|
obj-$(CONFIG_SOC_TI) += ti/
|
||||||
|
|
|
@ -379,6 +379,10 @@ config QCOM_SCM
|
||||||
bool "Secure Channel Manager (SCM) support"
|
bool "Secure Channel Manager (SCM) support"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
config QCOM_SCM_QCPE
|
||||||
|
bool "Para-Virtualized Secure Channel Manager (SCM) support over QCPE"
|
||||||
|
default n
|
||||||
|
|
||||||
menuconfig QCOM_SCM_XPU
|
menuconfig QCOM_SCM_XPU
|
||||||
bool "Qualcomm XPU configuration driver"
|
bool "Qualcomm XPU configuration driver"
|
||||||
depends on QCOM_SCM
|
depends on QCOM_SCM
|
||||||
|
|
|
@ -62,6 +62,7 @@ CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
|
||||||
|
|
||||||
obj-$(CONFIG_QCOM_SCM_ERRATA) += scm-errata.o
|
obj-$(CONFIG_QCOM_SCM_ERRATA) += scm-errata.o
|
||||||
obj-$(CONFIG_QCOM_SCM) += scm.o scm-boot.o
|
obj-$(CONFIG_QCOM_SCM) += scm.o scm-boot.o
|
||||||
|
obj-$(CONFIG_QCOM_SCM_QCPE) += scm_qcpe.o
|
||||||
obj-$(CONFIG_QCOM_SCM_XPU) += scm-xpu.o
|
obj-$(CONFIG_QCOM_SCM_XPU) += scm-xpu.o
|
||||||
obj-$(CONFIG_QCOM_WATCHDOG_V2) += watchdog_v2.o
|
obj-$(CONFIG_QCOM_WATCHDOG_V2) += watchdog_v2.o
|
||||||
obj-$(CONFIG_QCOM_MEMORY_DUMP) += memory_dump.o
|
obj-$(CONFIG_QCOM_MEMORY_DUMP) += memory_dump.o
|
||||||
|
|
1137
drivers/soc/qcom/scm_qcpe.c
Normal file
1137
drivers/soc/qcom/scm_qcpe.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -95,7 +95,7 @@ struct scm_desc {
|
||||||
u64 x5;
|
u64 x5;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_QCOM_SCM
|
#if defined(CONFIG_QCOM_SCM) || defined(CONFIG_QCOM_SCM_QCPE)
|
||||||
extern int scm_call(u32 svc_id, u32 cmd_id, const void *cmd_buf, size_t cmd_len,
|
extern int scm_call(u32 svc_id, u32 cmd_id, const void *cmd_buf, size_t cmd_len,
|
||||||
void *resp_buf, size_t resp_len);
|
void *resp_buf, size_t resp_len);
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ static inline int scm_io_write(phys_addr_t address, u32 val)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool scm_is_secure_device(void)
|
static inline bool scm_is_secure_device(void)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue