Loading arch/arm64/configs/vendor/lahaina_debug.config +3 −0 Original line number Diff line number Diff line Loading @@ -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 drivers/firmware/qcom_scm-smc.c +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> Loading Loading @@ -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 = { Loading drivers/firmware/qcom_scm.c +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> Loading Loading @@ -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); Loading drivers/firmware/qcom_scm.h +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 Loading Loading @@ -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 Loading include/linux/qcom_scm.h +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 Loading Loading @@ -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); Loading Loading @@ -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; } Loading Loading
arch/arm64/configs/vendor/lahaina_debug.config +3 −0 Original line number Diff line number Diff line Loading @@ -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
drivers/firmware/qcom_scm-smc.c +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> Loading Loading @@ -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 = { Loading
drivers/firmware/qcom_scm.c +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> Loading Loading @@ -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); Loading
drivers/firmware/qcom_scm.h +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 Loading Loading @@ -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 Loading
include/linux/qcom_scm.h +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 Loading Loading @@ -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); Loading Loading @@ -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; } Loading