linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4
@ 2020-01-03 17:23 Stefan Wahren
  2020-01-03 17:23 ` [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal Stefan Wahren
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Stefan Wahren @ 2020-01-03 17:23 UTC (permalink / raw)
  To: Zhang Rui, Daniel Lezcano, Amit Kucheria, Rob Herring,
	Mark Rutland, Nicolas Saenz Julienne, Florian Fainelli,
	Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, Stefan Wahren,
	linux-arm-kernel, linux-pm

This series enables thermal support for the Raspberry Pi 4. Neither the
bcm2835_thermal nor the brcmstb_thermal are suitable for the BCM2711.
So add a new thermal driver to read out the SoC temperature from the
AVS RO block of the BCM2711.

Changes in V2:
- rebase on thermal/linux-next
- convert binding to YAML
- make AVS RO block a subnode of AVS monitor and access it via syscon
- drop unnecessary TSENS clock and get the rid of remove callback
- add Florian's reviewed-by to last/unchanged patch

Stefan Wahren (4):
  dt-bindings: Add Broadcom AVS RO thermal
  thermal: Add BCM2711 thermal driver
  ARM: dts: bcm2711: Enable thermal
  ARM: configs: Build BCM2711 thermal as module

 .../bindings/thermal/brcm,avs-ro-thermal.yaml      |  45 +++++++
 arch/arm/boot/dts/bcm2711.dtsi                     |  12 ++
 arch/arm/configs/multi_v7_defconfig                |   1 +
 arch/arm64/configs/defconfig                       |   1 +
 drivers/thermal/broadcom/Kconfig                   |   7 ++
 drivers/thermal/broadcom/Makefile                  |   1 +
 drivers/thermal/broadcom/bcm2711_thermal.c         | 129 +++++++++++++++++++++
 7 files changed, 196 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
 create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c

--
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal
  2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
@ 2020-01-03 17:23 ` Stefan Wahren
  2020-01-06 22:15   ` Rob Herring
  2020-01-03 17:23 ` [PATCH V2 2/4] thermal: Add BCM2711 thermal driver Stefan Wahren
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Stefan Wahren @ 2020-01-03 17:23 UTC (permalink / raw)
  To: Zhang Rui, Daniel Lezcano, Amit Kucheria, Rob Herring,
	Mark Rutland, Nicolas Saenz Julienne, Florian Fainelli,
	Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, Stefan Wahren,
	linux-arm-kernel, linux-pm

Since the BCM2711 doesn't have a AVS TMON block, the thermal information
must be retrieved from the AVS ring oscillator block. This block is part
of the AVS monitor which contains a bunch of raw sensors.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 .../bindings/thermal/brcm,avs-ro-thermal.yaml      | 45 ++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml

diff --git a/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
new file mode 100644
index 0000000..7dce05e
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/thermal/brcm,avs-ro-thermal.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom AVS ring oscillator thermal
+
+maintainers:
+  - Stefan Wahren <wahrenst@gmx.net>
+
+description: |+
+  The thermal node should be the child of a syscon node with the
+  required property:
+
+  - compatible: Should be one of the following:
+                "brcm,bcm2711-avs-monitor", "syscon", "simple-mfd"
+
+  Refer to the the bindings described in
+  Documentation/devicetree/bindings/mfd/syscon.txt
+
+properties:
+  compatible:
+    const: brcm,bcm2711-thermal
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+examples:
+  - |
+        avs-monitor@7d5d2000 {
+                compatible = "brcm,bcm2711-avs-monitor",
+                             "syscon", "simple-mfd";
+                reg = <0x7d5d2000 0xf00>;
+
+                thermal: thermal {
+                        compatible = "brcm,bcm2711-thermal";
+                        #thermal-sensor-cells = <0>;
+                };
+        };
+...
--
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V2 2/4] thermal: Add BCM2711 thermal driver
  2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
  2020-01-03 17:23 ` [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal Stefan Wahren
@ 2020-01-03 17:23 ` Stefan Wahren
  2020-01-06 22:30   ` Florian Fainelli
  2020-01-03 17:23 ` [PATCH V2 3/4] ARM: dts: bcm2711: Enable thermal Stefan Wahren
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Stefan Wahren @ 2020-01-03 17:23 UTC (permalink / raw)
  To: Zhang Rui, Daniel Lezcano, Amit Kucheria, Rob Herring,
	Mark Rutland, Nicolas Saenz Julienne, Florian Fainelli,
	Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, Stefan Wahren,
	linux-arm-kernel, linux-pm

