firmware: qcom_scm: Add calls for seccam
Add calls to the SCM driver for seccam driver. Change-Id: I0468057945ab8c84ea6c608fdb194093422a2c3e Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org> Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This commit is contained in:

committed by
Elliot Berman

parent
3364df41fa
commit
23a99bc7bc
@@ -1739,6 +1739,22 @@ int __qcom_scm_qdss_invoke(struct device *dev, phys_addr_t addr, size_t size,
|
||||
return ret ? : desc.res[0];
|
||||
}
|
||||
|
||||
int __qcom_scm_camera_protect_all(struct device *dev, uint32_t protect,
|
||||
uint32_t param)
|
||||
{
|
||||
struct qcom_scm_desc desc = {
|
||||
.svc = QCOM_SCM_SVC_CAMERA,
|
||||
.cmd = QCOM_SCM_CAMERA_PROTECT_ALL,
|
||||
.owner = ARM_SMCCC_OWNER_SIP
|
||||
};
|
||||
|
||||
desc.args[0] = protect;
|
||||
desc.args[1] = param;
|
||||
desc.arginfo = QCOM_SCM_ARGS(2, QCOM_SCM_VAL, QCOM_SCM_VAL);
|
||||
|
||||
return qcom_scm_call(dev, &desc);
|
||||
}
|
||||
|
||||
int __qcom_scm_camera_protect_phy_lanes(struct device *dev, bool protect,
|
||||
u64 regmask)
|
||||
{
|
||||
|
@@ -834,6 +834,12 @@ int qcom_scm_qdss_invoke(phys_addr_t paddr, size_t size, u64 *out)
|
||||
}
|
||||
EXPORT_SYMBOL(qcom_scm_qdss_invoke);
|
||||
|
||||
int qcom_scm_camera_protect_all(uint32_t protect, uint32_t param)
|
||||
{
|
||||
return __qcom_scm_camera_protect_all(__scm->dev, protect, param);
|
||||
}
|
||||
EXPORT_SYMBOL(qcom_scm_camera_protect_all);
|
||||
|
||||
int qcom_scm_camera_protect_phy_lanes(bool protect, u64 regmask)
|
||||
{
|
||||
return __qcom_scm_camera_protect_phy_lanes(__scm->dev, protect,
|
||||
|
@@ -208,7 +208,10 @@ extern int __qcom_scm_qdss_invoke(struct device *dev, phys_addr_t addr,
|
||||
size_t size, u64 *out);
|
||||
|
||||
#define QCOM_SCM_SVC_CAMERA 0x18
|
||||
#define QCOM_SCM_CAMERA_PROTECT_ALL 0x06
|
||||
#define QCOM_SCM_CAMERA_PROTECT_PHY_LANES 0x07
|
||||
extern int __qcom_scm_camera_protect_all(struct device *dev, uint32_t protect,
|
||||
uint32_t param);
|
||||
extern int __qcom_scm_camera_protect_phy_lanes(struct device *dev,
|
||||
bool protect, u64 regmask);
|
||||
|
||||
|
@@ -164,6 +164,7 @@ extern int qcom_scm_smmu_change_pgtbl_format(u64 dev_id, int cbndx);
|
||||
extern int qcom_scm_qsmmu500_wait_safe_toggle(bool en);
|
||||
extern int qcom_scm_smmu_notify_secure_lut(u64 dev_id, bool secure);
|
||||
extern int qcom_scm_qdss_invoke(phys_addr_t addr, size_t size, u64 *out);
|
||||
extern int qcom_scm_camera_protect_all(uint32_t protect, uint32_t param);
|
||||
extern int qcom_scm_camera_protect_phy_lanes(bool protect, u64 regmask);
|
||||
extern int qcom_scm_ice_restore_cfg(void);
|
||||
extern int qcom_scm_get_tz_log_feat_id(u64 *version);
|
||||
@@ -311,6 +312,8 @@ static inline int qcom_scm_smmu_notify_secure_lut(u64 dev_id, bool secure)
|
||||
{ return -EINVAL; }
|
||||
static inline int qcom_scm_qdss_invoke(phys_addr_t data, size_t size, u64 *out)
|
||||
{ return -EINVAL; }
|
||||
static inline int qcom_scm_camera_protect_all(uint32_t protect, uint32_t param)
|
||||
{ return -ENODEV; }
|
||||
static inline int qcom_scm_camera_protect_phy_lanes(bool protect, u64 regmask)
|
||||
{ return -EINVAL; }
|
||||
static inline int qcom_scm_ice_restore_cfg(void) { return -ENODEV; }
|
||||
|
Reference in New Issue
Block a user