From patchwork Fri Jan 5 14:54:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 760301 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E7E312E62C for ; Fri, 5 Jan 2024 14:54:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="TQAZM/lL" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-a2821884a09so134618866b.2 for ; Fri, 05 Jan 2024 06:54:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1704466480; x=1705071280; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=jvqHpSG2cKdnmJ9eXRXA0NxGczv5lsHJ2CQrOmhp7+4=; b=TQAZM/lL5eIxYThN3x0CoCFE4XF6qNwW0Q/68HhpoOc52k2zo3rtZFGB3vTs/o+QvS SqSNzPscDL21Qhf6o0ahbWuQBf35I/H14TmDb9Y3w6Q3KauuDAydhtHoinLFOwG0trH9 TCqxW8jQB+UM600Yc0P2Vc3YJPfboL18suE915J/tip5H6DBR3xS36T6HVdaSUNdjptH takugx60vxz46lJILjrV3I93/GPjbXcDG8aZYFW7aK33Jc75q4DnDUJCvchfv0FVgIPF 15IsQCbisTlZHUo6HPexoAcLIUKvEyy64+gAGcBSDfkzW9JavnTCO+0THgj7DIaMFWk/ /w4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704466480; x=1705071280; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jvqHpSG2cKdnmJ9eXRXA0NxGczv5lsHJ2CQrOmhp7+4=; b=T9QJYtDp8sVa889Thli9dMdN+qhfUfgltB1ms7edZfoU4Lb7kM8cbgf9Yvj+Cjrz9E Uto1vFLdqwKxO2bNTtT6yaFWZmaoHhq2TNHP5hXLFwy2/Lys4OGVYz6pWmjS0nl47MJ8 g0EnsfQClDwXr1VseJKzoq/ozt3zVvzAYEyyPfCyO7ABa0FODt5qil+3tgpxwkmvwy9J qnAGIx2W6os/bUQT4czPfYU2cFeGgEbfQU84BQkzKW6yWvwG5d15jFlMKzlCNkBAnotX W86Yj1XVpKBMOdcUt3ZvJPii8WzpsxuAmeBIWqEvmrBMr6fxJH3wUTQqmrPcJt0zpPR4 kckA== X-Gm-Message-State: AOJu0YxMvIt0h+OCkuoV4MY9bz6M+4Jv+FKJHvxjAeFpQ53NN0/7d52w dOo8qgRXxZu8gteD+XNquWbvOkZRa01K3w== X-Google-Smtp-Source: AGHT+IH041yxCVJ0TTR5qGGoL88yZ4dSxuZjqIdFGUseiPOwfwTWfGvD6HHrkRkkcQWkCdH7O1VR5A== X-Received: by 2002:a17:906:dfd0:b0:a29:3cad:1c5d with SMTP id jt16-20020a170906dfd000b00a293cad1c5dmr566975ejc.37.1704466480300; Fri, 05 Jan 2024 06:54:40 -0800 (PST) Received: from otso.luca.vpn.lucaweiss.eu (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a17-20020a1709065f9100b00a2471bb0d11sm963140eju.31.2024.01.05.06.54.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jan 2024 06:54:40 -0800 (PST) From: Luca Weiss Date: Fri, 05 Jan 2024 15:54:27 +0100 Subject: [PATCH 1/2] arm64: dts: qcom: sm7225-fairphone-fp4: Add PMK8003 thermals Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240105-fp4-thermals-v1-1-f95875a536b7@fairphone.com> References: <20240105-fp4-thermals-v1-0-f95875a536b7@fairphone.com> In-Reply-To: <20240105-fp4-thermals-v1-0-f95875a536b7@fairphone.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.12.4 Configure the thermals for the XO_THERM thermistor connected to the PMK8003 (which is called PMK8350 in software). The ADC configuration for PMK8350_ADC7_AMUX_THM1_100K_PU has already been added in the past. The trip points can really only be considered as placeholders, more configuration with cooling etc. can be added later. Signed-off-by: Luca Weiss --- arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts index ade619805519..b7ccfe4011bb 100644 --- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts @@ -112,6 +112,20 @@ active-config0 { }; }; }; + + xo-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&pmk8350_adc_tm 0>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; }; }; @@ -490,6 +504,17 @@ conn-therm@1 { }; }; +&pmk8350_adc_tm { + status = "okay"; + + xo-therm@0 { + reg = <0>; + io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; +}; + &pmk8350_rtc { status = "okay"; }; From patchwork Fri Jan 5 14:54:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 760492 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF9CA2E40B for ; Fri, 5 Jan 2024 14:54:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="a/ZLHPR6" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a26fa294e56so174316666b.0 for ; Fri, 05 Jan 2024 06:54:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1704466482; x=1705071282; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=jq9n9lpe0Y+9jpO1UU+afvnCvK//2FOqgM2SLn2wYw4=; b=a/ZLHPR6gJOb2iJq0m46DqCOW/N06vrAQ4Q4aO4dKp13Kho/xJ2QbNMHry5R+gkVRa IyG9mQFb3asG25mUQUlKYATofFX1wA19AhVC+Lsvj8RnuipeNLClCKF9mv3u4nULjuiv lTlfjTeKEahkZuVQVa2MxLXGls7f+kjdyrr94aZlleWi1mn2R4cHnvPZE8Otp9Io2NbL I1xTGEQvWyKY2CrQstIHn96W5alkkrEN94PFBOZKrQGxlKQ9YHLEyUe+xPAbkr2TlIZw jRu2o0d+F3jeDailnC5WU+BhLgzZ1C+5UVO5y3ZN3zpS31wv/wDaf4NEpEIeLUJxl+X/ 2RrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704466482; x=1705071282; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jq9n9lpe0Y+9jpO1UU+afvnCvK//2FOqgM2SLn2wYw4=; b=JasEAzUNeFQBiNBCbcXyFHOX3sXqE+V10L64lMGQqthPdz/e7y8Ed5dA7YIbVOoh7z mKN3sYONt6V5QRLjvQYigYI3odPtu9SUFwTf5mkNQgnsD115zlQYYUpjdzgW5m/iO7RM KWtn72N22F0GoZjMnqSRkacmcsz0dtHtPlxQzSCUCud4tnsygN/20ksjE0Cy0UVen0X0 sZ3yCQaP1xiUROjejo0BQ7+YXy8vI4GdW+2uyR7iwknioJcQ5eDc60qOyt9xzzbKosbg vN96vb72DU/5/znC8H/o0N94NRtFoIqZlbgEfHL3aLa0l0juTyzPNbAPWO40YrMbB9Nl wjjA== X-Gm-Message-State: AOJu0YxLt5Do3ffXh22fV3txEVu44iMlLpjMchU0hbPSFEWRJ4z3tGkS o4CB5+363H5Fu8nHQ35lM9TCl4OpcoKFbg== X-Google-Smtp-Source: AGHT+IGiujnXbcayqnFfrIGyXs5O5L/tyn/ZR4i3KUdWhw+JxaofT2MFT33e2kZLo6hyhMONijzo1A== X-Received: by 2002:a17:906:d0d1:b0:a28:a13e:2339 with SMTP id bq17-20020a170906d0d100b00a28a13e2339mr1183827ejb.61.1704466482186; Fri, 05 Jan 2024 06:54:42 -0800 (PST) Received: from otso.luca.vpn.lucaweiss.eu (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a17-20020a1709065f9100b00a2471bb0d11sm963140eju.31.2024.01.05.06.54.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jan 2024 06:54:41 -0800 (PST) From: Luca Weiss Date: Fri, 05 Jan 2024 15:54:28 +0100 Subject: [PATCH 2/2] arm64: dts: qcom: sm7225-fairphone-fp4: Add PM6150L thermals Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240105-fp4-thermals-v1-2-f95875a536b7@fairphone.com> References: <20240105-fp4-thermals-v1-0-f95875a536b7@fairphone.com> In-Reply-To: <20240105-fp4-thermals-v1-0-f95875a536b7@fairphone.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.12.4 Configure the thermals for the PA_THERM1, MSM_THERM, PA_THERM0, RFC_CAM_THERM, CAM_FLASH_THERM and QUIET_THERM thermistors connected to PM6150L. Due to hardware constraints we can only register 4 zones with pm6150l_adc_tm, the other 2 we can register via generic-adc-thermal. The trip points can really only be considered as placeholders, more configuration with cooling etc. can be added later. Signed-off-by: Luca Weiss --- arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 191 ++++++++++++++++++++++ 1 file changed, 191 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts index b7ccfe4011bb..6f435a7ed855 100644 --- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts @@ -84,6 +84,20 @@ memory@efe01000 { }; }; + msm_therm_sensor: thermal-sensor-msm { + compatible = "generic-adc-thermal"; + #thermal-sensor-cells = <0>; + io-channels = <&pm6150l_adc ADC5_AMUX_THM2_100K_PU>; + io-channel-names = "sensor-channel"; + }; + + rear_cam_sensor: thermal-sensor-rear-cam { + compatible = "generic-adc-thermal"; + #thermal-sensor-cells = <0>; + io-channels = <&pm6150l_adc ADC5_GPIO2_100K_PU>; + io-channel-names = "sensor-channel"; + }; + thermal-zones { chg-skin-thermal { polling-delay-passive = <0>; @@ -113,6 +127,90 @@ active-config0 { }; }; + pa0-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&pm6150l_adc_tm 1>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + pa1-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&pm6150l_adc_tm 0>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + quiet-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&pm6150l_adc_tm 3>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + rear-cam-thermal { + polling-delay-passive = <1000>; + polling-delay = <5000>; + thermal-sensors = <&rear_cam_sensor>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + rfc-flash-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&pm6150l_adc_tm 2>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + sdm-skin-thermal { + polling-delay-passive = <1000>; + polling-delay = <5000>; + thermal-sensors = <&msm_therm_sensor>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + xo-thermal { polling-delay-passive = <0>; polling-delay = <0>; @@ -423,6 +521,91 @@ &mpss { status = "okay"; }; +&pm6150l_adc { + pinctrl-0 = <&pm6150l_adc_default>; + pinctrl-names = "default"; + + channel@4d { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + label = "pa_therm1"; + }; + + channel@4e { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + label = "msm_therm"; + }; + + channel@4f { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + label = "pa_therm0"; + }; + + channel@53 { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + label = "rear_cam_therm"; + }; + + channel@54 { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + label = "rear_cam_flash_therm"; + }; + + channel@55 { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + label = "quiet_therm"; + }; +}; + +&pm6150l_adc_tm { + status = "okay"; + + pa-therm1@0 { + reg = <0>; + io-channels = <&pm6150l_adc ADC5_AMUX_THM1_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; + + pa-therm0@1 { + reg = <1>; + io-channels = <&pm6150l_adc ADC5_AMUX_THM3_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; + + rear-cam-flash-therm@2 { + reg = <2>; + io-channels = <&pm6150l_adc ADC5_GPIO3_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; + + quiet-therm@3 { + reg = <3>; + io-channels = <&pm6150l_adc ADC5_GPIO4_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; +}; + &pm6150l_flash { status = "okay"; @@ -445,6 +628,14 @@ led-1 { }; }; +&pm6150l_gpios { + pm6150l_adc_default: adc-default-state { + pins = "gpio6", "gpio7", "gpio10"; + function = PMIC_GPIO_FUNC_NORMAL; + bias-high-impedance; + }; +}; + &pm6150l_wled { qcom,switching-freq = <800>; qcom,current-limit-microamp = <20000>;