soc: qcom: add secure processor subsystem (spss) utils driver

The spss-util driver provides utilities required for the Secure
Processor Subsystem (SPSS). It provides the fuse state for key selection
and the SPSS HW version.

Add snapshot for spss-util driver from msm-4.19 commit a7793b40172f
("soc: qcom: spss_utils: fix spss SSR when IAR not active").

Change-Id: I6531cae56cec9d062fa03c573bcd70207d10f1a2
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
This commit is contained in:
Konstantin Dorfman 2019-09-25 14:21:33 +03:00
commit d50cfdc312
4 changed files with 1104 additions and 0 deletions

View file

@ -44,6 +44,17 @@ config QCOM_GLINK_SSR
implements the SSR protocol for notifying the remote processor about
neighboring subsystems going up or down.
config MSM_SPSS_UTILS
depends on MSM_PIL
bool "Secure Processor Utilities"
help
spss-utils driver selects Secure Processor firmware file name.name
The firmware file name for dev, test or production is selected
based on two fuses.fuses
Different file name is used for differnt SPSS HW versions,versions
because the SPSS firmware size is too small to support multiple
HW versions.
config QCOM_GSBI
tristate "QCOM General Serial Bus Interface"
depends on ARCH_QCOM || COMPILE_TEST

View file

@ -50,5 +50,6 @@ obj-$(CONFIG_QCOM_GLINK) += glink_probe.o
obj-$(CONFIG_MSM_GLINK_SSR) += msm_glink_ssr.o
obj-$(CONFIG_QTI_DDR_STATS_LOG) += ddr_stats.o
obj-$(CONFIG_QTI_SYSTEM_PM) += system_pm.o
obj-$(CONFIG_MSM_SPSS_UTILS) += spss_utils.o
obj-$(CONFIG_MSM_IDLE_STATS) += lpm-stats.o
obj-$(CONFIG_QTI_RPM_STATS_LOG) += rpmh_master_stat.o

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,30 @@
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
/*
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*/
#ifndef _UAPI_SPSS_UTILS_H_
#define _UAPI_SPSS_UTILS_H_
#include <linux/types.h> /* uint32_t, bool */
#include <linux/ioctl.h> /* ioctl() */
/**
* @brief - Secure Processor Utilities interface to user space
*
* The kernel spss_utils driver interface to user space via IOCTL
* and SYSFS (device attributes).
*/
#define SPSS_IOC_MAGIC 'S'
#define NUM_SPU_UEFI_APPS 3
struct spss_ioc_set_fw_cmac {
uint32_t cmac[4];
uint32_t app_cmacs[NUM_SPU_UEFI_APPS][4];
} __packed;
#define SPSS_IOC_SET_FW_CMAC \
_IOWR(SPSS_IOC_MAGIC, 1, struct spss_ioc_set_fw_cmac)
#endif /* _UAPI_SPSS_UTILS_H_ */