linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] thermal: broadcom: Add NSP Thermal Support
@ 2017-04-28 20:11 Jon Mason
  2017-04-28 20:11 ` [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs Jon Mason
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Jon Mason @ 2017-04-28 20:11 UTC (permalink / raw)
  To: linux-arm-kernel

Changes in v3:
* Enable THERMAL on NSP, not all iProc Chips (per Scott Branden)
* Correct the Kconfig syntax in patch 2 (per Eduardo Valentin)

Changes in v2:
* Split SoC enablement into a separate patch (per Eduardo Valentin)
* Added Eduardo Valentin's Acked-by to the DTS patch


This adds support for NSP to the existing Northstar thermal driver.
This code is based on patches currently in the Linux SoC Thermal git
tree.  Specfically,
https://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git/commit/?h=linus&id=a94cb7eeecc4104a6874339f90c5d0647359c102

Jon Mason (3):
  ARM: BCM: Enable thermal support for NSP SoCs
  thermal: broadcom: ns-thermal: default on iProc SoCs
  ARM: dts: NSP: Add Thermal Support

 arch/arm/boot/dts/bcm-nsp.dtsi   | 26 ++++++++++++++++++++++++++
 arch/arm/mach-bcm/Kconfig        |  2 ++
 drivers/thermal/broadcom/Kconfig |  9 +++++----
 3 files changed, 33 insertions(+), 4 deletions(-)

-- 
2.7.4

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

* [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs
  2017-04-28 20:11 [PATCH v3 0/3] thermal: broadcom: Add NSP Thermal Support Jon Mason
@ 2017-04-28 20:11 ` Jon Mason
  2017-05-19 18:29   ` Florian Fainelli
  2017-04-28 20:11 ` [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs Jon Mason
  2017-04-28 20:11 ` [PATCH v3 3/3] ARM: dts: NSP: Add Thermal Support Jon Mason
  2 siblings, 1 reply; 10+ messages in thread
From: Jon Mason @ 2017-04-28 20:11 UTC (permalink / raw)
  To: linux-arm-kernel

Change the Northstar Plus Kconfig to select THERMAL and THERMAL_OF,
which allows the ns-thermal driver to be selected via menuconfig.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
---
 arch/arm/mach-bcm/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index a0e66d8..93a61d0 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -44,6 +44,8 @@ config ARCH_BCM_NSP
 	select ARM_ERRATA_775420
 	select ARM_ERRATA_764369 if SMP
 	select HAVE_SMP
+	select THERMAL
+	select THERMAL_OF
 	help
 	  Support for Broadcom Northstar Plus SoC.
 	  Broadcom Northstar Plus family of SoCs are used for switching control
-- 
2.7.4

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

* [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs
  2017-04-28 20:11 [PATCH v3 0/3] thermal: broadcom: Add NSP Thermal Support Jon Mason
  2017-04-28 20:11 ` [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs Jon Mason
@ 2017-04-28 20:11 ` Jon Mason
  2017-04-28 20:36   ` Scott Branden
  2017-05-19 18:33   ` Florian Fainelli
  2017-04-28 20:11 ` [PATCH v3 3/3] ARM: dts: NSP: Add Thermal Support Jon Mason
  2 siblings, 2 replies; 10+ messages in thread
From: Jon Mason @ 2017-04-28 20:11 UTC (permalink / raw)
  To: linux-arm-kernel

Tweak the Kconfig description to mention support for NSP and make the
default on for iProc based platforms.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
---
 drivers/thermal/broadcom/Kconfig | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig
index f0dea8a..b6f4b85 100644
--- a/drivers/thermal/broadcom/Kconfig
+++ b/drivers/thermal/broadcom/Kconfig
@@ -1,8 +1,9 @@
 config BCM_NS_THERMAL
 	tristate "Northstar thermal driver"
 	depends on ARCH_BCM_IPROC || COMPILE_TEST
+	default y if ARCH_BCM_IPROC
 	help
-	  Northstar is a family of SoCs that includes e.g. BCM4708, BCM47081,
-	  BCM4709 and BCM47094. It contains DMU (Device Management Unit) block
-	  with a thermal sensor that allows checking CPU temperature. This
-	  driver provides support for it.
+	  Support for the Northstar and Northstar Plus family of SoCs (e.g.
+	  BCM4708, BCM4709, BCM5301x, BCM95852X, etc). It contains DMU (Device
+	  Management Unit) block with a thermal sensor that allows checking CPU
+	  temperature.
-- 
2.7.4

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

* [PATCH v3 3/3] ARM: dts: NSP: Add Thermal Support
  2017-04-28 20:11 [PATCH v3 0/3] thermal: broadcom: Add NSP Thermal Support Jon Mason
  2017-04-28 20:11 ` [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs Jon Mason
  2017-04-28 20:11 ` [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs Jon Mason
@ 2017-04-28 20:11 ` Jon Mason
  2017-05-19 18:31   ` Florian Fainelli
  2 siblings, 1 reply; 10+ messages in thread
From: Jon Mason @ 2017-04-28 20:11 UTC (permalink / raw)
  To: linux-arm-kernel

Add thermal support via the ns-thermal driver and create a single
thermal zone for the entire SoC.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
---
 arch/arm/boot/dts/bcm-nsp.dtsi | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm/boot/dts/bcm-nsp.dtsi b/arch/arm/boot/dts/bcm-nsp.dtsi
index 832795b..be6fcfb 100644
--- a/arch/arm/boot/dts/bcm-nsp.dtsi
+++ b/arch/arm/boot/dts/bcm-nsp.dtsi
@@ -383,6 +383,12 @@
 			      <0x3f408 0x04>;
 		};
 
+		thermal: thermal at 3f2c0 {
+			compatible = "brcm,ns-thermal";
+			reg = <0x3f2c0 0x10>;
+			#thermal-sensor-cells = <0>;
+		};
+
 		sata_phy: sata_phy at 40100 {
 			compatible = "brcm,iproc-nsp-sata-phy";
 			reg = <0x40100 0x340>;
@@ -533,4 +539,24 @@
 			brcm,pcie-msi-inten;
 		};
 	};
+
+	thermal-zones {
+		cpu-thermal {
+			polling-delay-passive = <0>;
+			polling-delay = <1000>;
+			coefficients = <(-556) 418000>;
+			thermal-sensors = <&thermal>;
+
+			trips {
+				cpu-crit {
+					temperature     = <125000>;
+					hysteresis      = <0>;
+					type            = "critical";
+				};
+			};
+
+			cooling-maps {
+			};
+		};
+	};
 };
