linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/2] Expose thermal information for pms405 PMIC
@ 2018-12-12 10:17 Amit Kucheria
  2018-12-12 10:17 ` [PATCH v1 1/2] dt-bindings: iio: adc: Add binding for ADC on " Amit Kucheria
  2018-12-12 10:17 ` [PATCH v1 2/2] arm64: dts: pms405: Export PMIC temperature to thermal framework Amit Kucheria
  0 siblings, 2 replies; 4+ messages in thread
From: Amit Kucheria @ 2018-12-12 10:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arm-msm, bjorn.andersson, andy.gross, mka, khasim.mohammed,
	devicetree, David Brown, Douglas Anderson, Hartmut Knaack,
	Jonathan Cameron, Lars-Peter Clausen, Mark Rutland,
	Peter Meerwald-Stadler, Rob Herring, Siddartha Mohanadoss,
	open list:IIO SUBSYSTEM AND DRIVERS

Expose the on-die temperature sensor on the pms405 PMIC through the
spmi-temp-alarm driver.

This series applies on top of the qcs404 DT series by Vinod[1]

[1] https://patchwork.kernel.org/cover/10675575/

Amit Kucheria (2):
  dt-bindings: iio: adc: Add binding for ADC on pms405 PMIC
  arm64: dts: pms405: Export PMIC temperature to thermal framework

 .../bindings/iio/adc/qcom,spmi-vadc.txt       |  1 +
 arch/arm64/boot/dts/qcom/pms405.dtsi          | 79 +++++++++++++++++++
 2 files changed, 80 insertions(+)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v1 1/2] dt-bindings: iio: adc: Add binding for ADC on pms405 PMIC
  2018-12-12 10:17 [PATCH v1 0/2] Expose thermal information for pms405 PMIC Amit Kucheria
@ 2018-12-12 10:17 ` Amit Kucheria
  2018-12-20 20:05   ` Rob Herring
  2018-12-12 10:17 ` [PATCH v1 2/2] arm64: dts: pms405: Export PMIC temperature to thermal framework Amit Kucheria
  1 sibling, 1 reply; 4+ messages in thread
From: Amit Kucheria @ 2018-12-12 10:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arm-msm, bjorn.andersson, andy.gross, mka, khasim.mohammed,
	devicetree, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
	Peter Meerwald-Stadler, Rob Herring, Mark Rutland,
	Douglas Anderson, Siddartha Mohanadoss,
	open list:IIO SUBSYSTEM AND DRIVERS

PMS405 contains a variant of the spmi-adc-rev2 ADC. Create a new
compatible inorder to handle any differences.

Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
---
 Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt
index b3c86f4ac7cd..7ee94496b144 100644
--- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt
+++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt
@@ -13,6 +13,7 @@ VADC node:
     Definition: Should contain "qcom,spmi-vadc".
                 Should contain "qcom,spmi-adc5" for PMIC5 ADC driver.
                 Should contain "qcom,spmi-adc-rev2" for PMIC rev2 ADC driver.
+                Should contain "qcom,pms405-adc" for PMS405 PMIC
 
 - reg:
     Usage: required
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v1 2/2] arm64: dts: pms405: Export PMIC temperature to thermal framework
  2018-12-12 10:17 [PATCH v1 0/2] Expose thermal information for pms405 PMIC Amit Kucheria
  2018-12-12 10:17 ` [PATCH v1 1/2] dt-bindings: iio: adc: Add binding for ADC on " Amit Kucheria
