From patchwork Wed Jul 19 10:40:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 122558 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2371490vqt; Wed, 19 Jul 2023 04:37:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlFehfzWmn405ZuLv9FSuzMu4BVcP6Ye7J91Q/kcyWIu5SYEtx4UupOya1n0BL9TJeZ30Ogu X-Received: by 2002:a05:6a00:234c:b0:682:5a68:983c with SMTP id j12-20020a056a00234c00b006825a68983cmr2787417pfj.34.1689766668788; Wed, 19 Jul 2023 04:37:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689766668; cv=none; d=google.com; s=arc-20160816; b=G4xJ2rrygHyKWvlx4Hdl0eyTDxyXWGzfvQqj/pED++FJPife+N7ChJaYLxFBq6paXQ 3d+YJjfhAgq3/0W/GMISNxOlt+mvOBBYHokAm8yASfqJl+fyoxZZAl6TeyqglausRfWF fyJNBdFizTXpiLxV5sdjbVq7pjYywNLLnCSdzxzyMvUntTM9XanfIMNCcTEc4DX7leIi vUhRV6vPco0nVT+FiUFm4WkhOXDHtmqWqt9oTuIBxXJSFr/y41TvhZRO6ZlaKp0mMt56 g4vRHzdhZ9rtd4I3TggLZGUZ3djO5BaufW9p3o+0sHPzjXG5hZ7T7CZjMYqw5ozPUHY6 EIMQ== 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=c+5+FHt0ll9xHu04E4xdf78m9ydXf52N54n9TgtZVYw=; fh=X4rJ+cR0B+d5Oa7pFIBp3MHYxg8a+8b0Sx0w3zuICOE=; b=r3noB268ds+x9/YPAoEis9RUZN1OMUSWEW1aOPh3FgvCJVOTJeEx7Ip2xrvlnBQPp7 8VF8gKRho9fQi8a6JCclzFMyglWrjrp/ZVO1sDIGlyUzo8niYN+kcCvVxrfElifgQvi7 ipXJFlBF5wuXWd20dhcw9N6mz8y7wBnJIBtdAA4wF/rJ6t9ygYh2s0nZweUrAbTqOXZs AjbKX7YCFuTl4U1EbjxrjtkEVEwUcF80ffJ60SFBUtL5gitljxJ3ru5MikFegtqwwmv5 ldWxsmZvjpmnd1FcZ0rotnpJPDtLzNfc3sYgbTifZeAoy2+b9JOorwHvQTGaCWAwTZeI OVMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=QwtqxydO; 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 b12-20020a63eb4c000000b005401008809bsi3273016pgk.752.2023.07.19.04.37.35; Wed, 19 Jul 2023 04:37:48 -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=QwtqxydO; 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 S231379AbjGSKlp (ORCPT + 99 others); Wed, 19 Jul 2023 06:41:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229657AbjGSKln (ORCPT ); Wed, 19 Jul 2023 06:41:43 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EA104189; Wed, 19 Jul 2023 03:41:41 -0700 (PDT) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36J4gS1l008449; Wed, 19 Jul 2023 10:41:36 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=c+5+FHt0ll9xHu04E4xdf78m9ydXf52N54n9TgtZVYw=; b=QwtqxydOC9wMGL5QA9etmHac3grqjIzJn9fKjKpzPUrIX+km1tqlaSZhsW8RYfW6qZ6l SIhgfpV8Bw7aPtkLkyHodB2NJWkrfEOYzmKepzAMDjBfralV0HG9Fd5ecLDBjGxjoLel CaB0X2z5g9a+UlaUj9ZDvukPt8C/9fZRUxN1tafqgasygXaAFgbqJa2o8X1Pd8j3GHQP q6s3TFNuGoR7Kwhgmg4G2hWOQ+SpQz0QUxHOCs2p/pFjGSe/cN/9t/gKuxRWA47gIEln cGO/ypgXT+nOg9De8HfzGEzPBOxdWu3fXcl/Gynk+HbB1jk5VxrBHoMuxaM/1VGafJh4 cg== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rwnrrk3c3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:35 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36JAfXZx006670 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:33 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:28 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v4 1/5] thermal/drivers/tsens: Add TSENS enable and calibration support for V2 Date: Wed, 19 Jul 2023 16:10:37 +0530 Message-ID: <20230719104041.126718-2-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: B4dPwmxnT2NHLsjDdapSaJJ5CZplXmR3 X-Proofpoint-ORIG-GUID: B4dPwmxnT2NHLsjDdapSaJJ5CZplXmR3 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 phishscore=0 malwarescore=0 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=999 priorityscore=1501 impostorscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307190096 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,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: 1771848774402056529 X-GMAIL-MSGID: 1771848774402056529 SoCs without RPM have to enable sensors and calibrate from the kernel. Though TSENS IP supports 16 sensors, not all are used. So used hw_id to enable the relevant sensors. Added new calibration function for V2 as the tsens.c calib function only supports V1. Signed-off-by: Praveenkumar I --- [v4]: Named the values used inside the init_tsens_v2_no_rpm(), used FIELD_PREP() to get the Sn_CONVERSION data and some minor changes in the function variable order and array size. [v3]: Renamed the init function and removed version check in it. Corrected the if check in init_common() at tsens.c [v2]: Added separate init function for tsens v2 which calls init_common and initialize the remaining fields. Reformatted calibrate function and used hw_ids for sensors to enable. drivers/thermal/qcom/tsens-v2.c | 148 ++++++++++++++++++++++++++++++++ drivers/thermal/qcom/tsens.c | 2 +- drivers/thermal/qcom/tsens.h | 3 + 3 files changed, 152 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c index 29a61d2d6ca3..3d674be2bbe4 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c @@ -6,11 +6,29 @@ #include #include +#include #include "tsens.h" /* ----- SROT ------ */ #define SROT_HW_VER_OFF 0x0000 #define SROT_CTRL_OFF 0x0004 +#define SROT_MEASURE_PERIOD 0x0008 +#define SROT_Sn_CONVERSION 0x0060 +#define V2_SHIFT_DEFAULT 0x0003 +#define V2_SLOPE_DEFAULT 0x0cd0 +#define V2_CZERO_DEFAULT 0x016a +#define ONE_PT_SLOPE 0x0cd0 +#define TWO_PT_SHIFTED_GAIN 921600 +#define ONE_PT_CZERO_CONST 94 +#define SW_RST_DEASSERT 0x0 +#define SW_RST_ASSERT 0x1 +#define MEASURE_PERIOD_2mSEC 0x1 +#define RSEULT_FORMAT_TEMP 0x1 +#define TSENS_ENABLE 0x1 +#define SENSOR_CONVERSION(n) (((n) * 4) + SROT_Sn_CONVERSION) +#define CONVERSION_SHIFT_MASK GENMASK(24, 23) +#define CONVERSION_SLOPE_MASK GENMASK(22, 10) +#define CONVERSION_CZERO_MASK GENMASK(9, 0) /* ----- TM ------ */ #define TM_INT_EN_OFF 0x0004 @@ -59,6 +77,11 @@ static const struct reg_field tsens_v2_regfields[MAX_REGFIELDS] = { /* CTRL_OFF */ [TSENS_EN] = REG_FIELD(SROT_CTRL_OFF, 0, 0), [TSENS_SW_RST] = REG_FIELD(SROT_CTRL_OFF, 1, 1), + [SENSOR_EN] = REG_FIELD(SROT_CTRL_OFF, 3, 18), + [CODE_OR_TEMP] = REG_FIELD(SROT_CTRL_OFF, 21, 21), + + /* MAIN_MEASURE_PERIOD */ + [MAIN_MEASURE_PERIOD] = REG_FIELD(SROT_MEASURE_PERIOD, 0, 7), /* ----- TM ------ */ /* INTERRUPT ENABLE */ @@ -104,6 +127,131 @@ static const struct reg_field tsens_v2_regfields[MAX_REGFIELDS] = { [TRDY] = REG_FIELD(TM_TRDY_OFF, 0, 0), }; +static int tsens_v2_calibrate_sensor(struct device *dev, struct tsens_sensor *sensor, + struct regmap *map, u32 mode, u32 base0, u32 base1) +{ + u32 slope, czero, val; + char name[8]; + int ret; + + /* Read offset value */ + ret = snprintf(name, sizeof(name), "s%d", sensor->hw_id); + if (ret < 0) + return ret; + + ret = nvmem_cell_read_variable_le_u32(dev, name, &sensor->offset); + if (ret) + return ret; + + /* Based on calib mode, program SHIFT, SLOPE and CZERO */ + switch (mode) { + case TWO_PT_CALIB: + slope = (TWO_PT_SHIFTED_GAIN / (base1 - base0)); + + czero = (base0 + sensor->offset - ((base1 - base0) / 3)); + + val = FIELD_PREP(CONVERSION_SHIFT_MASK, V2_SHIFT_DEFAULT) | + FIELD_PREP(CONVERSION_SLOPE_MASK, slope) | + FIELD_PREP(CONVERSION_CZERO_MASK, czero); + + fallthrough; + case ONE_PT_CALIB2: + czero = base0 + sensor->offset - ONE_PT_CZERO_CONST; + + val = FIELD_PREP(CONVERSION_SHIFT_MASK, V2_SHIFT_DEFAULT) | + FIELD_PREP(CONVERSION_SLOPE_MASK, ONE_PT_SLOPE) | + FIELD_PREP(CONVERSION_CZERO_MASK, czero); + + break; + default: + dev_dbg(dev, "calibrationless mode\n"); + + val = FIELD_PREP(CONVERSION_SHIFT_MASK, V2_SHIFT_DEFAULT) | + FIELD_PREP(CONVERSION_SLOPE_MASK, V2_SLOPE_DEFAULT) | + FIELD_PREP(CONVERSION_CZERO_MASK, V2_CZERO_DEFAULT); + } + + regmap_write(map, SENSOR_CONVERSION(sensor->hw_id), val); + + return 0; +} + +static int tsens_v2_calibration(struct tsens_priv *priv) +{ + struct device *dev = priv->dev; + u32 mode, base0, base1; + int i, ret; + + if (priv->num_sensors > MAX_SENSORS) + return -EINVAL; + + ret = nvmem_cell_read_variable_le_u32(priv->dev, "mode", &mode); + if (ret == -ENOENT) + dev_warn(priv->dev, "Calibration data not present in DT\n"); + if (ret < 0) + return ret; + + dev_dbg(priv->dev, "calibration mode is %d\n", mode); + + ret = nvmem_cell_read_variable_le_u32(priv->dev, "base0", &base0); + if (ret < 0) + return ret; + + ret = nvmem_cell_read_variable_le_u32(priv->dev, "base1", &base1); + if (ret < 0) + return ret; + + /* Calibrate each sensor */ + for (i = 0; i < priv->num_sensors; i++) { + ret = tsens_v2_calibrate_sensor(dev, &priv->sensor[i], priv->srot_map, + mode, base0, base1); + if (ret < 0) + return ret; + } + + return 0; +} + +static int __init init_tsens_v2_no_rpm(struct tsens_priv *priv) +{ + struct device *dev = priv->dev; + int i, ret; + u32 val = 0; + + ret = init_common(priv); + if (ret < 0) + return ret; + + priv->rf[CODE_OR_TEMP] = devm_regmap_field_alloc(dev, priv->srot_map, + priv->fields[CODE_OR_TEMP]); + if (IS_ERR(priv->rf[CODE_OR_TEMP])) + return PTR_ERR(priv->rf[CODE_OR_TEMP]); + + priv->rf[MAIN_MEASURE_PERIOD] = devm_regmap_field_alloc(dev, priv->srot_map, + priv->fields[MAIN_MEASURE_PERIOD]); + if (IS_ERR(priv->rf[MAIN_MEASURE_PERIOD])) + return PTR_ERR(priv->rf[MAIN_MEASURE_PERIOD]); + + regmap_field_write(priv->rf[TSENS_SW_RST], SW_RST_ASSERT); + + regmap_field_write(priv->rf[MAIN_MEASURE_PERIOD], MEASURE_PERIOD_2mSEC); + + /* Enable available sensors */ + for (i = 0; i < priv->num_sensors; i++) + val |= 1 << priv->sensor[i].hw_id; + + regmap_field_write(priv->rf[SENSOR_EN], val); + + /* Select temperature format, unit is deci-Celsius */ + regmap_field_write(priv->rf[CODE_OR_TEMP], RSEULT_FORMAT_TEMP); + + regmap_field_write(priv->rf[TSENS_SW_RST], SW_RST_DEASSERT); + + regmap_field_write(priv->rf[TSENS_EN], TSENS_ENABLE); + + return 0; +} + static const struct tsens_ops ops_generic_v2 = { .init = init_common, .get_temp = get_temp_tsens_valid, diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c index 98c356acfe98..9dc0c2150948 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c @@ -974,7 +974,7 @@ int __init init_common(struct tsens_priv *priv) ret = regmap_field_read(priv->rf[TSENS_EN], &enabled); if (ret) goto err_put_device; - if (!enabled) { + if (!enabled && (tsens_version(priv) != VER_2_X_NO_RPM)) { dev_err(dev, "%s: device not enabled\n", __func__); ret = -ENODEV; goto err_put_device; diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h index 2805de1c6827..b2e8f0f2b466 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h @@ -35,6 +35,7 @@ enum tsens_ver { VER_0_1, VER_1_X, VER_2_X, + VER_2_X_NO_RPM, }; enum tsens_irq_type { @@ -168,6 +169,8 @@ enum regfield_ids { TSENS_SW_RST, SENSOR_EN, CODE_OR_TEMP, + /* MEASURE_PERIOD */ + MAIN_MEASURE_PERIOD, /* ----- TM ------ */ /* TRDY */ From patchwork Wed Jul 19 10:40:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 122546 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2350053vqt; Wed, 19 Jul 2023 03:59:31 -0700 (PDT) X-Google-Smtp-Source: APBJJlFR8CVKuHZRNupseDowfM87JcWAkMsGZ9hAcs3Yu2p7zCSp7NfXRi1cqVPt3GZjMjN1tWv6 X-Received: by 2002:a05:6402:1857:b0:521:775b:ec95 with SMTP id v23-20020a056402185700b00521775bec95mr1969457edy.25.1689764371653; Wed, 19 Jul 2023 03:59:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689764371; cv=none; d=google.com; s=arc-20160816; b=l00DcFtqjQx91IPeON/KECfCgMd2tNETRuLT6jARz4Q4pjU9PGpmaLvpGUeriqPoaH CnJYRRjA58HhKKQ8B+BGm9aok7DkQr6vu4Zi2tIJBcg8Hpls6W4Y74vgsNqQrAmoJWqT Rq9AS4epkc4hwGkRc/z0KK/5qWA+xo0m5pVNMcJZtZ2xZYLyYdZlGLU+iqfR1ng/t6EV fWI848DnoetZ6U7//bAPx6US37EbHBQxvHcBpU6BeEDW4gVFd0pxwbDmyix13GxXPQ5L wPekz/DQ89a6qk65E2aZbyJXZ9liANUUwG4fvJD7HmjmwrvLR6pHymoLmKa8VO8GuimP j0mA== 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=z7a26ieqmvK4KGuiGUjDSE9ifR7hDyfqa1pnvg686U4=; fh=X4rJ+cR0B+d5Oa7pFIBp3MHYxg8a+8b0Sx0w3zuICOE=; b=rDk4NLvMKJp4q46NZp5k7p+VizSBPjgAHMV5XierI++iyQq2YFgi2G0pDJl+Gb5yJu OHMzYRw07tVpvwhdIoxnuCpB4jGJYMIIxKVZbQZmRgcxgRgsRAZn+jWVnYf3kGfEa8qt HSiOGpX479TdF4h81TtTjhgta2L+XPYTlrzVxDkfccLayGbOkbDkTM4jIau/sdxLQi9T DJnJcrr5NuX72Uw83g18rxP2hg9D4HaM9ifly8Dsm+VcAKcBDW16mT7GWnLjDH3QTc3/ Sbu+9nJSEFEjl5p94aQ18wb0D+gNUR5VPNo3WqO0VnsWCK1YtgsB8++EGity3pSvo85o g1pg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=GXcb3uK5; 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 n16-20020aa7d050000000b0051fee9567basi2746366edo.619.2023.07.19.03.59.07; Wed, 19 Jul 2023 03:59:31 -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=GXcb3uK5; 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 S231246AbjGSKlu (ORCPT + 99 others); Wed, 19 Jul 2023 06:41:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59354 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231393AbjGSKlp (ORCPT ); Wed, 19 Jul 2023 06:41:45 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 33066E52; Wed, 19 Jul 2023 03:41:44 -0700 (PDT) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36J8Gd05003054; Wed, 19 Jul 2023 10:41:39 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=z7a26ieqmvK4KGuiGUjDSE9ifR7hDyfqa1pnvg686U4=; b=GXcb3uK5B7BHD2Zzy0uX75UnhpBvbNuIaPbJkicKEJUicgwIro0nDnx7O4cmd6J81CgM lYcRuqoBjdePE+1FPasEr+dYokx2mwVwWsot6TERJ+NWHHmbCpRQvaNKjXcKALvYS+E8 gYvQSexShkXS4LzifB6Xgv2Flau0ZjVG3wU0gryoraC9zOFgqf1scw4tWei7rbR7Pj0+ RD04OWda5dYdAGOy6qW4DjUMJ3609w5FIdzQbnV7xHBo294vw4HGj8REigCBN97VXmKR /sQG0KIrmgqHE/Oo18ENMQ03xrKPIyarcr+1WcwkHJNkHyBIEBHKLudbw999TsUN6tAN 2Q== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rwnrrk3c6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:39 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36JAfciA000314 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:38 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:33 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v4 2/5] dt-bindings: thermal: tsens: Add ipq5332 compatible Date: Wed, 19 Jul 2023 16:10:38 +0530 Message-ID: <20230719104041.126718-3-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: iRLescyL3-bJH5-0GrDJc14UcB12HZVR X-Proofpoint-ORIG-GUID: iRLescyL3-bJH5-0GrDJc14UcB12HZVR 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 phishscore=0 malwarescore=0 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=999 priorityscore=1501 impostorscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307190096 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,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: 1771846365859224129 X-GMAIL-MSGID: 1771846365859224129 IPQ5332 uses TSENS v2.3.3 with combined interrupt. RPM is not available in the SoC, hence adding new compatible to have the sensor enablement and calibration function. This patch also adds nvmem-cell-names for ipq5332 Reviewed-by: Krzysztof Kozlowski Signed-off-by: Praveenkumar I --- [v4]: Pick up R-b tag [v3]: No changes. [v2]: Followed the order for ipq5332 and added nvmem-cell-names. .../devicetree/bindings/thermal/qcom-tsens.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml index 27e9e16e6455..cca115906762 100644 --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml @@ -69,6 +69,7 @@ properties: - description: v2 of TSENS with combined interrupt enum: + - qcom,ipq5332-tsens - qcom,ipq8074-tsens - description: v2 of TSENS with combined interrupt @@ -205,6 +206,15 @@ properties: - const: s9_p2_backup - const: s10_p1_backup - const: s10_p2_backup + - items: + - const: mode + - const: base0 + - const: base1 + - pattern: '^s[0-9]+$' + - pattern: '^s[0-9]+$' + - pattern: '^s[0-9]+$' + - pattern: '^s[0-9]+$' + - pattern: '^s[0-9]+$' "#qcom,sensors": description: @@ -266,6 +276,7 @@ allOf: compatible: contains: enum: + - qcom,ipq5332-tsens - qcom,ipq8074-tsens then: properties: @@ -281,6 +292,7 @@ allOf: compatible: contains: enum: + - qcom,ipq5332-tsens - qcom,ipq8074-tsens - qcom,tsens-v0_1 - qcom,tsens-v1 From patchwork Wed Jul 19 10:40:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 122554 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2365856vqt; Wed, 19 Jul 2023 04:27:29 -0700 (PDT) X-Google-Smtp-Source: APBJJlEN0HjmTCuFF1wzzmQytECcelplLhbO5IlOoPT7cFPqYFo7j8ZNslSGULSkqKxl55BUGc/P X-Received: by 2002:a05:6a20:3956:b0:127:7ea7:e039 with SMTP id r22-20020a056a20395600b001277ea7e039mr17182412pzg.62.1689766048888; Wed, 19 Jul 2023 04:27:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689766048; cv=none; d=google.com; s=arc-20160816; b=q24ovlyuY52tCJHuZ4xsg42ZFZQzFQv0jFRG4HbP+b8wtEgUkoGi+uIZ0ZcoxAt1oO 2BPU4xJFswM1haik+evRhYdw+cJUyDk+4nOvUR/3btKOUQoOKcrkQsBvcRXwSKQyZY4l ZN8QoT60iapqUcDHLKpCs3pf9jlMP8LZxN59WK0o2HK8rFqXTpKHCb9GljMXyZXeEikD tJFnozdRAGGT+w+Dq9DcC+kajwK9XLflB3VAz75Qj6JkV1bfXHcKVz2bfHbLXxjmHv+H JibcX4VS3I2i9rOPLrWoJ6AisLrfK+YkTDTdmqU3eQXehmmh5WhrROQnPIFA0IaISzyp ktMA== 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=Xv3BpcXIJiT1g4b1aL4q4owiGh24WspN9WgsRtuLgyI=; fh=X4rJ+cR0B+d5Oa7pFIBp3MHYxg8a+8b0Sx0w3zuICOE=; b=Y5sGD1mw6UVM4INwkGx4yvHheelSv/NWVXCPq0TVodQ42/CCqtHb8whR5C+Op5tEoc IPoSbr/0X4Tz2Et5mJVxO/7P1GBAHcuCp70+DciuSH/PhNjoJz2EI55VMy45v7YyM8YZ wweOZSt2OJWDjGPEWjlSoSTigTckAhoLN5IuiDrmk++71npGPKruELoot5+qRn/OxbE4 dgGhnYuO0Grqt3LFLjxzu+Mstl6jlKO7UDYH/2cNyB6nVwdzJodH36AosV8+qYJ4NDWu tKOK+rfADuBQ0HUGzysXuAsp78rL1wYC2848t6qVMPW4L6I51e+Z59I3NPFtC/54Zmrw kz8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=DvuiPVRB; 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 cq26-20020a056a00331a00b0066844d4ec59si3147101pfb.168.2023.07.19.04.27.15; Wed, 19 Jul 2023 04:27:28 -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=DvuiPVRB; 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 S231393AbjGSKmB (ORCPT + 99 others); Wed, 19 Jul 2023 06:42:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231375AbjGSKlx (ORCPT ); Wed, 19 Jul 2023 06:41:53 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 761EE173B; Wed, 19 Jul 2023 03:41:49 -0700 (PDT) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36J9VLQk021857; Wed, 19 Jul 2023 10:41:44 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=Xv3BpcXIJiT1g4b1aL4q4owiGh24WspN9WgsRtuLgyI=; b=DvuiPVRBcc9a96YzTHAXzky9grPhwumCTlRKtb3MKveWku+UbAdITAI5OAmWyuwsbRzY MaWwbVoRu1Soc5L8+NOY1x2MKASJhD0pqmnAnL2oUCUfGf8VwH4bJGNrcihCUKhzXS6/ Q2QeWajrHCfrhUVIhCkuIO1ZpoyHcfABYAcQ6GoYSU0bFWLv0HCnQ8FIFJilo0t9ERnX FZcuLkh1owRVZH/Ejg9UNWagqUaZKG5asipw+xZinyMUyazSmeLl0riUqlyXeEGT4wsf cJfojfFiCg56Y04Ha1hAdtguNHCpiNxBa8pb7AUBYJfhC5Ooh/0rl8lpUi4k8ma/fRCb bA== Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rxd98g442-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:44 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36JAfhFh021312 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:43 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:38 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v4 3/5] arm64: dts: qcom: ipq5332: Add tsens node Date: Wed, 19 Jul 2023 16:10:39 +0530 Message-ID: <20230719104041.126718-4-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: OB4ix57j69A29VX-cUVPo6uhbviDPMg6 X-Proofpoint-ORIG-GUID: OB4ix57j69A29VX-cUVPo6uhbviDPMg6 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 suspectscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 mlxscore=0 malwarescore=0 bulkscore=0 mlxlogscore=716 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307190096 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,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: 1771848124382607676 X-GMAIL-MSGID: 1771848124382607676 IPQ5332 has tsens v2.3.3 peripheral. This patch adds the tsense node with nvmem cells for calibration data. Signed-off-by: Praveenkumar I --- [v4]: No changes. [v3]: Reordered device nodes according to the address. [v2]: Included qfprom nodes only for available sensors and removed the offset suffix. arch/arm64/boot/dts/qcom/ipq5332.dtsi | 66 +++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi index 8bfc2db44624..026f99fda00c 100644 --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi @@ -150,6 +150,46 @@ qfprom: efuse@a4000 { reg = <0x000a4000 0x721>; #address-cells = <1>; #size-cells = <1>; + + s11: s11@3a5 { + reg = <0x3a5 0x1>; + bits = <4 4>; + }; + + s12: s12@3a6 { + reg = <0x3a6 0x1>; + bits = <0 4>; + }; + + s13: s13@3a6 { + reg = <0x3a6 0x1>; + bits = <4 4>; + }; + + s14: s14@3ad { + reg = <0x3ad 0x2>; + bits = <7 4>; + }; + + s15: s15@3ae { + reg = <0x3ae 0x1>; + bits = <3 4>; + }; + + tsens_mode: mode@3e1 { + reg = <0x3e1 0x1>; + bits = <0 3>; + }; + + tsens_base0: base0@3e1 { + reg = <0x3e1 0x2>; + bits = <3 10>; + }; + + tsens_base1: base1@3e2 { + reg = <0x3e2 0x2>; + bits = <5 10>; + }; }; rng: rng@e3000 { @@ -159,6 +199,32 @@ rng: rng@e3000 { clock-names = "core"; }; + tsens: thermal-sensor@4a9000 { + compatible = "qcom,ipq5332-tsens"; + reg = <0x4a9000 0x1000>, + <0x4a8000 0x1000>; + nvmem-cells = <&tsens_mode>, + <&tsens_base0>, + <&tsens_base1>, + <&s11>, + <&s12>, + <&s13>, + <&s14>, + <&s15>; + nvmem-cell-names = "mode", + "base0", + "base1", + "s11", + "s12", + "s13", + "s14", + "s15"; + interrupts = ; + interrupt-names = "combined"; + #qcom,sensors = <5>; + #thermal-sensor-cells = <1>; + }; + tlmm: pinctrl@1000000 { compatible = "qcom,ipq5332-tlmm"; reg = <0x01000000 0x300000>; From patchwork Wed Jul 19 10:40:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 122542 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2348889vqt; Wed, 19 Jul 2023 03:56:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlGdfMFFX98zwgGWx1di2nAuSawX9Rv12S3lD4vVRXCS3h47F+phvEJCiB9AkkDplInf/bTp X-Received: by 2002:a05:6402:42c6:b0:51e:5206:d69e with SMTP id i6-20020a05640242c600b0051e5206d69emr2127203edc.10.1689764209565; Wed, 19 Jul 2023 03:56:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689764209; cv=none; d=google.com; s=arc-20160816; b=v2sU8HxpnAq316kAKurf6KZ7PxjKxRk62JR309bh9quTWiKgdJnsPVhr2LhQgPkCfe n/uDlzlTJz49toTBSrlMtwpIKv9oTbOdFtHFVyLL0TygB4YfbDmhlx081mIOWtVfsBoH 9KCgo/tJNhRyEmC6xNsPAxtVD9l62ZbbJOpyptMCq4cFhoN6F7/dIXPd+yeM1WVCVG/c RhcEEgmPnY5lTXztTd4tZtNgHcVvZiquR7oIosXh7FHekDI2ArnBjr3WcNhIx/wYzbeF bhQGx1OqUO/Ve5knOmLqSA8gTGetWRwRC0XpLp6yUqe83+CRzBqrV4ZQeIegTpfYEaZa qhMw== 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=Ecbg2OnmIs4vBJmhjhujdBsdYzb+rzTk4ywKEpnttLk=; fh=X4rJ+cR0B+d5Oa7pFIBp3MHYxg8a+8b0Sx0w3zuICOE=; b=mii3HZ2l1KK4yaLXR/DXlmesGgBU/noq8v6NtBxDGmSls+bcqDE36dSnWTcpckHvgf 016x5ql30OdwSSE/csMXgcxfzW8doLcpG7IUh0VbmIz/zgLLnPgsY2ObjbOSNn+PG0iv idgTMimditJLqZTu0DZOZBAPMLa36HA3VDBz1ZURXJaEf+zAAaiY3H9dTiygwQj9bwsZ SyxUOFd+T/bzzYMz0Vxs0SfTJQNcgZuhMIiGmZUeB3AQsJTEk+OfdWTus0LFr2jZdhcI 5ENbwFBFMJcKpd1CS/Pi4sgM2wX2TyCrHB26AzWacFP/Jzui6LQEoh9Fy5OYz0m4CNDj gFNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=iN7OGaKZ; 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 e6-20020a50fb86000000b0051e3375d4f2si2700340edq.338.2023.07.19.03.56.26; Wed, 19 Jul 2023 03:56:49 -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=iN7OGaKZ; 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 S230317AbjGSKmR (ORCPT + 99 others); Wed, 19 Jul 2023 06:42:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231375AbjGSKmH (ORCPT ); Wed, 19 Jul 2023 06:42:07 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9BB732102; Wed, 19 Jul 2023 03:41:55 -0700 (PDT) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36J9UEiU021477; Wed, 19 Jul 2023 10:41:50 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=Ecbg2OnmIs4vBJmhjhujdBsdYzb+rzTk4ywKEpnttLk=; b=iN7OGaKZYA0NA9R8jF8W3xT/sz+QBPH/reAsO68EWXxNmnkoxcfOp2EkrQtWF8E93VEg WE/j+Bcug6F2Z7QuAoQAH1F17vDYFIj89xYm44WR7gbbwH9hlOuTN6w3nNRlRhpwUVT6 tsQQFB4HS1TTg86xMEw0eSGe1q8ItaZWx1E7ZXhfMyJAWi3nzDHrD6OuWxhOlYSfKvsV uagr7VJMr615bf61q13KHtZpVdPu9gYgh++5bFdmzxjjktG0pCO2Sqov11DNLztAVIFO scz37jdcUdNxShrZBC/OQnZLnM2f/0UNNHz1f62jYqLGi6B13SvAWMVkJU+dP2Y8zBg6 ng== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rxd7ur435-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:49 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36JAfmWn006809 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jul 2023 10:41:48 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:43 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v4 4/5] arm64: dts: qcom: ipq5332: Add thermal zone nodes Date: Wed, 19 Jul 2023 16:10:40 +0530 Message-ID: <20230719104041.126718-5-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: rsrJP7omJPOjqwKg1zo5hsUbl8Zm6VDm X-Proofpoint-ORIG-GUID: rsrJP7omJPOjqwKg1zo5hsUbl8Zm6VDm 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 phishscore=0 malwarescore=0 bulkscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 lowpriorityscore=0 mlxscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=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: 1771846195797680174 X-GMAIL-MSGID: 1771846195797680174 This patch adds thermal zone nodes for sensors present in IPQ5332. Reviewed-by: Dmitry Baryshkov Signed-off-by: Praveenkumar I --- [v4]: No changes. [v3]: Pick up R-b tag [v2]: Added passive trips and alignment change. arch/arm64/boot/dts/qcom/ipq5332.dtsi | 78 +++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi index 026f99fda00c..fe9f0fdd44ee 100644 --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi @@ -480,4 +480,82 @@ timer { , ; }; + + thermal-zones { + rfa-0-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens 11>; + + trips { + rfa-0-critical { + temperature = <125000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + rfa-1-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens 12>; + + trips { + rfa-1-critical { + temperature = <125000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + misc-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens 13>; + + trips { + misc-critical { + temperature = <125000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu-top-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens 14>; + + trips { + cpu-top-critical { + temperature = <115000>; + hysteresis = <1000>; + type = "critical"; + }; + + cpu-passive { + temperature = <105000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + top-glue-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens 15>; + + trips { + top-glue-critical { + temperature = <125000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + }; }; 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__ */