This adds the thermal sensor driver for the Broadcom BCM2711 SoC,
which is placed on the Raspberry Pi 4. The driver only provides
SoC temperature reading so far.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 drivers/thermal/broadcom/Kconfig           |   7 ++
 drivers/thermal/broadcom/Makefile          |   1 +
 drivers/thermal/broadcom/bcm2711_thermal.c | 129 +++++++++++++++++++++++++++++
 3 files changed, 137 insertions(+)
 create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c

diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig
index cf43e15..061f1db 100644
--- a/drivers/thermal/broadcom/Kconfig
+++ b/drivers/thermal/broadcom/Kconfig
@@ -1,4 +1,11 @@
 # SPDX-License-Identifier: GPL-2.0-only
+config BCM2711_THERMAL
+	tristate "Broadcom AVS RO thermal sensor driver"
+	depends on ARCH_BCM2835 || COMPILE_TEST
+	depends on THERMAL_OF && MFD_SYSCON
+	help
+	  Support for thermal sensors on Broadcom BCM2711 SoCs.
+
 config BCM2835_THERMAL
 	tristate "Thermal sensors on bcm2835 SoC"
 	depends on ARCH_BCM2835 || COMPILE_TEST
diff --git a/drivers/thermal/broadcom/Makefile b/drivers/thermal/broadcom/Makefile
index 490ab1f..c917b24 100644
--- a/drivers/thermal/broadcom/Makefile
+++ b/drivers/thermal/broadcom/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+obj-$(CONFIG_BCM2711_THERMAL)		+= bcm2711_thermal.o
 obj-$(CONFIG_BCM2835_THERMAL)		+= bcm2835_thermal.o
 obj-$(CONFIG_BRCMSTB_THERMAL)		+= brcmstb_thermal.o
 obj-$(CONFIG_BCM_NS_THERMAL)		+= ns-thermal.o
