* [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller
2018-07-12 8:39 [PATCH v7 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
@ 2018-07-12 8:39 ` Amit Kucheria
2018-07-12 17:14 ` Doug Anderson
2018-07-17 23:42 ` Matthias Kaehlcke
2018-07-12 8:39 ` [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP Amit Kucheria
2018-07-12 8:39 ` [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2 siblings, 2 replies; 13+ messages in thread
From: Amit Kucheria @ 2018-07-12 8:39 UTC (permalink / raw)
To: linux-kernel
Cc: rnayak, linux-arm-msm, bjorn.andersson, edubezval, smohanad,
vivek.gautam, andy.gross, dianders, mka, 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, for the TM and SROT
registers. This was required to deal with different address offsets for the
TM and SROT registers across different SoC families.
8996 has two TSENS IP blocks, initialise the second one too.
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>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 8c7f9ca..688e752 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -459,9 +459,19 @@
status = "disabled";
};
- tsens0: thermal-sensor@4a8000 {
+ tsens0: thermal-sensor@4a9000 {
compatible = "qcom,msm8996-tsens";
- reg = <0x4a8000 0x2000>;
+ reg = <0x4a9000 0x1000>, /* TM */
+ <0x4a8000 0x1000>; /* SROT */
+ #qcom,sensors = <13>;
+ #thermal-sensor-cells = <1>;
+ };
+
+ tsens1: thermal-sensor@4ad000 {
+ 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] 13+ messages in thread
* Re: [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller
2018-07-12 8:39 ` [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
@ 2018-07-12 17:14 ` Doug Anderson
2018-07-17 23:42 ` Matthias Kaehlcke
1 sibling, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2018-07-12 17:14 UTC (permalink / raw)
To: Amit Kucheria
Cc: LKML, Rajendra Nayak, linux-arm-msm, Bjorn Andersson,
Eduardo Valentin, smohanad, Vivek Gautam, Andy Gross,
Matthias Kaehlcke, David Brown, Rob Herring, Mark Rutland,
Catalin Marinas, Will Deacon, open list:ARM/QUALCOMM SUPPORT,
devicetree, Linux ARM
Hi,
On Thu, Jul 12, 2018 at 1:39 AM, Amit Kucheria <amit.kucheria@linaro.org> wrote:
> We also split up the regmap address space into two, for the TM and SROT
> registers. This was required to deal with different address offsets for the
> TM and SROT registers across different SoC families.
>
> 8996 has two TSENS IP blocks, initialise the second one too.
>
> 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>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
Reviewed-by: Douglas Anderson <dianders@chromium.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller
2018-07-12 8:39 ` [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
2018-07-12 17:14 ` Doug Anderson
@ 2018-07-17 23:42 ` Matthias Kaehlcke
2018-07-17 23:55 ` Doug Anderson
1 sibling, 1 reply; 13+ messages in thread
From: Matthias Kaehlcke @ 2018-07-17 23:42 UTC (permalink / raw)
To: Amit Kucheria
Cc: Mark Rutland, devicetree, dianders, rnayak, linux-arm-msm,
Will Deacon, linux-kernel, smohanad, edubezval, David Brown,
Rob Herring, vivek.gautam, Catalin Marinas, andy.gross,
bjorn.andersson, linux-soc, linux-arm-kernel
On Thu, Jul 12, 2018 at 02:09:04PM +0530, Amit Kucheria wrote:
> We also split up the regmap address space into two, for the TM and SROT
> registers. This was required to deal with different address offsets for the
> TM and SROT registers across different SoC families.
>
> 8996 has two TSENS IP blocks, initialise the second one too.
>
> 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>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> index 8c7f9ca..688e752 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> @@ -459,9 +459,19 @@
> status = "disabled";
> };
>
> - tsens0: thermal-sensor@4a8000 {
> + tsens0: thermal-sensor@4a9000 {
~~~~~~
I suppose the address of the TM block is used here instead of the SROT
address (which is lower) since SROT functionality is currently not
used. Would/should this change if/when the driver uses SROT?
> compatible = "qcom,msm8996-tsens";
> - reg = <0x4a8000 0x2000>;
> + reg = <0x4a9000 0x1000>, /* TM */
> + <0x4a8000 0x1000>; /* SROT */
> + #qcom,sensors = <13>;
> + #thermal-sensor-cells = <1>;
> + };
> +
> + tsens1: thermal-sensor@4ad000 {
> + compatible = "qcom,msm8996-tsens";
> + reg = <0x4ad000 0x1000>, /* TM */
> + <0x4ac000 0x1000>; /* SROT */
> + #qcom,sensors = <8>;
> #thermal-sensor-cells = <1>;
> };
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller
2018-07-17 23:42 ` Matthias Kaehlcke
@ 2018-07-17 23:55 ` Doug Anderson
2018-07-17 23:58 ` Matthias Kaehlcke
0 siblings, 1 reply; 13+ messages in thread
From: Doug Anderson @ 2018-07-17 23:55 UTC (permalink / raw)
To: Matthias Kaehlcke
Cc: Amit Kucheria, LKML, 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,
devicetree, Linux ARM
Hi,
On Tue, Jul 17, 2018 at 4:42 PM, Matthias Kaehlcke <mka@chromium.org> wrote:
> On Thu, Jul 12, 2018 at 02:09:04PM +0530, Amit Kucheria wrote:
>> We also split up the regmap address space into two, for the TM and SROT
>> registers. This was required to deal with different address offsets for the
>> TM and SROT registers across different SoC families.
>>
>> 8996 has two TSENS IP blocks, initialise the second one too.
>>
>> 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>
>> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>> Tested-by: Matthias Kaehlcke <mka@chromium.org>
>> ---
>> arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++++++--
>> 1 file changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> index 8c7f9ca..688e752 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> @@ -459,9 +459,19 @@
>> status = "disabled";
>> };
>>
>> - tsens0: thermal-sensor@4a8000 {
>> + tsens0: thermal-sensor@4a9000 {
> ~~~~~~
>
> I suppose the address of the TM block is used here instead of the SROT
> address (which is lower) since SROT functionality is currently not
> used. Would/should this change if/when the driver uses SROT?
For device tree you're always supposed to use the address of the first
"reg" listed as the unit address in the node name. It doesn't matter
if it's bigger or smaller as long as it's the first one listed.
The bindings indicate that the TM block should be listed as the first
register. This won't change even if you start using SROT.
-Doug
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller
2018-07-17 23:55 ` Doug Anderson
@ 2018-07-17 23:58 ` Matthias Kaehlcke
0 siblings, 0 replies; 13+ messages in thread
From: Matthias Kaehlcke @ 2018-07-17 23:58 UTC (permalink / raw)
To: Doug Anderson
Cc: Amit Kucheria, LKML, 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,
devicetree, Linux ARM
On Tue, Jul 17, 2018 at 04:55:10PM -0700, Doug Anderson wrote:
> Hi,
>
> On Tue, Jul 17, 2018 at 4:42 PM, Matthias Kaehlcke <mka@chromium.org> wrote:
> > On Thu, Jul 12, 2018 at 02:09:04PM +0530, Amit Kucheria wrote:
> >> We also split up the regmap address space into two, for the TM and SROT
> >> registers. This was required to deal with different address offsets for the
> >> TM and SROT registers across different SoC families.
> >>
> >> 8996 has two TSENS IP blocks, initialise the second one too.
> >>
> >> 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>
> >> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> >> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> >> ---
> >> arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++++++--
> >> 1 file changed, 12 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> >> index 8c7f9ca..688e752 100644
> >> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
> >> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> >> @@ -459,9 +459,19 @@
> >> status = "disabled";
> >> };
> >>
> >> - tsens0: thermal-sensor@4a8000 {
> >> + tsens0: thermal-sensor@4a9000 {
> > ~~~~~~
> >
> > I suppose the address of the TM block is used here instead of the SROT
> > address (which is lower) since SROT functionality is currently not
> > used. Would/should this change if/when the driver uses SROT?
>
> For device tree you're always supposed to use the address of the first
> "reg" listed as the unit address in the node name. It doesn't matter
> if it's bigger or smaller as long as it's the first one listed.
>
> The bindings indicate that the TM block should be listed as the first
> register. This won't change even if you start using SROT.
Thanks for the clarification, there is always something more to learn!
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP
2018-07-12 8:39 [PATCH v7 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-12 8:39 ` [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
@ 2018-07-12 8:39 ` Amit Kucheria
2018-07-12 17:15 ` Doug Anderson
2018-07-18 0:09 ` Matthias Kaehlcke
2018-07-12 8:39 ` [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2 siblings, 2 replies; 13+ messages in thread
From: Amit Kucheria @ 2018-07-12 8:39 UTC (permalink / raw)
To: linux-kernel
Cc: rnayak, linux-arm-msm, bjorn.andersson, edubezval, smohanad,
vivek.gautam, andy.gross, dianders, mka, 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>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>
---
.../devicetree/bindings/thermal/qcom-tsens.txt | 31 +++++++++++++++++-----
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
index 06195e8..b5312a8 100644
--- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
+++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
@@ -1,18 +1,28 @@
* 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.
+ New platforms containing v2.x.y of the TSENS IP must specify the SROT and TM
+ register spaces separately, with order being TM before SROT.
+ See Example 2, below.
-- reg: Address range of the thermal registers
- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
- #qcom,sensors: Number of sensors in tsens block
- 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 +30,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: thermal-sensor@c263000 {
+ 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] 13+ messages in thread
* Re: [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP
2018-07-12 8:39 ` [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP Amit Kucheria
@ 2018-07-12 17:15 ` Doug Anderson
2018-07-18 0:09 ` Matthias Kaehlcke
1 sibling, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2018-07-12 17:15 UTC (permalink / raw)
To: Amit Kucheria
Cc: LKML, Rajendra Nayak, linux-arm-msm, Bjorn Andersson,
Eduardo Valentin, smohanad, Vivek Gautam, Andy Gross,
Matthias Kaehlcke, Zhang Rui, Rob Herring, Mark Rutland, linux-pm,
devicetree
Hi,
On Thu, Jul 12, 2018 at 1:39 AM, Amit Kucheria <amit.kucheria@linaro.org> wrote:
> 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>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> .../devicetree/bindings/thermal/qcom-tsens.txt | 31 +++++++++++++++++-----
> 1 file changed, 25 insertions(+), 6 deletions(-)
Reviewed-by: Douglas Anderson <dianders@chromium.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP
2018-07-12 8:39 ` [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP Amit Kucheria
2018-07-12 17:15 ` Doug Anderson
@ 2018-07-18 0:09 ` Matthias Kaehlcke
2018-07-18 6:42 ` Amit Kucheria
1 sibling, 1 reply; 13+ messages in thread
From: Matthias Kaehlcke @ 2018-07-18 0:09 UTC (permalink / raw)
To: Amit Kucheria
Cc: linux-kernel, rnayak, linux-arm-msm, bjorn.andersson, edubezval,
smohanad, vivek.gautam, andy.gross, dianders, Zhang Rui,
Rob Herring, Mark Rutland, linux-pm, devicetree
On Thu, Jul 12, 2018 at 02:09:06PM +0530, Amit Kucheria wrote:
> 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>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> .../devicetree/bindings/thermal/qcom-tsens.txt | 31 +++++++++++++++++-----
> 1 file changed, 25 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
> index 06195e8..b5312a8 100644
> --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
> +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
> @@ -1,18 +1,28 @@
> * 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
s/beacause/because/
> + generic property did not exist when support was added.
> +
> +- reg: Address range of the thermal registers.
> + New platforms containing v2.x.y of the TSENS IP must specify the SROT and TM
> + register spaces separately, with order being TM before SROT.
> + See Example 2, below.
>
> -- reg: Address range of the thermal registers
> - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
> - #qcom,sensors: Number of sensors in tsens block
> - 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):
s/propoerty/property/
> tsens: thermal-sensor@900000 {
> compatible = "qcom,msm8916-tsens";
> reg = <0x4a8000 0x2000>;
> @@ -20,3 +30,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: thermal-sensor@c263000 {
> + compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
> + reg = <0xc263000 0x1ff>, /* TM */
> + <0xc222000 0x1ff>; /* SROT */
> + #qcom,sensors = <13>;
> + #thermal-sensor-cells = <1>;
> + };
Besides the typos:
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Oh, and you also might want to reorder the patches as suggested by
Doug on v6 to put the changes in the binding before the code changes.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP
2018-07-18 0:09 ` Matthias Kaehlcke
@ 2018-07-18 6:42 ` Amit Kucheria
0 siblings, 0 replies; 13+ messages in thread
From: Amit Kucheria @ 2018-07-18 6:42 UTC (permalink / raw)
To: Matthias Kaehlcke
Cc: LKML, Rajendra Nayak, linux-arm-msm, Bjorn Andersson,
Eduardo Valentin, smohanad, Vivek Gautam, Andy Gross,
Douglas Anderson, Zhang Rui, Rob Herring, Mark Rutland,
Linux PM list,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
On Wed, Jul 18, 2018 at 5:39 AM, Matthias Kaehlcke <mka@chromium.org> wrote:
> On Thu, Jul 12, 2018 at 02:09:06PM +0530, Amit Kucheria wrote:
>> 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>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>> Tested-by: Matthias Kaehlcke <mka@chromium.org>
>> ---
>> .../devicetree/bindings/thermal/qcom-tsens.txt | 31 +++++++++++++++++-----
>> 1 file changed, 25 insertions(+), 6 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
>> index 06195e8..b5312a8 100644
>> --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
>> +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
>> @@ -1,18 +1,28 @@
>> * 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
>
> s/beacause/because/
>
>> + generic property did not exist when support was added.
>> +
>> +- reg: Address range of the thermal registers.
>> + New platforms containing v2.x.y of the TSENS IP must specify the SROT and TM
>> + register spaces separately, with order being TM before SROT.
>> + See Example 2, below.
>>
>> -- reg: Address range of the thermal registers
>> - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
>> - #qcom,sensors: Number of sensors in tsens block
>> - 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):
>
> s/propoerty/property/
>
>> tsens: thermal-sensor@900000 {
>> compatible = "qcom,msm8916-tsens";
>> reg = <0x4a8000 0x2000>;
>> @@ -20,3 +30,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: thermal-sensor@c263000 {
>> + compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
>> + reg = <0xc263000 0x1ff>, /* TM */
>> + <0xc222000 0x1ff>; /* SROT */
>> + #qcom,sensors = <13>;
>> + #thermal-sensor-cells = <1>;
>> + };
>
> Besides the typos:
>
> Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
>
> Oh, and you also might want to reorder the patches as suggested by
> Doug on v6 to put the changes in the binding before the code changes.
Ahh, sorry I missed that reordering.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes
2018-07-12 8:39 [PATCH v7 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-12 8:39 ` [PATCH v7 3/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
2018-07-12 8:39 ` [PATCH v7 5/7] dt: thermal: tsens: Document the fallback DT property for v2 of TSENS IP Amit Kucheria
@ 2018-07-12 8:39 ` Amit Kucheria
2018-07-12 17:18 ` Doug Anderson
2018-07-18 0:15 ` Matthias Kaehlcke
2 siblings, 2 replies; 13+ messages in thread
From: Amit Kucheria @ 2018-07-12 8:39 UTC (permalink / raw)
To: linux-kernel
Cc: rnayak, linux-arm-msm, bjorn.andersson, edubezval, smohanad,
vivek.gautam, andy.gross, dianders, mka, 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>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Matthias Kaehlcke <mka@chromium.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..01ff146 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: thermal-sensor@c263000 {
+ compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
+ reg = <0xc263000 0x1ff>, /* TM */
+ <0xc222000 0x1ff>; /* SROT */
+ #qcom,sensors = <13>;
+ #thermal-sensor-cells = <1>;
+ };
+
+ tsens1: thermal-sensor@c265000 {
+ 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] 13+ messages in thread
* Re: [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes
2018-07-12 8:39 ` [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
@ 2018-07-12 17:18 ` Doug Anderson
2018-07-18 0:15 ` Matthias Kaehlcke
1 sibling, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2018-07-12 17:18 UTC (permalink / raw)
To: Amit Kucheria
Cc: LKML, Rajendra Nayak, linux-arm-msm, Bjorn Andersson,
Eduardo Valentin, smohanad, Vivek Gautam, Andy Gross,
Matthias Kaehlcke, David Brown, Rob Herring, Mark Rutland,
Catalin Marinas, Will Deacon, open list:ARM/QUALCOMM SUPPORT,
devicetree, Linux ARM
Hi,
On Thu, Jul 12, 2018 at 1:39 AM, 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>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
Reviewed-by: Douglas Anderson <dianders@chromium.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes
2018-07-12 8:39 ` [PATCH v7 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2018-07-12 17:18 ` Doug Anderson
@ 2018-07-18 0:15 ` Matthias Kaehlcke
1 sibling, 0 replies; 13+ messages in thread
From: Matthias Kaehlcke @ 2018-07-18 0:15 UTC (permalink / raw)
To: Amit Kucheria
Cc: linux-kernel, rnayak, linux-arm-msm, bjorn.andersson, edubezval,
smohanad, vivek.gautam, andy.gross, dianders, David Brown,
Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
linux-soc, devicetree, linux-arm-kernel
On Thu, Jul 12, 2018 at 02:09:08PM +0530, Amit Kucheria 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>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.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..01ff146 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: thermal-sensor@c263000 {
> + compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
> + reg = <0xc263000 0x1ff>, /* TM */
> + <0xc222000 0x1ff>; /* SROT */
> + #qcom,sensors = <13>;
> + #thermal-sensor-cells = <1>;
> + };
> +
> + tsens1: thermal-sensor@c265000 {
> + 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>,
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
^ permalink raw reply [flat|nested] 13+ messages in thread