Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7effb8fd authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "arm64: defconfig: Enable TSENS driver for lahaina"

parents 6e107621 e03586f9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -38,3 +38,6 @@ CONFIG_MHI_BUS=y
CONFIG_MHI_DEBUG=y
CONFIG_MHI_UCI=y
CONFIG_ARM_QCOM_CPUFREQ_HW=y
CONFIG_THERMAL_TSENS=y
# CONFIG_USB_F_FS_IPC_LOGGING is not set
# CONFIG_MSM_JTAGV8 is not set
+16 −1
Original line number Diff line number Diff line
// 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 = {
+7 −1
Original line number Diff line number Diff line
// 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);
+5 −1
Original line number Diff line number Diff line
/* 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
+4 −1
Original line number Diff line number Diff line
/* 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; }