diff --git a/drivers/thermal/broadcom/bcm2711_thermal.c b/drivers/thermal/broadcom/bcm2711_thermal.c
new file mode 100644
index 0000000..1d55b87
--- /dev/null
+++ b/drivers/thermal/broadcom/bcm2711_thermal.c
@@ -0,0 +1,129 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Broadcom AVS RO thermal sensor driver
+ *
+ * based on brcmstb_thermal
+ *
+ * Copyright (C) 2020 Stefan Wahren
+ */
+
+#include <linux/bitops.h>
+#include <linux/clk.h>
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/io.h>
+#include <linux/kernel.h>
+#include <linux/mfd/syscon.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/of_device.h>
+#include <linux/regmap.h>
+#include <linux/thermal.h>
+
+#include "../thermal_hwmon.h"
+
+#define AVS_RO_TEMP_STATUS		0x200
+ #define AVS_RO_TEMP_STATUS_valid_msk	(BIT(16) | BIT(10))
+ #define AVS_RO_TEMP_STATUS_data_msk	GENMASK(9, 0)
+
+struct bcm2711_thermal_priv {
+	struct regmap *regmap;
+	struct device *dev;
+	struct thermal_zone_device *thermal;
+};
+
+static int bcm2711_get_temp(void *data, int *temp)
+{
+	struct bcm2711_thermal_priv *priv = data;
+	int slope = thermal_zone_get_slope(priv->thermal);
+	int offset = thermal_zone_get_offset(priv->thermal);
+	u32 val;
+	int ret;
+	long t;
+
+	ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
+	if (ret)
+		return ret;
+
+	if (!(val & AVS_RO_TEMP_STATUS_valid_msk)) {
+		dev_err(priv->dev, "reading not valid\n");
+		return -EIO;
+	}
+
+	val &= AVS_RO_TEMP_STATUS_data_msk;
+
+	/* Convert a HW code to a temperature reading (millidegree celsius) */
+	t = slope * val + offset;
+	if (t < 0)
+		*temp = 0;
+	else
+		*temp = t;
+
+	return 0;
+}
+
+static const struct thermal_zone_of_device_ops bcm2711_thermal_of_ops = {
+	.get_temp	= bcm2711_get_temp,
+};
+
+static const struct of_device_id bcm2711_thermal_id_table[] = {
+	{ .compatible = "brcm,bcm2711-thermal" },
+	{},
+};
+MODULE_DEVICE_TABLE(of, bcm2711_thermal_id_table);
+
+static int bcm2711_thermal_probe(struct platform_device *pdev)
+{
+	struct thermal_zone_device *thermal;
+	struct bcm2711_thermal_priv *priv;
+	struct device *dev = &pdev->dev;
+	struct device_node *parent;
+	struct regmap *regmap;
+	int ret;
+
+	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
+	if (!priv)
+		return -ENOMEM;
+
+	/* get regmap from syscon node */
+	parent = of_get_parent(dev->of_node); /* parent should be syscon node */
+	regmap = syscon_node_to_regmap(parent);
+	of_node_put(parent);
+	if (IS_ERR(regmap)) {
+		dev_err(dev, "failed to get regmap (error %ld)\n",
+			PTR_ERR(regmap));
+		return PTR_ERR(regmap);
+	}
+	priv->regmap = regmap;
+	priv->dev = dev;
+
+	thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv,
+						       &bcm2711_thermal_of_ops);
+	if (IS_ERR(thermal)) {
+		ret = PTR_ERR(thermal);
+		dev_err(dev, "could not register sensor: %d\n", ret);
+		return ret;
+	}
+
+	priv->thermal = thermal;
+
+	thermal->tzp->no_hwmon = false;
+	ret = thermal_add_hwmon_sysfs(thermal);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+
+static struct platform_driver bcm2711_thermal_driver = {
+	.probe = bcm2711_thermal_probe,
+	.driver = {
+		.name = "bcm2711_thermal",
+		.of_match_table = bcm2711_thermal_id_table,
+	},
+};
+module_platform_driver(bcm2711_thermal_driver);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Stefan Wahren");
+MODULE_DESCRIPTION("Broadcom AVS RO thermal sensor driver");
--
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V2 3/4] ARM: dts: bcm2711: Enable thermal
  2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
  2020-01-03 17:23 ` [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal Stefan Wahren
  2020-01-03 17:23 ` [PATCH V2 2/4] thermal: Add BCM2711 thermal driver Stefan Wahren
@ 2020-01-03 17:23 ` Stefan Wahren
  2020-01-03 17:23 ` [PATCH V2 4/4] ARM: configs: Build BCM2711 thermal as module Stefan Wahren
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Stefan Wahren @ 2020-01-03 17:23 UTC (permalink / raw)
  To: Zhang Rui, Daniel Lezcano, Amit Kucheria, Rob Herring,
	Mark Rutland, Nicolas Saenz Julienne, Florian Fainelli,
	Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, Stefan Wahren,
	linux-arm-kernel, linux-pm

This enables thermal for the BCM2711 (used on Raspberry Pi 4) by adding
the AVS monitor and a subnode for the thermal part.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index 961bed8..96f341d 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -66,6 +66,17 @@
 						 IRQ_TYPE_LEVEL_HIGH)>;
 		};