-- 
2.7.4

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

* [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs
  2017-04-28 20:11 ` [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs Jon Mason
@ 2017-04-28 20:36   ` Scott Branden
  2017-04-28 20:50     ` Jon Mason
  2017-05-19 18:33   ` Florian Fainelli
  1 sibling, 1 reply; 10+ messages in thread
From: Scott Branden @ 2017-04-28 20:36 UTC (permalink / raw)
  To: linux-arm-kernel



On 17-04-28 01:11 PM, Jon Mason wrote:
> Tweak the Kconfig description to mention support for NSP and make the
> default on for iProc based platforms.
>
> Signed-off-by: Jon Mason <jon.mason@broadcom.com>
> ---
>  drivers/thermal/broadcom/Kconfig | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig
> index f0dea8a..b6f4b85 100644
> --- a/drivers/thermal/broadcom/Kconfig
> +++ b/drivers/thermal/broadcom/Kconfig
> @@ -1,8 +1,9 @@
>  config BCM_NS_THERMAL
>  	tristate "Northstar thermal driver"
>  	depends on ARCH_BCM_IPROC || COMPILE_TEST
If this driver is used on these SoCs then it:
depends on ARCH_BCM_NSP || ARCH_BCM_5301X || COMPILE_TEST
?
> +	default y if ARCH_BCM_IPROC
>  	help
> -	  Northstar is a family of SoCs that includes e.g. BCM4708, BCM47081,
> -	  BCM4709 and BCM47094. It contains DMU (Device Management Unit) block
> -	  with a thermal sensor that allows checking CPU temperature. This
> -	  driver provides support for it.
> +	  Support for the Northstar and Northstar Plus family of SoCs (e.g.
> +	  BCM4708, BCM4709, BCM5301x, BCM95852X, etc). It contains DMU (Device
> +	  Management Unit) block with a thermal sensor that allows checking CPU
> +	  temperature.
>

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

* [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs
  2017-04-28 20:36   ` Scott Branden
@ 2017-04-28 20:50     ` Jon Mason
  2017-05-29 16:21       ` Scott Branden
  0 siblings, 1 reply; 10+ messages in thread
From: Jon Mason @ 2017-04-28 20:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Apr 28, 2017 at 4:36 PM, Scott Branden
<scott.branden@broadcom.com> wrote:
>
>
> On 17-04-28 01:11 PM, Jon Mason wrote:
>>
>> Tweak the Kconfig description to mention support for NSP and make the
>> default on for iProc based platforms.
>>
>> Signed-off-by: Jon Mason <jon.mason@broadcom.com>
>> ---
>>  drivers/thermal/broadcom/Kconfig | 9 +++++----
>>  1 file changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/thermal/broadcom/Kconfig
>> b/drivers/thermal/broadcom/Kconfig
>> index f0dea8a..b6f4b85 100644
>> --- a/drivers/thermal/broadcom/Kconfig
>> +++ b/drivers/thermal/broadcom/Kconfig
>> @@ -1,8 +1,9 @@
>>  config BCM_NS_THERMAL
>>         tristate "Northstar thermal driver"
>>         depends on ARCH_BCM_IPROC || COMPILE_TEST
>
> If this driver is used on these SoCs then it:
> depends on ARCH_BCM_NSP || ARCH_BCM_5301X || COMPILE_TEST
> ?

The code referenced is outside of this patch, as that code was already
existing from when the driver was submitted.

I did some checking and NS2 and Cygnus do not have the registers in
use by this driver.  So, you are correct in that this driver will
never be used for them.  So, this is slightly over-permissive in
allowing a driver to be selected that could not ever be used on
non-NS/NSP hardware.  But barring an incorrect DT string, it would
only result in an slightly larger kernel than necessary.

I'll do a follow-on patch to correct this with your suggestion above,
and push it separately (unless a v4 is needed on this series).

Thanks,
Jon


>> +       default y if ARCH_BCM_IPROC
>>         help
>> -         Northstar is a family of SoCs that includes e.g. BCM4708,
>> BCM47081,
>> -         BCM4709 and BCM47094. It contains DMU (Device Management Unit)
>> block
>> -         with a thermal sensor that allows checking CPU temperature. This
>> -         driver provides support for it.
>> +         Support for the Northstar and Northstar Plus family of SoCs
>> (e.g.
>> +         BCM4708, BCM4709, BCM5301x, BCM95852X, etc). It contains DMU
>> (Device
>> +         Management Unit) block with a thermal sensor that allows
>> checking CPU
>> +         temperature.
>>
>

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

* [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs
  2017-04-28 20:11 ` [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs Jon Mason
@ 2017-05-19 18:29   ` Florian Fainelli
  0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-05-19 18:29 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/28/2017 01:11 PM, Jon Mason wrote:
> Change the Northstar Plus Kconfig to select THERMAL and THERMAL_OF,
> which allows the ns-thermal driver to be selected via menuconfig.
> 
> Signed-off-by: Jon Mason <jon.mason@broadcom.com>

Applied, thanks Jon
-- 
Florian

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

* [PATCH v3 3/3] ARM: dts: NSP: Add Thermal Support
  2017-04-28 20:11 ` [PATCH v3 3/3] ARM: dts: NSP: Add Thermal Support Jon Mason
@ 2017-05-19 18:31   ` Florian Fainelli
  0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-05-19 18:31 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/28/2017 01:11 PM, Jon Mason wrote:
> Add thermal support via the ns-thermal driver and create a single
> thermal zone for the entire SoC.
> 
> Signed-off-by: Jon Mason <jon.mason@broadcom.com>
> Acked-by: Eduardo Valentin <edubezval@gmail.com>

Applied. thanks Jon
-- 
Florian

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

* [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs
  2017-04-28 20:11 ` [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs Jon Mason
  2017-04-28 20:36   ` Scott Branden
@ 2017-05-19 18:33   ` Florian Fainelli
  1 sibling, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-05-19 18:33 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/28/2017 01:11 PM, Jon Mason wrote:
> Tweak the Kconfig description to mention support for NSP and make the
> default on for iProc based platforms.
> 
> Signed-off-by: Jon Mason <jon.mason@broadcom.com>

Zhang, Eduardo, please apply, the Kconfig and DTS changes have been
queued for 4.13 in my ARM-SoC pull request for Broadcom SoCs.

Thanks!
--
Florian

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

* [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs
  2017-04-28 20:50     ` Jon Mason
@ 2017-05-29 16:21       ` Scott Branden
  0 siblings, 0 replies; 10+ messages in thread
From: Scott Branden @ 2017-05-29 16:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Jon,


On 17-04-28 01:50 PM, Jon Mason wrote:
> On Fri, Apr 28, 2017 at 4:36 PM, Scott Branden
> <scott.branden@broadcom.com> wrote:
>>
>> On 17-04-28 01:11 PM, Jon Mason wrote:
>>> Tweak the Kconfig description to mention support for NSP and make the
>>> default on for iProc based platforms.
>>>
>>> Signed-off-by: Jon Mason <jon.mason@broadcom.com>
>>> ---
>>>   drivers/thermal/broadcom/Kconfig | 9 +++++----
>>>   1 file changed, 5 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/thermal/broadcom/Kconfig
>>> b/drivers/thermal/broadcom/Kconfig
>>> index f0dea8a..b6f4b85 100644
>>> --- a/drivers/thermal/broadcom/Kconfig
>>> +++ b/drivers/thermal/broadcom/Kconfig
>>> @@ -1,8 +1,9 @@
>>>   config BCM_NS_THERMAL
>>>          tristate "Northstar thermal driver"
>>>          depends on ARCH_BCM_IPROC || COMPILE_TEST
>> If this driver is used on these SoCs then it:
>> depends on ARCH_BCM_NSP || ARCH_BCM_5301X || COMPILE_TEST
>> ?
> The code referenced is outside of this patch, as that code was already
> existing from when the driver was submitted.
>
> I did some checking and NS2 and Cygnus do not have the registers in
> use by this driver.  So, you are correct in that this driver will
> never be used for them.  So, this is slightly over-permissive in
> allowing a driver to be selected that could not ever be used on
> non-NS/NSP hardware.  But barring an incorrect DT string, it would
> only result in an slightly larger kernel than necessary.
>
> I'll do a follow-on patch to correct this with your suggestion above,
> and push it separately (unless a v4 is needed on this series).

Please submit the follow on patch.

>
> Thanks,
> Jon
Thanks,
  Scott

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

end of thread, other threads:[~2017-05-29 16:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-28 20:11 [PATCH v3 0/3] thermal: broadcom: Add NSP Thermal Support Jon Mason
2017-04-28 20:11 ` [PATCH v3 1/3] ARM: BCM: Enable thermal support for NSP SoCs Jon Mason
2017-05-19 18:29   ` Florian Fainelli
2017-04-28 20:11 ` [PATCH v3 2/3] thermal: broadcom: ns-thermal: default on iProc SoCs Jon Mason
2017-04-28 20:36   ` Scott Branden
2017-04-28 20:50     ` Jon Mason
2017-05-29 16:21       ` Scott Branden
2017-05-19 18:33   ` Florian Fainelli
2017-04-28 20:11 ` [PATCH v3 3/3] ARM: dts: NSP: Add Thermal Support Jon Mason
2017-05-19 18:31   ` Florian Fainelli

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).