* [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP
@ 2018-07-18 6:43 Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 4/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Amit Kucheria @ 2018-07-18 6:43 UTC (permalink / raw)
To: linux-arm-kernel
Here is a repost of the series. There have been no code changes since v6,
just improving comments, patch descriptions, documentation. The series does
the following:
- Some code moves to allow code sharing between different SoCs with v2 of
the TSENS IP,
- a generic qcom,tsens-v2 property as a fallback compatible for all v2.x.y
platforms,
- new platform support (sdm845)
- a cleanup patch and
- a DT change to have a common way to deal with the SROT and TM registers
despite slightly different features across the IP family and different
register offsets.
Changes since v7:
- Fix couple of typos in spelling
- Add review tags
- Move the DT documentation patch before the code changes
Changes since v6:
- Fix comments and patch descriptions as per Doug's review
- Rename tsens to thermal-sensor in DT
- Add various review tags
Changes since v5:
- Actually fix unit addressses for the two tsens blocks as per Stephen's
comment.
Changes since v4:
- Revert back to a single fallback bindind qcom,tsens-v2 as per Rob's
suggestion.
- Rework how old (unsplit SROT and TM address space) DTs are handled by
needing a 0x1000 offset but still sharing common code in tsens-v2.c
- Remove the patch to added TRDY checks while we investigate Matthias'
reports
- Fix unit addressses for the two tsens blocks as per Stephen's comment.
Changes since v3:
- Introduce qcom,tsens-v2.4.0 property and make qcom,tsens-v2 a
fallback, compatible property.
- Rename ops_v2 to ops_generic_v2
Changes since v2:
- Based on review, moved tsens-8996.c to tsens-v2.c and changed
corresponding function names, struct names to allow for generic tsensv2
platforms
- All v2 platforms will now only need to use the qcom,tsen-v2
property
- Added a DT patch to initialize tsens driver on sdm845, now that
4.18-rc1 will contain an sdm845.dtsi
Changes since v1:
- Move get_temp() from tsens-8996 to tsens-common and rename
- Change 8996 DT entry to allow init_common() to work across
sdm845 and 8996 due to different offsets
Amit Kucheria (7):
thermal: tsens: Get rid of unused fields in structure
dt: thermal: tsens: Document the fallback DT property for v2 of TSENS
IP
thermal: tsens: Add support to split up register address space into
two
arm64: dts: msm8996: thermal: Initialise via DT and add second
controller
thermal: tsens: Rename tsens-8996 to tsens-v2 for reuse
thermal: tsens: Add generic support for TSENS v2 IP
arm64: dts: sdm845: Add tsens nodes
.../devicetree/bindings/thermal/qcom-tsens.txt | 31 +++++++++++++++++----
arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++--
arch/arm64/boot/dts/qcom/sdm845.dtsi | 16 +++++++++++
drivers/thermal/qcom/Makefile | 2 +-
drivers/thermal/qcom/tsens-common.c | 12 ++++++++
drivers/thermal/qcom/{tsens-8996.c => tsens-v2.c} | 32 ++++++++++------------
drivers/thermal/qcom/tsens.c | 3 ++
drivers/thermal/qcom/tsens.h | 8 ++++--
8 files changed, 88 insertions(+), 30 deletions(-)
rename drivers/thermal/qcom/{tsens-8996.c => tsens-v2.c} (64%)
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v8 4/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller
2018-07-18 6:43 [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
@ 2018-07-18 6:43 ` Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2018-07-21 19:16 ` [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2 siblings, 0 replies; 4+ messages in thread
From: Amit Kucheria @ 2018-07-18 6:43 UTC (permalink / raw)
To: 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>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Douglas Anderson <dianders@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 at 4a8000 {
+ tsens0: thermal-sensor at 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 at 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] 4+ messages in thread
* [PATCH v8 7/7] arm64: dts: sdm845: Add tsens nodes
2018-07-18 6:43 [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 4/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
@ 2018-07-18 6:43 ` Amit Kucheria
2018-07-21 19:16 ` [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2 siblings, 0 replies; 4+ messages in thread
From: Amit Kucheria @ 2018-07-18 6:43 UTC (permalink / raw)
To: 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>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Douglas Anderson <dianders@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 at 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 at 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 at c440000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xc440000 0x1100>,
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP
2018-07-18 6:43 [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 4/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
@ 2018-07-21 19:16 ` Amit Kucheria
2 siblings, 0 replies; 4+ messages in thread
From: Amit Kucheria @ 2018-07-21 19:16 UTC (permalink / raw)
To: linux-arm-kernel
Andy, Eduardo: Please consider this a gentle ping to understand how
this will get merged.
Andy, I guess you'll take the DT patches 2,4 and 7 and the rest will
go through Eduardo's thermal tree?
Regards,
Amit
On Wed, Jul 18, 2018 at 12:13 PM, Amit Kucheria
<amit.kucheria@linaro.org> wrote:
> Here is a repost of the series. There have been no code changes since v6,
> just improving comments, patch descriptions, documentation. The series does
> the following:
> - Some code moves to allow code sharing between different SoCs with v2 of
> the TSENS IP,
> - a generic qcom,tsens-v2 property as a fallback compatible for all v2.x.y
> platforms,
> - new platform support (sdm845)
> - a cleanup patch and
> - a DT change to have a common way to deal with the SROT and TM registers
> despite slightly different features across the IP family and different
> register offsets.
>
> Changes since v7:
> - Fix couple of typos in spelling
> - Add review tags
> - Move the DT documentation patch before the code changes
>
> Changes since v6:
> - Fix comments and patch descriptions as per Doug's review
> - Rename tsens to thermal-sensor in DT
> - Add various review tags
>
> Changes since v5:
> - Actually fix unit addressses for the two tsens blocks as per Stephen's
> comment.
>
> Changes since v4:
> - Revert back to a single fallback bindind qcom,tsens-v2 as per Rob's
> suggestion.
> - Rework how old (unsplit SROT and TM address space) DTs are handled by
> needing a 0x1000 offset but still sharing common code in tsens-v2.c
> - Remove the patch to added TRDY checks while we investigate Matthias'
> reports
> - Fix unit addressses for the two tsens blocks as per Stephen's comment.
>
> Changes since v3:
> - Introduce qcom,tsens-v2.4.0 property and make qcom,tsens-v2 a
> fallback, compatible property.
> - Rename ops_v2 to ops_generic_v2
>
> Changes since v2:
>
> - Based on review, moved tsens-8996.c to tsens-v2.c and changed
> corresponding function names, struct names to allow for generic tsensv2
> platforms
> - All v2 platforms will now only need to use the qcom,tsen-v2
> property
> - Added a DT patch to initialize tsens driver on sdm845, now that
> 4.18-rc1 will contain an sdm845.dtsi
>
> Changes since v1:
> - Move get_temp() from tsens-8996 to tsens-common and rename
> - Change 8996 DT entry to allow init_common() to work across
> sdm845 and 8996 due to different offsets
>
> Amit Kucheria (7):
> thermal: tsens: Get rid of unused fields in structure
> dt: thermal: tsens: Document the fallback DT property for v2 of TSENS
> IP
> thermal: tsens: Add support to split up register address space into
> two
> arm64: dts: msm8996: thermal: Initialise via DT and add second
> controller
> thermal: tsens: Rename tsens-8996 to tsens-v2 for reuse
> thermal: tsens: Add generic support for TSENS v2 IP
> arm64: dts: sdm845: Add tsens nodes
>
> .../devicetree/bindings/thermal/qcom-tsens.txt | 31 +++++++++++++++++----
> arch/arm64/boot/dts/qcom/msm8996.dtsi | 14 ++++++++--
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 16 +++++++++++
> drivers/thermal/qcom/Makefile | 2 +-
> drivers/thermal/qcom/tsens-common.c | 12 ++++++++
> drivers/thermal/qcom/{tsens-8996.c => tsens-v2.c} | 32 ++++++++++------------
> drivers/thermal/qcom/tsens.c | 3 ++
> drivers/thermal/qcom/tsens.h | 8 ++++--
> 8 files changed, 88 insertions(+), 30 deletions(-)
> rename drivers/thermal/qcom/{tsens-8996.c => tsens-v2.c} (64%)
>
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-07-21 19:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-18 6:43 [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 4/7] arm64: dts: msm8996: thermal: Initialise via DT and add second controller Amit Kucheria
2018-07-18 6:43 ` [PATCH v8 7/7] arm64: dts: sdm845: Add tsens nodes Amit Kucheria
2018-07-21 19:16 ` [PATCH v8 0/7] thermal: tsens: Refactoring for TSENSv2 IP 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).