+		avs_monitor: avs-monitor@7d5d2000 {
+			compatible = "brcm,bcm2711-avs-monitor",
+				     "syscon", "simple-mfd";
+			reg = <0x7d5d2000 0xf00>;
+
+			thermal: thermal {
+				compatible = "brcm,bcm2711-thermal";
+				#thermal-sensor-cells = <0>;
+			};
+		};
+
 		dma: dma@7e007000 {
 			compatible = "brcm,bcm2835-dma";
 			reg = <0x7e007000 0xb00>;
@@ -363,6 +374,7 @@

 &cpu_thermal {
 	coefficients = <(-487) 410040>;
+	thermal-sensors = <&thermal>;
 };

 &dsi0 {
--
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V2 4/4] ARM: configs: Build BCM2711 thermal as module
  2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
                   ` (2 preceding siblings ...)
  2020-01-03 17:23 ` [PATCH V2 3/4] ARM: dts: bcm2711: Enable thermal Stefan Wahren
@ 2020-01-03 17:23 ` Stefan Wahren
  2020-01-06 22:39 ` [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Florian Fainelli
  2020-01-07 14:14 ` Nicolas Saenz Julienne
  5 siblings, 0 replies; 10+ messages in thread
From: Stefan Wahren @ 2020-01-03 17:23 UTC (permalink / raw)
  To: Zhang Rui, Daniel Lezcano, Amit Kucheria, Rob Herring,
	Mark Rutland, Nicolas Saenz Julienne, Florian Fainelli,
	Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, Stefan Wahren,
	linux-arm-kernel, linux-pm

This builds the BCM2711 thermal driver as module for the Raspberry Pi 4.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/configs/multi_v7_defconfig | 1 +
 arch/arm64/configs/defconfig        | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 3f1b96d..f5d19cc 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -496,6 +496,7 @@ CONFIG_IMX_THERMAL=y
 CONFIG_ROCKCHIP_THERMAL=y
 CONFIG_RCAR_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2711_THERMAL=m
 CONFIG_BCM2835_THERMAL=m
 CONFIG_BRCMSTB_THERMAL=m
 CONFIG_ST_THERMAL_MEMMAP=y
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 6a83ba2..b2f6673 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -442,6 +442,7 @@ CONFIG_ROCKCHIP_THERMAL=m
 CONFIG_RCAR_THERMAL=y
 CONFIG_RCAR_GEN3_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2711_THERMAL=m
 CONFIG_BCM2835_THERMAL=m
 CONFIG_BRCMSTB_THERMAL=m
 CONFIG_EXYNOS_THERMAL=y
--
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal
  2020-01-03 17:23 ` [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal Stefan Wahren
@ 2020-01-06 22:15   ` Rob Herring
  0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2020-01-06 22:15 UTC (permalink / raw)
  To: Stefan Wahren
  Cc: Mark Rutland, devicetree, Amit Kucheria, Florian Fainelli,
	linux-pm, Catalin Marinas, Daniel Lezcano,
	bcm-kernel-feedback-list, linux-arm-kernel, Zhang Rui,
	Will Deacon, Nicolas Saenz Julienne

On Fri, Jan 03, 2020 at 06:23:53PM +0100, Stefan Wahren wrote:
> Since the BCM2711 doesn't have a AVS TMON block, the thermal information
> must be retrieved from the AVS ring oscillator block. This block is part
> of the AVS monitor which contains a bunch of raw sensors.
> 
> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> ---
>  .../bindings/thermal/brcm,avs-ro-thermal.yaml      | 45 ++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
> 
> diff --git a/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
> new file mode 100644
> index 0000000..7dce05e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: GPL-2.0+

Dual license new bindings please:

(GPL-2.0-only OR BSD-2-Clause)

With that:

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V2 2/4] thermal: Add BCM2711 thermal driver
  2020-01-03 17:23 ` [PATCH V2 2/4] thermal: Add BCM2711 thermal driver Stefan Wahren
@ 2020-01-06 22:30   ` Florian Fainelli
  2020-01-07 11:28     ` Nicolas Saenz Julienne
  0 siblings, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2020-01-06 22:30 UTC (permalink / raw)
  To: Stefan Wahren, Zhang Rui, Daniel Lezcano, Amit Kucheria,
	Rob Herring, Mark Rutland, Nicolas Saenz Julienne,
	Florian Fainelli, Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, linux-arm-kernel, linux-pm

Hi Stefan,

On 1/3/20 9:23 AM, Stefan Wahren wrote:
> This adds the thermal sensor driver for the Broadcom BCM2711 SoC,
> which is placed on the Raspberry Pi 4. The driver only provides
> SoC temperature reading so far.
> 
> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>

This looks good, I just have a couple of nits that you can address since
the binding needs to be re-spun, see below, in any case:

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>

[snip]

> +	of_node_put(parent);
> +	if (IS_ERR(regmap)) {
> +		dev_err(dev, "failed to get regmap (error %ld)\n",
> +			PTR_ERR(regmap));

Here we use %ld

> +		return PTR_ERR(regmap);
> +	}
> +	priv->regmap = regmap;
> +	priv->dev = dev;
> +
> +	thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv,
> +						       &bcm2711_thermal_of_ops);
> +	if (IS_ERR(thermal)) {
> +		ret = PTR_ERR(thermal);
> +		dev_err(dev, "could not register sensor: %d\n", ret);

and here we do an implicit cast into int, thus using %d, could we just
make both consistent and use %d?
-- 
Florian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4
  2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
                   ` (3 preceding siblings ...)
  2020-01-03 17:23 ` [PATCH V2 4/4] ARM: configs: Build BCM2711 thermal as module Stefan Wahren
@ 2020-01-06 22:39 ` Florian Fainelli
  2020-01-07 14:14 ` Nicolas Saenz Julienne
  5 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2020-01-06 22:39 UTC (permalink / raw)
  To: Stefan Wahren, Zhang Rui, Daniel Lezcano, Amit Kucheria,
	Rob Herring, Mark Rutland, Nicolas Saenz Julienne,
	Catalin Marinas, Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, linux-arm-kernel, linux-pm

On 1/3/20 9:23 AM, Stefan Wahren wrote:
> This series enables thermal support for the Raspberry Pi 4. Neither the
> bcm2835_thermal nor the brcmstb_thermal are suitable for the BCM2711.
> So add a new thermal driver to read out the SoC temperature from the
> AVS RO block of the BCM2711.
> 
> Changes in V2:
> - rebase on thermal/linux-next
> - convert binding to YAML
> - make AVS RO block a subnode of AVS monitor and access it via syscon
> - drop unnecessary TSENS clock and get the rid of remove callback
> - add Florian's reviewed-by to last/unchanged patch

After your resubmit to address Rob's feedback on the binding, I would be
keen on taking patches 3 and 4 since they do look good to me, and
patches 1-2 can be applied to the thermal tree.

Thanks Stefan.

> 
> Stefan Wahren (4):
>   dt-bindings: Add Broadcom AVS RO thermal
>   thermal: Add BCM2711 thermal driver
>   ARM: dts: bcm2711: Enable thermal
>   ARM: configs: Build BCM2711 thermal as module
> 
>  .../bindings/thermal/brcm,avs-ro-thermal.yaml      |  45 +++++++
>  arch/arm/boot/dts/bcm2711.dtsi                     |  12 ++
>  arch/arm/configs/multi_v7_defconfig                |   1 +
>  arch/arm64/configs/defconfig                       |   1 +
>  drivers/thermal/broadcom/Kconfig                   |   7 ++
>  drivers/thermal/broadcom/Makefile                  |   1 +
>  drivers/thermal/broadcom/bcm2711_thermal.c         | 129 ++++++++++++++++=
> +++++
>  7 files changed, 196 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-=
> thermal.yaml
>  create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c
> 
> =2D-
> 2.7.4
> 


-- 
Florian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V2 2/4] thermal: Add BCM2711 thermal driver
  2020-01-06 22:30   ` Florian Fainelli
@ 2020-01-07 11:28     ` Nicolas Saenz Julienne
  0 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2020-01-07 11:28 UTC (permalink / raw)
  To: Florian Fainelli, Stefan Wahren, Zhang Rui, Daniel Lezcano,
	Amit Kucheria, Rob Herring, Mark Rutland, Catalin Marinas,
	Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, linux-arm-kernel, linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 1409 bytes --]

On Mon, 2020-01-06 at 14:30 -0800, Florian Fainelli wrote:
> Hi Stefan,
> 
> On 1/3/20 9:23 AM, Stefan Wahren wrote:
> > This adds the thermal sensor driver for the Broadcom BCM2711 SoC,
> > which is placed on the Raspberry Pi 4. The driver only provides
> > SoC temperature reading so far.
> > 
> > Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> 
> This looks good, I just have a couple of nits that you can address since
> the binding needs to be re-spun, see below, in any case:
> 
> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
> 
> [snip]
> 
> > +	of_node_put(parent);
> > +	if (IS_ERR(regmap)) {
> > +		dev_err(dev, "failed to get regmap (error %ld)\n",
> > +			PTR_ERR(regmap));
> 
> Here we use %ld
> 
> > +		return PTR_ERR(regmap);
> > +	}
> > +	priv->regmap = regmap;
> > +	priv->dev = dev;
> > +
> > +	thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv,
> > +						       &bcm2711_thermal_of_ops);
> > +	if (IS_ERR(thermal)) {
> > +		ret = PTR_ERR(thermal);
> > +		dev_err(dev, "could not register sensor: %d\n", ret);
> 
> and here we do an implicit cast into int, thus using %d, could we just
> make both consistent and use %d?

Extra nit since you're changing this. I'd suggest keeping the same format
between error messages (i.e. one encloses the error message between parentheses
and the other uses a colon).

Regards,
Nicolas


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4
  2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
                   ` (4 preceding siblings ...)
  2020-01-06 22:39 ` [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Florian Fainelli
@ 2020-01-07 14:14 ` Nicolas Saenz Julienne
  5 siblings, 0 replies; 10+ messages in thread
From: Nicolas Saenz Julienne @ 2020-01-07 14:14 UTC (permalink / raw)
  To: Stefan Wahren, Zhang Rui, Daniel Lezcano, Amit Kucheria,
	Rob Herring, Mark Rutland, Florian Fainelli, Catalin Marinas,
	Will Deacon
  Cc: devicetree, bcm-kernel-feedback-list, linux-arm-kernel, linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 1696 bytes --]

On Fri, 2020-01-03 at 18:23 +0100, Stefan Wahren wrote:
> This series enables thermal support for the Raspberry Pi 4. Neither the
> bcm2835_thermal nor the brcmstb_thermal are suitable for the BCM2711.
> So add a new thermal driver to read out the SoC temperature from the
> AVS RO block of the BCM2711.
> 
> Changes in V2:
> - rebase on thermal/linux-next
> - convert binding to YAML
> - make AVS RO block a subnode of AVS monitor and access it via syscon
> - drop unnecessary TSENS clock and get the rid of remove callback
> - add Florian's reviewed-by to last/unchanged patch
> 
> Stefan Wahren (4):
>   dt-bindings: Add Broadcom AVS RO thermal
>   thermal: Add BCM2711 thermal driver
>   ARM: dts: bcm2711: Enable thermal
>   ARM: configs: Build BCM2711 thermal as module
> 
>  .../bindings/thermal/brcm,avs-ro-thermal.yaml      |  45 +++++++
>  arch/arm/boot/dts/bcm2711.dtsi                     |  12 ++
>  arch/arm/configs/multi_v7_defconfig                |   1 +
>  arch/arm64/configs/defconfig                       |   1 +
>  drivers/thermal/broadcom/Kconfig                   |   7 ++
>  drivers/thermal/broadcom/Makefile                  |   1 +
>  drivers/thermal/broadcom/bcm2711_thermal.c         | 129
> +++++++++++++++++++++
>  7 files changed, 196 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-
> thermal.yaml
>  create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c
> 
> --
> 2.7.4
> 

Minus the small changes mentioned you can add my:

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>

Many Thanks!
Nicolas


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2020-01-07 14:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-03 17:23 [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Stefan Wahren
2020-01-03 17:23 ` [PATCH V2 1/4] dt-bindings: Add Broadcom AVS RO thermal Stefan Wahren
2020-01-06 22:15   ` Rob Herring
2020-01-03 17:23 ` [PATCH V2 2/4] thermal: Add BCM2711 thermal driver Stefan Wahren
2020-01-06 22:30   ` Florian Fainelli
2020-01-07 11:28     ` Nicolas Saenz Julienne
2020-01-03 17:23 ` [PATCH V2 3/4] ARM: dts: bcm2711: Enable thermal Stefan Wahren
2020-01-03 17:23 ` [PATCH V2 4/4] ARM: configs: Build BCM2711 thermal as module Stefan Wahren
2020-01-06 22:39 ` [PATCH V2 0/4] ARM: Enable thermal support for Raspberry Pi 4 Florian Fainelli
2020-01-07 14:14 ` Nicolas Saenz Julienne

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