From patchwork Thu Jul 13 05:27:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 119549 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1605800vqm; Wed, 12 Jul 2023 22:37:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlFf8NxQYufJQu94j6yT+GZ2fbw9o60VQA8zc4Jbcdbi0ktvB/Hg/1HE+3AywTEiEuvoIMD5 X-Received: by 2002:a05:6a00:2e10:b0:66f:7076:a5b8 with SMTP id fc16-20020a056a002e1000b0066f7076a5b8mr461509pfb.29.1689226622556; Wed, 12 Jul 2023 22:37:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689226622; cv=none; d=google.com; s=arc-20160816; b=iMkLZJiyuPqWGBqYh9QUNSeAtKZDE5hwqW0fcVpU1ZonGx3oAtzFnneCoW7Av2x2Ro 6idBMqmtcC6Byq7+9bKQXKRLXRDOc6DYGsr4ZEPOZHDx6mKF7HU3RCGVADfd/qC4wOdx K9nddm3lzznGXL1XFiNqnX05X7LSHrlRvKhBeCUoDoKXZwpYlye+w1bvU3WCakRCRLge zdOiWUdyXi70rMSlBH/aohDy/MPGcYJmCqUIDfadB/phvWktjzfZYH1Xfd9pBq/bUbHy GiC+7GbPwl3B6+VfjVZ12mS3x/y9t3xN7VpM6b2JlyY7nQYjqINhPa/j0Bgf/E+WVaEN qTog== 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=a2QJgJbgDcHZ5eIxrSmXgbjX4vLvm7tKdZp05OWwd6Y=; fh=hGvN8g5Tc8XbSjS7FvrEf4ONBsfwZeApRyks9Y0cJkQ=; b=PGvjqlffuEkrFk9e5tyewMUogn37I2TONki7MJ3wmL80ywKVV7uYtHOZIOsujznt7c J0UBpYtOtN66v0VKIPKba4p+uEfhx/3SzVob5WAUDjEENlgxy/l5h7mJVThzactAMrJu mHyRmF5DMh5huF2qLznH/NRPhRHJOSxgu2I74wAR63i7MtOfHGLwESb4tc4b0NgilNeS hb0C4rIfK41Dyl/KrLwVOrbcWYEFPWXCgq4Cc6Jsbok0wR75xKSlGldHyE2KScfOldRk AzZy65w60saN5b9mKP+YUqtR+hwvvr2GeG25UMwgaayf1dS1zBqMyFftXyNfXd9s6rJi bJoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=ULJQ3KvD; 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 bo12-20020a056a000e8c00b0066879af7571si4447325pfb.130.2023.07.12.22.36.49; Wed, 12 Jul 2023 22:37:02 -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=ULJQ3KvD; 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 S233924AbjGMF2Z (ORCPT + 99 others); Thu, 13 Jul 2023 01:28:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233910AbjGMF2X (ORCPT ); Thu, 13 Jul 2023 01:28:23 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3629D199D; Wed, 12 Jul 2023 22:28:18 -0700 (PDT) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36D1lKjS008395; Thu, 13 Jul 2023 05:28:04 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=a2QJgJbgDcHZ5eIxrSmXgbjX4vLvm7tKdZp05OWwd6Y=; b=ULJQ3KvDN2s0Y/mcQ/9eMtNvTTD0etNlZ8CyiY5tH3lPNGvL7e1sa5JYCJHKVMSuDpX1 uwmLuWePGWAjx3mqPyOX9Tzo9phjDDbz4adKBZIMGGjQYeArmqOfw4nsCNBJT6VGXeBQ +fMJ7kwQeUQiSrF0s8MvhzbH2Du9mGb2c0rpsaX5muJP+Yi/IHsl50tC5yLwAOguYctf 5o29AW7kQDO7/nDa29XmCac+Q3hsQf347p/i/NR/lbThSzt9ZiaxcZUH+Jt7XHi/2LZR fXVlNU006RBlngzHJdmOIO0LtEr73iF2Jga9ToDgdeKMCmPLc/LyiB4Hgv7fnxaEAdhA Ng== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rser0uc35-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:03 +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 36D5S2dc004003 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:02 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, 12 Jul 2023 22:27:57 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v3 1/5] thermal/drivers/tsens: Add TSENS enable and calibration support for V2 Date: Thu, 13 Jul 2023 10:57:28 +0530 Message-ID: <20230713052732.787853-2-quic_ipkumar@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230713052732.787853-1-quic_ipkumar@quicinc.com> References: <20230713052732.787853-1-quic_ipkumar@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: lDw-zMaBd4XvSeUGVvElfouFyjo98LK8 X-Proofpoint-ORIG-GUID: lDw-zMaBd4XvSeUGVvElfouFyjo98LK8 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-13_02,2023-07-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 malwarescore=0 adultscore=0 impostorscore=0 mlxscore=0 suspectscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307130047 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, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: 1771282495378603765 X-GMAIL-MSGID: 1771282495378603765 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 --- [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 | 141 ++++++++++++++++++++++++++++++++ drivers/thermal/qcom/tsens.c | 2 +- drivers/thermal/qcom/tsens.h | 3 + 3 files changed, 145 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c index 29a61d2d6ca3..781595a9a622 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c @@ -6,11 +6,23 @@ #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 SENSOR_CONVERSION(n) (((n) * 4) + SROT_Sn_CONVERSION) +#define CONVERSION_SLOPE_SHIFT 10 +#define CONVERSION_SHIFT_SHIFT 23 /* ----- TM ------ */ #define TM_INT_EN_OFF 0x0004 @@ -59,6 +71,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 +121,130 @@ 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[15]; + 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 = (V2_SHIFT_DEFAULT << CONVERSION_SHIFT_SHIFT) | + (slope << CONVERSION_SLOPE_SHIFT) | czero; + + fallthrough; + case ONE_PT_CALIB2: + czero = base0 + sensor->offset - ONE_PT_CZERO_CONST; + + val = (V2_SHIFT_DEFAULT << CONVERSION_SHIFT_SHIFT) | + (ONE_PT_SLOPE << CONVERSION_SLOPE_SHIFT) | czero; + + break; + default: + dev_dbg(dev, "calibrationless mode\n"); + + val = (V2_SHIFT_DEFAULT << CONVERSION_SHIFT_SHIFT) | + (V2_SLOPE_DEFAULT << CONVERSION_SLOPE_SHIFT) | 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) +{ + int i, ret; + u32 val = 0; + struct device *dev = priv->dev; + + 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], 0x1); + + /* Update measure period to 2ms */ + regmap_field_write(priv->rf[MAIN_MEASURE_PERIOD], 0x1); + + /* 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); + + /* Real temperature format */ + regmap_field_write(priv->rf[CODE_OR_TEMP], 0x1); + + regmap_field_write(priv->rf[TSENS_SW_RST], 0x0); + + /* Enable TSENS */ + regmap_field_write(priv->rf[TSENS_EN], 0x1); + + 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 Thu Jul 13 05:27:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 119547 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1605207vqm; Wed, 12 Jul 2023 22:35:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlFV4MNVUOdcGEDcIyn0TSiIqfcHRMfplurawk/0jq5E++4+x/JrYZkyM/c7ds0ZpBBQA+UK X-Received: by 2002:a17:906:19b:b0:994:1844:549c with SMTP id 27-20020a170906019b00b009941844549cmr517640ejb.0.1689226520985; Wed, 12 Jul 2023 22:35:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689226520; cv=none; d=google.com; s=arc-20160816; b=EfLsb2XNzwsQasM8KfDrwJqva7Ra/4vG3QPxwvQq9var8omAyB9VqqnDU0e3bwCEAc Ugjd0/S52qfXUszJY4BxdM+twXK1K0P1niHC60x04pmeoIX5/4lzOpStM0Yo8sGEJcuy eYZKy47pDHitVXKiBuMVUJk3S3kZbsAMeQaXdTx7CrueHmZiT1RxqjU5o3TxYslqT1Fw QleBm6MLo/IQTzzoK758ExS2Kh23bUEjCHwaHaLp4OCABfbCyo0DrHYYIaOWOu7AeJCh UU6+OfOA3daJjhkLr2wZeAWUup03CdwlmGzPpPkGEZFnHyP+iOZWW7ZyKYFZ3JR6Xe/0 KLeA== 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=e4vLQvehiXtvPBxhw4pjTq2KLu/HY1UlxEjGIYTg1FI=; fh=hGvN8g5Tc8XbSjS7FvrEf4ONBsfwZeApRyks9Y0cJkQ=; b=pUKjuE6+U9e70ekhD2MTkJZJCnTGbIf9wGadLZufZAP1DZkbHNPOydo3/HK9iOCm0M mHbIG0fhYACZgC1ZwaUGztr/TBNaexx7JaxrC1UfiIawcI52XBIZ4P+Pounf/lfTtSL2 o68dwjb/fovEcxM0swhqz+XcpgvY+cpKeTYWLDMu11gPtcHGKvknHP77jBvTcvxxGkOH 68AMejBRTJX4OlfMSpku9Bu5q1YV/RC96kBKOBJNd3DQ154ZeOmJzkZJEvPynUFyEqlF kJqubzGw0nQ75hZiKYQl73fNa593WDnQ9hrlfsinoBOP8STBhWYNw0C9hJlMrzMnKx0x A06w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=oHaAF+RA; 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 f27-20020a170906495b00b0099293cdbc9bsi6776979ejt.655.2023.07.12.22.34.55; Wed, 12 Jul 2023 22:35:20 -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=oHaAF+RA; 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 S233926AbjGMF2R (ORCPT + 99 others); Thu, 13 Jul 2023 01:28:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55260 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232553AbjGMF2O (ORCPT ); Thu, 13 Jul 2023 01:28:14 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 65F4F2102; Wed, 12 Jul 2023 22:28:13 -0700 (PDT) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36D5GkIB001473; Thu, 13 Jul 2023 05:28:08 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=e4vLQvehiXtvPBxhw4pjTq2KLu/HY1UlxEjGIYTg1FI=; b=oHaAF+RA6X3uY2ZF4kPhDnFbJ2STVq8RoeD/OnEWgkQLTRXZCNK6lylCeSinnatNiL55 EJKmWowi2ZAduGGX0UkRcdsjSEE7vpXud1RzuqA7jnp/dSP+4Hc/ZuImY9dt+Oz57+y2 4wXgjO9EcqfcObzjabLtLcZU7gfT+YmafosMxljf5iwo6jRH1GFOiSu/FS5XuYglICJb eDmuvXEmtlKlDx0dIGYSnMMFmPJKmflbwH0+tnVcvoq9Cg42+SKpyznhV+OpvWbo11hr xRl3d+EvvLXLhi71RU7uEOvUokLdity/R6eouzdnfltO7re3x5Dhz4Cv+l19gcOP+rip 5Q== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rt73tgces-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:08 +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 36D5S74u027576 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:07 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, 12 Jul 2023 22:28:02 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v3 2/5] dt-bindings: thermal: tsens: Add ipq5332 compatible Date: Thu, 13 Jul 2023 10:57:29 +0530 Message-ID: <20230713052732.787853-3-quic_ipkumar@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230713052732.787853-1-quic_ipkumar@quicinc.com> References: <20230713052732.787853-1-quic_ipkumar@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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-ORIG-GUID: U9ThKUnfySK-HxNpb26Tni9qLXkT_C35 X-Proofpoint-GUID: U9ThKUnfySK-HxNpb26Tni9qLXkT_C35 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-13_02,2023-07-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 phishscore=0 malwarescore=0 priorityscore=1501 mlxlogscore=999 suspectscore=0 adultscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307130047 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, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: 1771282388190112381 X-GMAIL-MSGID: 1771282388190112381 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 Signed-off-by: Praveenkumar I Reviewed-by: Krzysztof Kozlowski --- [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 Thu Jul 13 05:27:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 119553 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1609861vqm; Wed, 12 Jul 2023 22:49:23 -0700 (PDT) X-Google-Smtp-Source: APBJJlFYWP4SQz/cxUXi78ylmwp7yPJFd60osspWpRkmnd+9uzwtd8Ah1cL8TJtTPsQOhYvacvko X-Received: by 2002:a05:6871:97:b0:1a9:71c3:b7c2 with SMTP id u23-20020a056871009700b001a971c3b7c2mr1032404oaa.50.1689227362989; Wed, 12 Jul 2023 22:49:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689227362; cv=none; d=google.com; s=arc-20160816; b=UmYzn9PHQrndW7k5xn3UPDFi/+R0IheobyYqhAkAJ2O80oR3BuquwLTOR7yT+HcDf1 aSCiokSy/KJy1cFXPFhmxSN7FJxRt1zre7TIn9L6867b2jGx2ZrzwcY2IBZK4p1z0Hg3 VBdC5pMF/+dK/wD2sVCYPmyaduGk0cS0pW2cdOVDXdo46pXpZt00RFgUq1Qk3M8CauCL 6NYOsUSgU6lFGz8PuSqpt/KZWkJ10tj1CjONlw5RZ7fUD1Y3u/UQqEcfEP1w3kk5tjph MAmb/mcoAj4WxS1C7gwJuEgp60I0fDXz295a+0oZC8iTgdL3FR3BUuovTk0RfjWh5NDQ olnA== 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=u7b3IUZwGe7VX8j+t0qKQlQoBI9iFv7V8CWy5Ue2G/0=; fh=hGvN8g5Tc8XbSjS7FvrEf4ONBsfwZeApRyks9Y0cJkQ=; b=Anue4PxnW1v5l8R3u6KZR55K963SzKAd/f8IZzv0I1R7qYy4ZZtBZAzNHNyxb9E04O 8ruDI5Ln/zJa7beFAO1+m0KHGTlK8+xf+/lqMnKzjyrwnF6NvJ+W/wONDF+D8uEhKY9u yXfECvUD/vX9QwUrHZjClG4KlMgY97uTXdwW6jNn/2Dvep5fEMcW1uH9eTI67Lh2MKFu 7u0nM1gxtQsefgYTMW+c+9osPUikL4k+bBWOiuLMg8hLAbaaCnvQ4mWfdUKKT+J8McOa APgdeXBYC/aofl4yCsU4jMbv0V/Ua6ob7Q5t92wL1N7Hodgrdmoq3vg5ROqwNE9F2IOf 321A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=XOQFbYVc; 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 i4-20020a63e444000000b0054fd2a6c847si4543316pgk.766.2023.07.12.22.49.10; Wed, 12 Jul 2023 22:49:22 -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=XOQFbYVc; 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 S233952AbjGMF22 (ORCPT + 99 others); Thu, 13 Jul 2023 01:28:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233931AbjGMF2Z (ORCPT ); Thu, 13 Jul 2023 01:28:25 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B9946172C; Wed, 12 Jul 2023 22:28:19 -0700 (PDT) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36D3dmkq015834; Thu, 13 Jul 2023 05:28:14 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=u7b3IUZwGe7VX8j+t0qKQlQoBI9iFv7V8CWy5Ue2G/0=; b=XOQFbYVcoV+ruOTG3xtCUfMjb9MHF7BmDdnXCINLBCSyJJ+xlEk5E6Pr5uZcvy7vRWuj 14OaF3OcsklDOYwyCYLmj/xwu6jY0cIRvOeGWLaEaBpMEkbVFvO9CP42IDOCG8rs70/3 Q+oSIJnQ1f2l1DhgFrmGTyWOYOC8NybIjnEzS5Ic1A3uvMJmPVa47srY8r8dQ1TI2/3m ajpnUwp9omj3z1XbPfgkK4lO9MOWbcfRLa3crdDG7WW0UbIZnG377rDA1h6ipGRUIWW4 rUO9rCkOhX6PBv1NLX0c+2p+gBFTti/KTVGD/DejMzUnl5cvY0sqqeunYRh7Fv8pFUAt HQ== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rt5r6gg16-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:13 +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 36D5SC1x014540 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:12 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, 12 Jul 2023 22:28:07 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v3 3/5] arm64: dts: qcom: ipq5332: Add tsens node Date: Thu, 13 Jul 2023 10:57:30 +0530 Message-ID: <20230713052732.787853-4-quic_ipkumar@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230713052732.787853-1-quic_ipkumar@quicinc.com> References: <20230713052732.787853-1-quic_ipkumar@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: qfLAUT1-Y-WYl15qZpoZxJh7FtT3Egjh X-Proofpoint-ORIG-GUID: qfLAUT1-Y-WYl15qZpoZxJh7FtT3Egjh 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-13_02,2023-07-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 priorityscore=1501 mlxlogscore=713 clxscore=1015 mlxscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307130047 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, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: 1771283271237605528 X-GMAIL-MSGID: 1771283271237605528 IPQ5332 has tsens v2.3.3 peripheral. This patch adds the tsense node with nvmem cells for calibration data. Signed-off-by: Praveenkumar I --- [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 Thu Jul 13 05:27:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 119548 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1605266vqm; Wed, 12 Jul 2023 22:35:29 -0700 (PDT) X-Google-Smtp-Source: APBJJlESTmfnxSPScAD/cNjxAMIpnbZ6UCrqhcZBJHLNU4ZwJCXJpdyxnH46F7RXvDB1fezYXRfd X-Received: by 2002:a17:907:3fa0:b0:986:38ab:ef99 with SMTP id hr32-20020a1709073fa000b0098638abef99mr6167182ejc.9.1689226528906; Wed, 12 Jul 2023 22:35:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689226528; cv=none; d=google.com; s=arc-20160816; b=ufncwjRPC1LPBZmPg6Z7IuNzraKiXFmeL6283byZlk6u6ko1lNLJqhEXXkAhBJxput ItuAn+rkzXLoFx5SprSA5QYwZSU/2jzVMpQPLljlrxDTDDaQasPttqTekjUFyoMxaJXv nCzuDjtLzNDGmkJw24csMxgiq/SjcIDWbgKtTkaSecpRfVvK2sxPukIYzhJ5NZRClgTj TBowiIcx0fNEWoxTaxg047jAllNeaPJZV3PRfFzA9AI8zYGlfvhXIvLT1/RZle121l1B EAjwqQ1+B4Jsdc8fuVuYbi9AT4zZ7K2vgQhukU9M/8cTWHrtJG5YCNj0B+XaKOl1QSua vFTg== 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=hTH54lEjFQQJt6OuEWTYkynaoOES9vHbHwtTwU/uqIY=; fh=hGvN8g5Tc8XbSjS7FvrEf4ONBsfwZeApRyks9Y0cJkQ=; b=gFAe8okumV4CWZvgXJNPJkD0tpyFBM5ZPOzpjIROjZq5/gJqNU8HbgtySTR4DVe6ly zkjyD9vAzTTzMlXGOE9WZiuCT+E1EIZC68hE6SGC6zgSGwaDVpmk23ZL/yDCx4fHVB3y 7aisEh9KSinEFsursudkFZbZiVyny1z+kMIBvLVZyfBxEugOKsw0mTsMaPtTRaHW9a0z 8D+lJaPZJIiJfdnkkLrpnIb24N6t1qL1gd4DORQEwkDxryiJH4cswFsRtBRfV7lKB4CM RmbkmgGALAR6+2ATzn0wtrvy/4sbnYa6EEh1LquKr4Q1bZdY3vqQ160Nwtx+xjGpL3Xw pCbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=b5EvMSCF; 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 b9-20020a170906490900b0098718777182si6392687ejq.685.2023.07.12.22.35.05; Wed, 12 Jul 2023 22:35: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=b5EvMSCF; 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 S233966AbjGMF2i (ORCPT + 99 others); Thu, 13 Jul 2023 01:28:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233494AbjGMF2b (ORCPT ); Thu, 13 Jul 2023 01:28:31 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E80762693; Wed, 12 Jul 2023 22:28:23 -0700 (PDT) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36D3f11M018001; Thu, 13 Jul 2023 05:28:18 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=hTH54lEjFQQJt6OuEWTYkynaoOES9vHbHwtTwU/uqIY=; b=b5EvMSCFPQpRPAku6mlOrShTxiEA5eRK5fcdTxSjCvk0uKjbga+4soWvTscT+oxD6uok wHCcloZI75PW5De2DSiZSHOxXSXf9/VIOTw6AsOJcS0toKByM3IZ9noq/696dquF3n8n B6bfA0ZzmmrYbaF/MvpWpwoXYxrV3S5sUV774irKfRwi+sp0UI2eZXdaOI03ZTwqIC21 FzvSHN7fhIkd+nMRu8zsgajgzAACbtkF/uloFnTt+nC4nBN5mmn8FYhA/EmSNnx9Ha8G yA8wXMcT1AtRYSf5B98dnvnkKZFPQSeM6pruVzMS7gZKZtrTzv3WWodUWkG8olC2xXNk Hw== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rt89tr8jw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:18 +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 36D5SHw6028159 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:17 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, 12 Jul 2023 22:28:12 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v3 4/5] arm64: dts: qcom: ipq5332: Add thermal zone nodes Date: Thu, 13 Jul 2023 10:57:31 +0530 Message-ID: <20230713052732.787853-5-quic_ipkumar@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230713052732.787853-1-quic_ipkumar@quicinc.com> References: <20230713052732.787853-1-quic_ipkumar@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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-ORIG-GUID: xWFXayq8-2hg40QFALn6WUFeZ1BvNOUj X-Proofpoint-GUID: xWFXayq8-2hg40QFALn6WUFeZ1BvNOUj 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-13_02,2023-07-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 spamscore=0 adultscore=0 mlxscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1015 mlxlogscore=999 suspectscore=0 priorityscore=1501 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307130047 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, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: 1771282397059069229 X-GMAIL-MSGID: 1771282397059069229 This patch adds thermal zone nodes for sensors present in IPQ5332. Reviewed-by: Dmitry Baryshkov Signed-off-by: Praveenkumar I --- [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 Thu Jul 13 05:27:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Praveenkumar I X-Patchwork-Id: 119550 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1606217vqm; Wed, 12 Jul 2023 22:38:20 -0700 (PDT) X-Google-Smtp-Source: APBJJlFgzaXJGiGXk8HsRAGzpXFJU+XIPcoLwwqy3dYNYsWkwO8JXDw0lxDzkzcEEj44VuCyP9Nm X-Received: by 2002:a05:6a20:65a9:b0:12d:130c:3ee3 with SMTP id p41-20020a056a2065a900b0012d130c3ee3mr137424pzh.44.1689226700386; Wed, 12 Jul 2023 22:38:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689226700; cv=none; d=google.com; s=arc-20160816; b=eQkTg0P5jAZhpoLw8STvkiN1AyxrlXm4+8klcbt+VHIZ5JX4vbpWIIPbXwG3822sbP YTir9af4V9N9H6dar9M0fNSqz66US41nRyKBJqB/yUXMXWtlNL/suFjsEkTiTAoMyobO SPEBi4lcGyo4vNIgP20fYrlx1Ob8XhQYgi6rtxi01BFqs+0YF3ggvMOn+KQlwaGrq2AU h3HrtF6lAXkf/dk5xhv/xBFM/6HqtaTYg/U9i83QdLTLtxc3+J+d0EkGRD3s6t2wEI5L tQIlYUR8rFlNCMjaJ5DYG4xYD1wBGeVOBKbWjR/m7F0YwXczRrK3As3rZxYz39x/QTEL PJvA== 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=QObqN0GjvtUa3AyznHPVstNctKaQN2SPZPALv7WOhsQ=; fh=hGvN8g5Tc8XbSjS7FvrEf4ONBsfwZeApRyks9Y0cJkQ=; b=iE9QHCEOsSY2XK8/ShdW8wvRnYmBBAK2fBIU1RLsrhK2Ia+ImqLzMJYsBXmuqPOX90 7XSNV99++gpCn/mCuZcI1+Vkciu0+VxLfVxS+LIstKctVb4kdXmJufu5PrepqpL5iZnR EvP0f9ooLL+mGZ1pivgccSGk2L51grXOYdlfTh8zKOTTK20j18BePXeO6/ztfvMTEpsP j1oj3YFP3YdhxoTFs4toxQDUaEgfaGPGQRO+2XIo3KEQ9yVoY2C3t2dWQ5j64LOt/5/b 3SpypjMynv+KqL+X7PhD70PkCCPNIByw2PLhn4iaZ9KQOVvNT0QZYVlXndD1WZTiC4b9 bIzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=X8B0d2sU; 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 kv5-20020a17090328c500b001b7f4696a2csi4382676plb.347.2023.07.12.22.38.07; Wed, 12 Jul 2023 22:38:20 -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=X8B0d2sU; 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 S233970AbjGMF3F (ORCPT + 99 others); Thu, 13 Jul 2023 01:29:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55836 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233974AbjGMF3A (ORCPT ); Thu, 13 Jul 2023 01:29:00 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6EF132728; Wed, 12 Jul 2023 22:28:36 -0700 (PDT) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36D4TR38031455; Thu, 13 Jul 2023 05:28:24 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=QObqN0GjvtUa3AyznHPVstNctKaQN2SPZPALv7WOhsQ=; b=X8B0d2sU+HpWegHofllnYPJqsvI28VUqtyT5ABxkMRO6/yTLgv5Tdlk2B0BJ4PutX3Ss WdRL5/+uYMOl5DL/Ci2Yw3FYZ1hPYSMFk+s9G8ERh3sN9WbZ875yIYe73p0bUl1CRVk5 xiHP8zTHhEZhnA7EicJdNDIJAqA53zxLq3rfk5npfKBeiIrFKmywc8uxf/1s8D8OCWNF 55ImoRsOCjjM0RQosr298cAW6lbgcZHucv5SI8MO/6yanzHOBmUof+UeTEyqrtNtuNF1 0c9/x4J4QosEjP54W7I9AG726EcCh1beAjSlPc+6tz/lItikspJUP21GHpr/FEsqsJK9 HA== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rser0uc3p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:24 +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 36D5SNT1028255 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jul 2023 05:28:23 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, 12 Jul 2023 22:28:17 -0700 From: Praveenkumar I To: , , , , , , , , , , , , , , CC: Subject: [PATCH v3 5/5] thermal/drivers/tsens: Add IPQ5332 support Date: Thu, 13 Jul 2023 10:57:32 +0530 Message-ID: <20230713052732.787853-6-quic_ipkumar@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230713052732.787853-1-quic_ipkumar@quicinc.com> References: <20230713052732.787853-1-quic_ipkumar@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: oS7LX2NxtWiWMtzp8CIjJFlYPgNpSpuW X-Proofpoint-ORIG-GUID: oS7LX2NxtWiWMtzp8CIjJFlYPgNpSpuW 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-13_02,2023-07-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 malwarescore=0 adultscore=0 impostorscore=0 mlxscore=0 suspectscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307130047 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, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: 1771282576482273761 X-GMAIL-MSGID: 1771282576482273761 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 --- [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 781595a9a622..e25d9d34e519 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c @@ -62,6 +62,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 */ @@ -262,6 +273,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__ */