From patchwork Wed Jul 19 10:40:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 122553 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2361315vqt; Wed, 19 Jul 2023 04:18:44 -0700 (PDT) X-Google-Smtp-Source: APBJJlFnFnX0hoTTNBWNa+MEDu7Fb+ET3NdjuTuqQ3svsLTAvYAKeY2z56zJLW3rdgashGKuktlV X-Received: by 2002:a17:902:c946:b0:1b7:f64b:379b with SMTP id i6-20020a170902c94600b001b7f64b379bmr2384669pla.17.1689765523583; Wed, 19 Jul 2023 04:18:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689765523; cv=none; d=google.com; s=arc-20160816; b=gbyu+kcACbpoG6zFpV9ZTZ0C2qvqgqA5HJnihD8+A+wwjgqAMWJ2aw2WJYe0yW9g8Q cyOXbdivXIl2Zc+q01gsMvKfyWXJuPe5w+SmU3DKcFMTb18xfR8npzCLbGOJyYsaEj1n q+hVfTTHCn5sUXj0TMz8x5++KQj2+rMYGyVrcs+ZmVfqu0CUwB3DHzLIkqwIbgio6QyX u8tal4YM6rQxlfEe8u4YsOrtYQnmnjceR7osu4oK/Vz3gYttrxbKbmbLpivYG+Nj9vZR SRzJWSe7Gqdw4WEA4P8os+bNgKjfn2yYAEZwR1QcSN9p/94RfNt97XyuT69MD1WxBkgK 1jJg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d23-20020a170902b71700b001b8bb6d9ba6si3148739pls.311.2023.07.19.04.18.28; Wed, 19 Jul 2023 04:18:43 -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 S231440AbjGSKm0 (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 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771847573788313899 X-GMAIL-MSGID: 1771847573788313899 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__ */