Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp8015794rwp; Wed, 19 Jul 2023 04:06:52 -0700 (PDT) X-Google-Smtp-Source: APBJJlExPznGy7n2NCZy58AYpVsH0vWy/2IPCbWj0uCz7BTtrHD1Cyuh7q5PtlubbBj8B3h5iZ69 X-Received: by 2002:a17:907:3f28:b0:991:d9cb:247d with SMTP id hq40-20020a1709073f2800b00991d9cb247dmr2293827ejc.57.1689764812161; Wed, 19 Jul 2023 04:06:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689764812; cv=none; d=google.com; s=arc-20160816; b=mF38tJdaob75GTpFzHHi/a7eaVtRA9NlL7CtqTXs1YRYjbxZYdTVP576dIfjNYT6Lt hZtZmuNJJIVZZNc3DvdwPRRYu6iuVoRyHfbJhHPd1eQdzNXQp8QizE7UJ442skiCDtCC 9jIjZ5PrHhUI9GDKvZBP4ObcdJo7epr7az8zap1NM/+mvGI/dhb7P9TKTk8RqXaGxyfH sYRnUkHJVGQb3fjfuK6SAkQ5qZ5YSwbHmBERqOpCSaOsnpesMOazEKdqI4GVANAPu5BT fDIqRLlRH9M+IbnGnE+yd7j7uWpBbs4I0/V4NLtlrMQ968+6iiN+pqfEhIyMUDdnVgre MCAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=x60G42eNuF7nFXzByj4TtMv/iTknPmrm9366a01EIp8=; fh=X4rJ+cR0B+d5Oa7pFIBp3MHYxg8a+8b0Sx0w3zuICOE=; b=pk1uG9gxmmCVGiGhn/4fV7dnrrXM1Pmyx+ZemIowrGyaD5DPqq/rp6ZBbyDQRtj3pm Kw8wjjVTjVqePjFg2L2E9aMG/m6TY2nFLKDP47OwBxAa14xIh6CpyGFHIaanIjlKQdup wIZj97XFNJ8+o+1PL2aPcZ/nmfUdMWp/QV3C7cWgUJyV3RVF/x5tXSZtphtTaSL3yZ4U Zp5H2+NReSO2xJ+ZpfTv9PaNhNy1fI9Gd3Pd0FdI+1YOMJ2u5+/NpWAe5WiVGK+6FgZi 5NOoHsUt+YHdaU20vmVuG9Xer9tyRxkXCjfj6McF1CR6oqh1himWtqy20bn6sJtGBnuH OAAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=RLVWXWBT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by26-20020a170906a2da00b00993150ec3c4si2640756ejb.970.2023.07.19.04.06.24; Wed, 19 Jul 2023 04:06:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=RLVWXWBT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231438AbjGSKm0 (ORCPT + 99 others); Wed, 19 Jul 2023 06:42:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231384AbjGSKmW (ORCPT ); Wed, 19 Jul 2023 06:42:22 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A346211D; Wed, 19 Jul 2023 03:42:00 -0700 (PDT) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36J7X3eM014261; Wed, 19 Jul 2023 10:41:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=x60G42eNuF7nFXzByj4TtMv/iTknPmrm9366a01EIp8=; b=RLVWXWBTqgjN/ToQpp7fjyfo9D9b/2p/D1DcPgrv+s2eitAlIzaZmnN7cXow46ctcmot 2A+a65g1yHIfbC8fUaX4PRwaaX10PdyYxzLopmfjYs1d6vaVuI0yanALuHkd6WhJTEWR TlZM8dfUjZ+UFuZO0eWLg3qFhmsUF95nD+GbCs5YjsmDupSOEgoTpM+1qZjdqh1tgpA+ EzoMzKLtVwHohX61gPvVefyOiMNgXlj8TznpaHy1y7nIHOmzfdc8YuqSehJ/HGqcd2sq Nemy0ZU2QnJMW08WNVEQ+2vXpkPlAAY2lynrRkPUFpvdp2kYLbfLZsxUSy0ruIACqTm/ uQ== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rx7410thr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:54 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36JAfqse025613 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:53 GMT Received: from hu-ipkumar-blr.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Wed, 19 Jul 2023 03:41:48 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v4 5/5] thermal/drivers/tsens: Add IPQ5332 support Date: Wed, 19 Jul 2023 16:10:41 +0530 Message-ID: <20230719104041.126718-6-quic_ipkumar@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230719104041.126718-1-quic_ipkumar@quicinc.com> References: <20230719104041.126718-1-quic_ipkumar@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: UH8YYaLI35IVSqGVMDdzO_UhpFTU6in3 X-Proofpoint-ORIG-GUID: UH8YYaLI35IVSqGVMDdzO_UhpFTU6in3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-19_06,2023-07-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 mlxscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 suspectscore=0 spamscore=0 priorityscore=1501 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307190096 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org IPQ5332 uses tsens v2.3.3 IP and it is having combined interrupt. It does not have RPM and kernel needs to take care of sensor enablement, calibration. Hence introduced new feature_config, ops and data for IPQ5332. Signed-off-by: Praveenkumar I --- [v4]: No changes. [v3]: No changes. [v2]: Added tsens_features for ipq5332 with VER_2_X_NO_RPM. Used hw_ids to mention the available sensors. Dropped v2 in ops_ipq5332. drivers/thermal/qcom/tsens-v2.c | 25 +++++++++++++++++++++++++ drivers/thermal/qcom/tsens.c | 3 +++ drivers/thermal/qcom/tsens.h | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c index 3d674be2bbe4..77191f36bb03 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c @@ -68,6 +68,17 @@ static struct tsens_features ipq8074_feat = { .trip_max_temp = 204000, }; +static struct tsens_features ipq5332_feat = { + .ver_major = VER_2_X_NO_RPM, + .crit_int = 1, + .combo_int = 1, + .adc = 0, + .srot_split = 1, + .max_sensors = 16, + .trip_min_temp = 0, + .trip_max_temp = 204000, +}; + static const struct reg_field tsens_v2_regfields[MAX_REGFIELDS] = { /* ----- SROT ------ */ /* VERSION */ @@ -269,6 +280,20 @@ struct tsens_plat_data data_ipq8074 = { .fields = tsens_v2_regfields, }; +static const struct tsens_ops ops_ipq5332 = { + .init = init_tsens_v2_no_rpm, + .get_temp = get_temp_tsens_valid, + .calibrate = tsens_v2_calibration, +}; + +struct tsens_plat_data data_ipq5332 = { + .num_sensors = 5, + .ops = &ops_ipq5332, + .hw_ids = (unsigned int []){11, 12, 13, 14, 15}, + .feat = &ipq5332_feat, + .fields = tsens_v2_regfields, +}; + /* Kept around for backward compatibility with old msm8996.dtsi */ struct tsens_plat_data data_8996 = { .num_sensors = 13, diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c index 9dc0c2150948..af58a94628a8 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c @@ -1106,6 +1106,9 @@ static const struct of_device_id tsens_table[] = { }, { .compatible = "qcom,ipq8074-tsens", .data = &data_ipq8074, + }, { + .compatible = "qcom,ipq5332-tsens", + .data = &data_ipq5332, }, { .compatible = "qcom,mdm9607-tsens", .data = &data_9607, diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h index b2e8f0f2b466..1dde363914cd 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h @@ -648,6 +648,6 @@ extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8 extern struct tsens_plat_data data_tsens_v1, data_8976, data_8956; /* TSENS v2 targets */ -extern struct tsens_plat_data data_8996, data_ipq8074, data_tsens_v2; +extern struct tsens_plat_data data_8996, data_ipq8074, data_ipq5332, data_tsens_v2; #endif /* __QCOM_TSENS_H__ */ -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project