firmware: qcom_scm: Add changes for tsens reinit
Add scm call support to reinitialize tsens. Change-Id: I52c2048cdc6ff1c078b9e6610eea6522221ec96b Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/* Copyright (c) 2015,2019 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2015,2020 The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
@@ -1870,6 +1870,21 @@ int __qcom_scm_camera_protect_phy_lanes(struct device *dev, bool protect,
|
||||
return qcom_scm_call(dev, &desc);
|
||||
}
|
||||
|
||||
int __qcom_scm_tsens_reinit(struct device *dev, int *tsens_ret)
|
||||
{
|
||||
unsigned int ret;
|
||||
struct qcom_scm_desc desc = {
|
||||
.svc = QCOM_SCM_SVC_TSENS,
|
||||
.cmd = QCOM_SCM_TSENS_INIT_ID,
|
||||
};
|
||||
|
||||
ret = qcom_scm_call(dev, &desc);
|
||||
if (tsens_ret)
|
||||
*tsens_ret = desc.res[0];
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int __qcom_scm_ice_restore_cfg(struct device *dev)
|
||||
{
|
||||
struct qcom_scm_desc desc = {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/* Copyright (c) 2010,2015,2019 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2010,2015,2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (C) 2015 Linaro Ltd.
|
||||
*/
|
||||
#include <linux/platform_device.h>
|
||||
@@ -915,6 +915,12 @@ int qcom_scm_camera_protect_phy_lanes(bool protect, u64 regmask)
|
||||
}
|
||||
EXPORT_SYMBOL(qcom_scm_camera_protect_phy_lanes);
|
||||
|
||||
int qcom_scm_tsens_reinit(int *tsens_ret)
|
||||
{
|
||||
return __qcom_scm_tsens_reinit(__scm->dev, tsens_ret);
|
||||
}
|
||||
EXPORT_SYMBOL(qcom_scm_tsens_reinit);
|
||||
|
||||
int qcom_scm_ice_restore_cfg(void)
|
||||
{
|
||||
return __qcom_scm_ice_restore_cfg(__scm->dev);
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* Copyright (c) 2010-2015,2019 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2010-2015,2020 The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
#ifndef __QCOM_SCM_INT_H
|
||||
#define __QCOM_SCM_INT_H
|
||||
@@ -228,6 +228,10 @@ extern int __qcom_scm_camera_protect_phy_lanes(struct device *dev,
|
||||
extern int __qcom_scm_qseecom_do(struct device *dev, u32 cmd_id,
|
||||
struct scm_desc *desc, bool retry);
|
||||
|
||||
#define QCOM_SCM_SVC_TSENS 0x1E
|
||||
#define QCOM_SCM_TSENS_INIT_ID 0x5
|
||||
extern int __qcom_scm_tsens_reinit(struct device *dev, int *tsens_ret);
|
||||
|
||||
// TOS Services and Function IDs
|
||||
#define QCOM_SCM_SVC_QSEELOG 0x01
|
||||
#define QCOM_SCM_QSEELOG_REGISTER 0x06
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* Copyright (c) 2010-2015, 2018-2019 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2010-2015, 2018-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (C) 2015 Linaro Ltd.
|
||||
*/
|
||||
#ifndef __QCOM_SCM_H
|
||||
@@ -179,6 +179,7 @@ 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_tsens_reinit(int *tsens_ret);
|
||||
extern int qcom_scm_ice_restore_cfg(void);
|
||||
extern int qcom_scm_get_tz_log_feat_id(u64 *version);
|
||||
extern int qcom_scm_register_qsee_log_buf(phys_addr_t buf, size_t len);
|
||||
@@ -336,6 +337,8 @@ 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_tsens_reinit(int *tsens_ret)
|
||||
{ return -ENODEV; }
|
||||
static inline int qcom_scm_ice_restore_cfg(void) { return -ENODEV; }
|
||||
static inline int qcom_scm_get_tz_log_feat_id(u64 *version)
|
||||
{ return -ENODEV; }
|
||||
|
Reference in New Issue
Block a user