* [PATCH v5 3/7] dt: qcom: 8996: thermal: Move to DT initialisation
2018-07-09 11:27 [PATCH v5 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
@ 2018-07-09 11:27 ` Amit Kucheria
2018-07-09 11:27 ` [PATCH v5 6/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP Amit Kucheria
2018-07-09 11:27 ` [PATCH v5 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2 siblings, 0 replies; 5+ messages in thread
From: Amit Kucheria @ 2018-07-09 11:27 UTC (permalink / raw)
To: linux-kernel
Cc: rnayak, linux-arm-msm, bjorn.andersson, edubezval, smohanad,
vivek.gautam, andy.gross, David Brown, Rob Herring, Mark Rutland,
Catalin Marinas, Will Deacon, linux-soc, devicetree,
linux-arm-kernel
We also split up the regmap address space into two, one for the TM
registers, the other for the SROT registers. This was required to deal with
different address offsets for the TM and SROT registers across different
SoC families.
Since tsens-common.c/init_common() currently only registers one address
space, the order is important (TM before SROT). This is OK since the code
doesn't really use the SROT functionality yet.
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 8c7f9ca..6c8a857 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -461,7 +461,17 @@
tsens0: thermal-sensor@4a8000 {
compatible = "qcom,msm8996-tsens";
- reg = <0x4a8000 0x2000>;
+ reg = <0x4a9000 0x1000>, /* TM */
+ <0x4a8000 0x1000>; /* SROT */
+ #qcom,sensors = <13>;
+ #thermal-sensor-cells = <1>;
+ };
+
+ tsens1: thermal-sensor@4ac000 {
+ compatible = "qcom,msm8996-tsens";
+ reg = <0x4ad000 0x1000>, /* TM */
+ <0x4ac000 0x1000>; /* SROT */
+ #qcom,sensors = <8>;
#thermal-sensor-cells = <1>;
};
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v5 6/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP
2018-07-09 11:27 [PATCH v5 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-09 11:27 ` [PATCH v5 3/7] dt: qcom: 8996: thermal: Move to DT initialisation Amit Kucheria
@ 2018-07-09 11:27 ` Amit Kucheria
2018-07-09 11:27 ` [PATCH v5 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2 siblings, 0 replies; 5+ messages in thread
From: Amit Kucheria @ 2018-07-09 11:27 UTC (permalink / raw)
To: linux-kernel
Cc: rnayak, linux-arm-msm, bjorn.andersson, edubezval, smohanad,
vivek.gautam, andy.gross, Zhang Rui, Rob Herring, Mark Rutland,
linux-pm, devicetree
We want to create common code for v2 of the TSENS IP block that is used in
a large number of Qualcomm SoCs. "qcom,tsens-v2" should be able to handle
most of the common functionality start with a common get_temp() function.
It is also necessary to split out the memory regions for the TM and SROT
register banks because their offsets are not constant across SoC families.
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
---
.../devicetree/bindings/thermal/qcom-tsens.txt | 25 +++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
index 06195e8..8f963b1 100644
--- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
+++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
@@ -1,10 +1,16 @@
* QCOM SoC Temperature Sensor (TSENS)
Required properties:
-- compatible :
- - "qcom,msm8916-tsens" : For 8916 Family of SoCs
- - "qcom,msm8974-tsens" : For 8974 Family of SoCs
- - "qcom,msm8996-tsens" : For 8996 Family of SoCs
+- compatible:
+ Must be one of the following:
+ - "qcom,msm8916-tsens" (MSM8916)
+ - "qcom,msm8974-tsens" (MSM8974)
+ - "qcom,msm8996-tsens" (MSM8996)
+ - "qcom,msm8998-tsens", "qcom,tsens-v2" (MSM8998)
+ - "qcom,sdm845-tsens", "qcom,tsens-v2" (SDM845)
+ The generic "qcom,tsens-v2" property must be used as a fallback for any SoC with
+ version 2 of the TSENS IP. MSM8996 is the only exception beacause the generic
+ property did not exist when support was added.
- reg: Address range of the thermal registers
- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
@@ -12,7 +18,7 @@ Required properties:
- Refer to Documentation/devicetree/bindings/nvmem/nvmem.txt to know how to specify
nvmem cells
-Example:
+Example 1 (legacy support before a fallback tsens-v2 propoerty was introduced):
tsens: thermal-sensor@900000 {
compatible = "qcom,msm8916-tsens";
reg = <0x4a8000 0x2000>;
@@ -20,3 +26,12 @@ tsens: thermal-sensor@900000 {
nvmem-cell-names = "caldata", "calsel";
#thermal-sensor-cells = <1>;
};
+
+Example 2 (for any platform containing v2 of the TSENS IP):
+tsens0: tsens@c222000 {
+ compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
+ reg = <0xc263000 0x1ff>, /* TM */
+ <0xc222000 0x1ff>; /* SROT */
+ #qcom,sensors = <13>;
+ #thermal-sensor-cells = <1>;
+ };
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v5 7/7] arm64: dts: sdm845: Add tsens nodes
2018-07-09 11:27 [PATCH v5 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-09 11:27 ` [PATCH v5 3/7] dt: qcom: 8996: thermal: Move to DT initialisation Amit Kucheria
2018-07-09 11:27 ` [PATCH v5 6/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP Amit Kucheria
@ 2018-07-09 11:27 ` Amit Kucheria
2018-07-09 11:37 ` Amit Kucheria
2 siblings, 1 reply; 5+ messages in thread
From: Amit Kucheria @ 2018-07-09 11:27 UTC (permalink / raw)
To: linux-kernel
Cc: rnayak, linux-arm-msm, bjorn.andersson, edubezval, smohanad,
vivek.gautam, andy.gross, David Brown, Rob Herring, Mark Rutland,
Catalin Marinas, Will Deacon, linux-soc, devicetree,
linux-arm-kernel
SDM845 has two tsens blocks, one with 13 sensors and the other with 8
sensors. It uses version 2 of the TSENS IP, so use the fallback property to
allow more common code.
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
---
arch/arm64/boot/dts/qcom/sdm845.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index cdaabeb..d97ee00 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -221,6 +221,22 @@
#interrupt-cells = <2>;
};
+ tsens0: tsens@c222000 {
+ compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
+ reg = <0xc263000 0x1ff>, /* TM */
+ <0xc222000 0x1ff>; /* SROT */
+ #qcom,sensors = <13>;
+ #thermal-sensor-cells = <1>;
+ };
+
+ tsens1: tsens@c223000 {
+ compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
+ reg = <0xc265000 0x1ff>, /* TM */
+ <0xc223000 0x1ff>; /* SROT */
+ #qcom,sensors = <8>;
+ #thermal-sensor-cells = <1>;
+ };
+
spmi_bus: spmi@c440000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xc440000 0x1100>,
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v5 7/7] arm64: dts: sdm845: Add tsens nodes
2018-07-09 11:27 ` [PATCH v5 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
@ 2018-07-09 11:37 ` Amit Kucheria
0 siblings, 0 replies; 5+ messages in thread
From: Amit Kucheria @ 2018-07-09 11:37 UTC (permalink / raw)
To: LKML
Cc: Rajendra Nayak, linux-arm-msm, Bjorn Andersson, Eduardo Valentin,
smohanad, Vivek Gautam, Andy Gross, David Brown, Rob Herring,
Mark Rutland, Catalin Marinas, Will Deacon,
open list:ARM/QUALCOMM SUPPORT,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, lakml
On Mon, Jul 9, 2018 at 4:57 PM, Amit Kucheria <amit.kucheria@linaro.org> wrote:
> SDM845 has two tsens blocks, one with 13 sensors and the other with 8
> sensors. It uses version 2 of the TSENS IP, so use the fallback property to
> allow more common code.
>
> Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index cdaabeb..d97ee00 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -221,6 +221,22 @@
> #interrupt-cells = <2>;
> };
>
> + tsens0: tsens@c222000 {
Oops, sending out v6 to fix this.
> + compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
> + reg = <0xc263000 0x1ff>, /* TM */
> + <0xc222000 0x1ff>; /* SROT */
> + #qcom,sensors = <13>;
> + #thermal-sensor-cells = <1>;
> + };
> +
> + tsens1: tsens@c223000 {
> + compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
> + reg = <0xc265000 0x1ff>, /* TM */
> + <0xc223000 0x1ff>; /* SROT */
> + #qcom,sensors = <8>;
> + #thermal-sensor-cells = <1>;
> + };
> +
> spmi_bus: spmi@c440000 {
> compatible = "qcom,spmi-pmic-arb";
> reg = <0xc440000 0x1100>,
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 5+ messages in thread