@ 2018-12-12 10:17 ` Amit Kucheria
  1 sibling, 0 replies; 4+ messages in thread
From: Amit Kucheria @ 2018-12-12 10:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arm-msm, bjorn.andersson, andy.gross, mka, khasim.mohammed,
	devicetree, David Brown, Rob Herring, Mark Rutland

The PMS405 PMIC has an ADC that exposes the on-die temperature that we
wire up to spmi-temp-alarm thermal driver. This allows the PMIC
temperature to be exposed to Linux through the thermal framework.

Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
---
 arch/arm64/boot/dts/qcom/pms405.dtsi | 79 ++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/pms405.dtsi b/arch/arm64/boot/dts/qcom/pms405.dtsi
index ad2b62dfc9f6..1bb836d1e8aa 100644
--- a/arch/arm64/boot/dts/qcom/pms405.dtsi
+++ b/arch/arm64/boot/dts/qcom/pms405.dtsi
@@ -3,6 +3,32 @@
 
 #include <dt-bindings/spmi/spmi.h>
 #include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
+#include <dt-bindings/thermal/thermal.h>
+
+/ {
+	thermal-zones {
+		pms405 {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+
+			thermal-sensors = <&pms405_temp>;
+
+			trips {
+				pms405_alert0: pms405-alert0 {
+					temperature = <105000>;
+					hysteresis = <2000>;
+					type = "passive";
+				};
+				pms405_crit: pms405-crit {
+					temperature = <125000>;
+					hysteresis = <2000>;
+					type = "critical";
+				};
+			};
+		};
+	};
+};
 
 &spmi_bus {
 	pms405_0: pms405@0 {
@@ -45,6 +71,59 @@
 			};
 		};
 
+		pms405_temp: temp-alarm@2400 {
+			compatible = "qcom,spmi-temp-alarm";
+			reg = <0x2400>;
+			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
+			io-channels = <&pms405_adc ADC5_DIE_TEMP>;
+			io-channel-names = "thermal";
+			#thermal-sensor-cells = <0>;
+		};
+
+		pms405_adc: adc@3100 {
+			compatible = "qcom,pms405-adc", "qcom,spmi-adc-rev2";
+			reg = <0x3100>;
+			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			#io-channel-cells = <1>;
+
+			ref_gnd {
+				reg = <ADC5_REF_GND>;
+				qcom,pre-scaling = <1 1>;
+			};
+
+			vref_1p25 {
+				reg = <ADC5_1P25VREF>;
+				qcom,pre-scaling = <1 1>;
+			};
+
+			vph_pwr {
+				reg = <ADC5_VPH_PWR>;
+				qcom,pre-scaling = <1 3>;
+			};
+
+			die_temp {
+				reg = <ADC5_DIE_TEMP>;
+				qcom,pre-scaling = <1 1>;
+			};
+
+			xo_therm_100k_pu {
+				reg = <ADC5_XO_THERM_100K_PU>;
+				qcom,pre-scaling = <1 1>;
+			};
+
+			amux_thm1_100k_pu {
+				reg = <ADC5_AMUX_THM1_100K_PU>;
+				qcom,pre-scaling = <1 1>;
+			};
+
+			amux_thm3_100k_pu {
+				reg = <ADC5_AMUX_THM3_100K_PU>;
+				qcom,pre-scaling = <1 1>;
+			};
+		};
+
 		rtc@6000 {
 			compatible = "qcom,pm8941-rtc";
 			reg = <0x6000>;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v1 1/2] dt-bindings: iio: adc: Add binding for ADC on pms405 PMIC
  2018-12-12 10:17 ` [PATCH v1 1/2] dt-bindings: iio: adc: Add binding for ADC on " Amit Kucheria
@ 2018-12-20 20:05   ` Rob Herring
  0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2018-12-20 20:05 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: linux-kernel, linux-arm-msm, bjorn.andersson, andy.gross, mka,
	khasim.mohammed, devicetree, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald-Stadler, Mark Rutland,
	Douglas Anderson, Siddartha Mohanadoss,
	open list:IIO SUBSYSTEM AND DRIVERS

On Wed, 12 Dec 2018 15:47:54 +0530, Amit Kucheria wrote:
> PMS405 contains a variant of the spmi-adc-rev2 ADC. Create a new
> compatible inorder to handle any differences.
> 
> Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
> ---
>  Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-12-20 20:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-12 10:17 [PATCH v1 0/2] Expose thermal information for pms405 PMIC Amit Kucheria
2018-12-12 10:17 ` [PATCH v1 1/2] dt-bindings: iio: adc: Add binding for ADC on " Amit Kucheria
2018-12-20 20:05   ` Rob Herring
2018-12-12 10:17 ` [PATCH v1 2/2] arm64: dts: pms405: Export PMIC temperature to thermal framework Amit Kucheria

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).