From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70E283E5A35 for ; Wed, 24 Jun 2026 21:08:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782335333; cv=none; b=WJ5uUIVVETl5gTuPih9+KtC+4wCUQjGiWhZAFd24NiPa5sn0lvEDs3q/LojwV43o9bGgAa3SQynA8IIJEua1SEGVid08ruWR6IRWwhkYvly+pl+znbEWYx6y1ccCA3e3HgsvXc3wpwXuRyHOqk/9L6lGytn4BNJ86gPzfsv/3t4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782335333; c=relaxed/simple; bh=WLYdUaTWVpBtZwNr3HlNaZyWKT1SmuJRkQxVpfGW8Zs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VqfN+mC1LKiLeg30aMJbCXoHVzjxIpn3KlKA4lzVWelHgR/xJbhdVTq2i1HYJUakx+0vV3E+EXbAqqrAwXKYciLE7sBaPS3COq57hkYSd0M0AOVLB0AEfdyrIWecuvSoNKPKY98lXCTIIlBcgzX4w5r0vodEB0UmMsFf5gTz6PY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=JVursoEo; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UuTKB7L5; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="JVursoEo"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UuTKB7L5" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65OJjeov4119870 for ; Wed, 24 Jun 2026 21:08:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=/4mZazLNplc RI7UA2lzg985hqmjiwniHBuU0w4DnhHw=; b=JVursoEorsmNtXPLcrRyPc320K6 YuCsFBeCRo5KNYdCnDR/YCHW8JIj9IOQV8ABEkfyHoPYJTN/2mc5yovMBAKQ4twC C/t3s0MVIVaum3yytrsaxYXdxdvJLroIe5h8j8Ie5oaR7Oyv6W0tcGBmsPbxPqsS bh8Il40tqvDFD6WLWGxpwtc8NZO+EI+EVs3PDfDda9fQd5DsPW93P46Nuygob5ce gDFHazQQv8taF2VIkYfXXbYeRMeIrudFxGA7ykzSbWn8CBscWNHXfb5sy33umXLT uqk52F5V3CWS568yEbEwhc9R2C7Vx0cHCR2ZV1GgTW6R7WNcCcMpI0Eebhg== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f0apq36vh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 24 Jun 2026 21:08:49 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-91931144870so275082785a.1 for ; Wed, 24 Jun 2026 14:08:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782335329; x=1782940129; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/4mZazLNplcRI7UA2lzg985hqmjiwniHBuU0w4DnhHw=; b=UuTKB7L50nAk3HKd1FcDjK3lchUNdX6eR1/YiC9WeSQyditN3Ylewyzn6pfCkvy7F4 nz4JScNLBht1VMMLYnBuCh4YlNWvR9vnyeA3dLhCGAlR76r430HcIN08THpQFonPJUCv 0wg7r92zMcwp7YJ8h1foknfMG+OQjqDc6dKQXTaT5qwHgzfWLdPC///Se3iSzvWnbFz/ goncHquwbR2+cY4oYP4plL+7hXoVW7QObIf0KaIFo6d6Hl8DMuHL2SIgmsGIgdNWDlYF t9pZL6wjlG/mYy8+UsWcXMeKf2AMBdmKzbXH4P3tLu76rViyvhg0wCh31RrZLL2GQ0/D iO7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782335329; x=1782940129; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=/4mZazLNplcRI7UA2lzg985hqmjiwniHBuU0w4DnhHw=; b=pqvolrVICtFYM5NGkAAssTBOurG8fxjkTMbHIpCsLSk/pyBbwTYnidEbOFIdFFnRYu Dt0khr5aU++Tp2dpYkn0kvvO0qCR28XwWJJkRrvoDYFKlLpNmoDOcw7aRSbtqM6HGpMu 28f4eHyj5R6ic3JECbzSoL8/9BMPR2njnsp47Ut8y+TzNkb0BloRW5uD9WMWAH4S+ovT qfu0yYLVCSyzxcz1Is6UJp/c2CyYHJg05ToO/30YmiPGWRxGgkqq+irgvv45MR7JOvDB ZrBUkfFZqtf16B8UdAzGmQ1V6aHt50RNwl7oQzACMx4w9JqWZkGdx/V1Rr9AOOgymSy1 T5Dw== X-Forwarded-Encrypted: i=1; AFNElJ8iHJwi/aks+jc421Wkf4pI+rlnI4oce6cf7q+Wye44sBhfYs97PGKGVkR6sXkEiDVJDYzjSagM/CVEBa4=@vger.kernel.org X-Gm-Message-State: AOJu0YzkM4NTJxeRG1I/zXnzZLG0dFSdMD2ZD60puemg+QDWzG3zgn5f g4TvSyJmi7FewHIcRYePMQ2KoHOU2uLuvZYi7dKNnS+fj8pRXyfyT2ml13DiRtXSPXeKIabu+yv YDTHAZqTfrHMKJ1JvqabPYRAHhJTIIc11XPp0JBXvPbGJgfqnl9LitwfWHDRw9oaTKMg= X-Gm-Gg: AfdE7cmvqqmMtRgUyu3gubJQ/iYDaTgaMGYMsrxFLrL+ytL1TvVmWHd9DCiV9K8vo+w 5K47tlWWxdPX5ROifuHFOf+Nti56lyRdes9w6hLVn6hrIQdVQW5hP6r8OiIbUmpCy8meKtKHXN9 YCaTzbOb2dJ70mQLUT8USJV8QRJ0jOqVQU1/MhWNL6ypPNGSn55kirz72GyBwY/1oqx6YBhhHUf HoYckZdorRfeoI8iQkm/CCgsT0JMutxm7DK/DFezh3qEmrRCj/0HHzxO4MS0swon1zN+8TUk6cj NMAzimE82AtW/E3zHhs0tOELEsWwLSKHMvDfCf5vn/KxvSiMZcOazztg4gQn+C71CGIQYOdhwWZ lNGdqjmkpn5FUh/Ybei8Atx7pU77kTNhBqMJYXUCdT7A3dA== X-Received: by 2002:a05:620a:4808:b0:915:aad5:e961 with SMTP id af79cd13be357-92644cf4c21mr1431682085a.19.1782335328455; Wed, 24 Jun 2026 14:08:48 -0700 (PDT) X-Received: by 2002:a05:620a:4808:b0:915:aad5:e961 with SMTP id af79cd13be357-92644cf4c21mr1431676085a.19.1782335327986; Wed, 24 Jun 2026 14:08:47 -0700 (PDT) Received: from juillet.box.freepro.com ([2a05:6e02:1041:c10:91ef:5c1f:e854:38f1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1e840efdsm9455767f8f.5.2026.06.24.14.08.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 14:08:47 -0700 (PDT) From: Daniel Lezcano To: sre@kernel.org, hansg@kernel.org, ilpo.jarvinen@linux.intel.com, linux@roeck-us.net, andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: bryan.odonoghue@linaro.org, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v1 3/3] arm64: dts: qcom: x1e78100-t14s: Add thermal zones for keyboard skin and charging sensors Date: Wed, 24 Jun 2026 23:08:25 +0200 Message-ID: <20260624210825.264454-4-daniel.lezcano@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260624210825.264454-1-daniel.lezcano@oss.qualcomm.com> References: <20260624210825.264454-1-daniel.lezcano@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI0MDE3NyBTYWx0ZWRfX0Zl8nXX5Aser 4GtLjDQ7FvoO0NgnCuejzr1Ar1klICEbN1ymFC2ddJt4grdxRlmGAxcbTU0jiN+kZapCN1h4Th0 UdPXWriAvX4omfPNKohLT/nbAiFERio= X-Proofpoint-GUID: Kg7Z_nfnvPDGbptsoFSzbwDjfBbruWm9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI0MDE3NyBTYWx0ZWRfXz9y+y735RbAQ TT2qvRXYPf2isJG8q5blsr25/a5QCwc1s+mFGBaUuriwH+tYiaQXmR9786Z7cildQ9KfkSSUeYq Ipuv1kNVrezQBNG4AzAYJMz7sO/iBlH3eWXHVSg86obYspUE4IDe1wauaN2G55Nn09RF1yNsv3W tYRLu/AZhTPA9rs5rG9Z/4M0LR/CsPpexEbVAsX+FKUYSL5GmfWi0K2MXDELIwDi3YFszq/9jLD FemX5hvm7x9hwpsZR9pD5qkEW1mu7wl6gIrbpKtnnmwG0qzklAKiY3mLHTbSUEH/2r6eZ5RDShZ NFpzPSzhDJaLTeo9QtXJFhxS5CvfIizYyId66NCEIcwV1jsrCO2CJ6wbuaHOJlIXzzJfpGsA+Aw 5EUQaFA2UnUPrJ+dV3xoKT//HeMOSg== X-Authority-Analysis: v=2.4 cv=NpbhtcdJ c=1 sm=1 tr=0 ts=6a3c4761 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=MYPoBHUstc7QsOuohHEA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: Kg7Z_nfnvPDGbptsoFSzbwDjfBbruWm9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-24_04,2026-06-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606240177 Add thermal zone descriptions for the keyboard skin temperature and battery charging circuitry sensors exposed by the embedded controller. Expose the EC as a thermal sensor provider and define two thermal zones using the temperatures reported by the EC: - a keyboard skin temperature zone with passive and hot trip points, - a charging circuitry temperature zone with multiple passive trip points and CPU frequency mitigation levels. The charging thermal zone progressively throttles the different CPU clusters as the charging circuitry temperature rises and triggers a hot condition at the highest trip point. This provides thermal framework integration for the EC temperature sensors and enables platform thermal management through standard thermal zone definitions. Signed-off-by: Daniel Lezcano --- .../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 68 ++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi index 5d49df41be02..e27533665c8d 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi @@ -979,7 +979,7 @@ &i2c6 { status = "okay"; - embedded-controller@28 { + ec: embedded-controller@28 { compatible = "lenovo,thinkpad-t14s-ec"; reg = <0x28>; @@ -988,6 +988,8 @@ embedded-controller@28 { pinctrl-0 = <&ec_int_n_default>; pinctrl-names = "default"; + #thermal-sensor-cells = <1>; + wakeup-source; }; }; @@ -1729,3 +1731,67 @@ &usb_mp_qmpphy1 { status = "okay"; }; + +&thermal_zones { + ec-keyboard-thermal { + polling-delay = <5000>; + polling-delay-passive = <1000>; + + thermal-sensors = <&ec 1>; + + trips { + trip-point0 { + temperature = <55000>; + hysteresis = <2000>; + type = "passive"; + }; + + trip-point1 { + temperature = <62000>; + hysteresis = <0>; + type = "hot"; + }; + }; + }; + + ec-charging-thermal { + polling-delay = <5000>; + polling-delay-passive = <2000>; + + thermal-sensors = <&ec 3>; + + trips { + psv0: trip-point0 { + temperature = <55000>; + hysteresis = <0>; + type = "passive"; + }; + + alert0: trip-point1 { + temperature = <63000>; + hysteresis = <0>; + type = "hot"; + }; + }; + + cooling-maps { + map0 { + trip = <&psv0>; + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu8 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu9 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu10 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu11 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + + }; + }; + + }; +}; -- 2.53.0