Linux Hardening
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Tudor Ambarus <tudor.ambarus@linaro.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Lukasz Luba" <lukasz.luba@arm.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Lee Jones" <lee@kernel.org>,
	"Alim Akhtar" <alim.akhtar@samsung.com>,
	"Peter Griffin" <peter.griffin@linaro.org>,
	"André Draszik" <andre.draszik@linaro.org>,
	"Bartlomiej Zolnierkiewicz" <bzolnier@gmail.com>,
	"Kees Cook" <kees@kernel.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	willmcvicker@google.com, jyescas@google.com,
	shin.son@samsung.com, linux-pm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH 3/8] dt-bindings: mfd: Add Google GS101 TMU Syscon
Date: Thu, 15 Jan 2026 16:34:39 +0100	[thread overview]
Message-ID: <e2f028d6-774f-4773-889f-7d56b833067e@kernel.org> (raw)
In-Reply-To: <200d34bf-150e-4f8a-b400-2f54863502ac@linaro.org>

On 15/01/2026 15:53, Tudor Ambarus wrote:
> 
> 
> On 1/15/26 3:36 PM, Krzysztof Kozlowski wrote:
>> On Wed, Jan 14, 2026 at 02:16:31PM +0000, Tudor Ambarus wrote:
>>> Document the bindings for the Thermal Management Unit (TMU) System
>>> Controller found on Google GS101 SoCs.
>>>
>>> This memory-mapped block exposes the registers required for reading
>>> thermal interrupt status bits. It functions as a syscon provider,
>>
>> I don't think this is syscon, but the actual TMU. Syscon is various,
>> unrelated system configuration registers.
>>
>>> allowing the main thermal driver to access these registers while
>>> the firmware manages the core thermal logic.
>>>
>>> Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
>>> ---
>>>  .../bindings/mfd/google,gs101-tmu-syscon.yaml      | 37 ++++++++++++++++++++++
>>>  1 file changed, 37 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mfd/google,gs101-tmu-syscon.yaml b/Documentation/devicetree/bindings/mfd/google,gs101-tmu-syscon.yaml
>>> new file mode 100644
>>> index 0000000000000000000000000000000000000000..6a11e43abeaa23ee473be2153478436856277714
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mfd/google,gs101-tmu-syscon.yaml
>>
>> Not MFD either, but soc.
> 
> You are right, it's not a syscon, it's just a normal thermal IP block
> from which I need to access the interrupt pending registers.
> 
> Then I guess I shall describe the new binding in bindings/thermal/,
> please correct me if I'm wrong.
> 
>>
>>> @@ -0,0 +1,37 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/mfd/google,gs101-tmu-syscon.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Google GS101 TMU System Controller
>>> +
>>> +maintainers:
>>> +  - Tudor Ambarus <tudor.ambarus@linaro.org>
>>> +
>>> +description: |
>>
>> Drop |
>>
>>> +  The TMU System Controller provides a memory-mapped interface for
>>> +  accessing the interrupt status registers of the Thermal Management
>>> +  Unit. It is used as a syscon provider for the main TMU driver.
>>
>> No, it is not a syscon provider. Entire last sentence is incorrect. You
>> must describe here hardware and this hardware does not provide any sort
>> of syscon to any sort of driver.
>>
> 
> Indeed.
> 
> I'm going to link the ACPM TMU child node with the TMU node via a
> "samsung,tmu-regs" property.

This could be fine, but I actually wonder what's there. What registers
exactly. For example modern Exynos 88xx, already with APM block, still
have exactly the same TMU unit at 0x1008{04}000 with all typical
triminfo, current temperature and thresholds.

> 
> Some concern that I have is that I describe the clocks and interrupts in
> the ACPM TMU child node. Usually the clocks and interrupts belong to the
> node that contains the reg property. But I guess that's alright because
> the interrupts property is expected to be in the node that the driver
> binds to. For the clocks, by placing it in the ACPM child node, I allow
> runtime PM to manage it.

You have to first know whether these clocks and interrupts are going TO
the ACPM node.

All this looks like designing for drivers, sorry.

> 
> Do you think the below description is accurate?
> 
> soc: soc@0 {
>     tmu_top: thermal-sensor@100a0000 {
>         compatible = "google,gs101-tmu-top";
>         reg = <0x100a0000 0x800>;
>     };
> };
> 
> firmware {
>     acpm_ipc: power-management {
>         compatible = "google,gs101-acpm-ipc";
>         /* ... */
> 
>         thermal-sensor {
>             compatible = "google,gs101-acpm-tmu-top";
>             clocks = <&cmu_misc CLK_GOUT_MISC_TMU_TOP_PCLK>;
>             interrupts = <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH 0>;

This I doubt, really. Why would ACPM child be hooked via CPU clock and
interrupts?


Best regards,
Krzysztof

  reply	other threads:[~2026-01-15 15:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-14 14:16 [PATCH 0/8] thermal: samsung: Add support for Google GS101 TMU Tudor Ambarus
2026-01-14 14:16 ` [PATCH 1/8] dt-bindings: thermal: Add " Tudor Ambarus
2026-01-15 13:32   ` Krzysztof Kozlowski
2026-01-19 12:45     ` Tudor Ambarus
2026-01-19 12:57       ` Krzysztof Kozlowski
2026-01-14 14:16 ` [PATCH 2/8] dt-bindings: firmware: google,gs101-acpm-ipc: Add TMU child node Tudor Ambarus
2026-01-14 14:16 ` [PATCH 3/8] dt-bindings: mfd: Add Google GS101 TMU Syscon Tudor Ambarus
2026-01-15 13:36   ` Krzysztof Kozlowski
2026-01-15 14:53     ` Tudor Ambarus
2026-01-15 15:34       ` Krzysztof Kozlowski [this message]
2026-01-15 16:10         ` Tudor Ambarus
2026-01-16  8:50           ` Tudor Ambarus
2026-01-16  9:14             ` Krzysztof Kozlowski
2026-01-16  9:18               ` Tudor Ambarus
2026-01-14 14:16 ` [PATCH 4/8] firmware: samsung: acpm: Add TMU protocol support Tudor Ambarus
2026-01-14 14:16 ` [PATCH 5/8] thermal: samsung: Add support for GS101 TMU Tudor Ambarus
2026-01-14 14:16 ` [PATCH 6/8] MAINTAINERS: Add entry for Samsung Exynos ACPM thermal driver Tudor Ambarus
2026-01-14 14:16 ` [PATCH 7/8] arm64: dts: exynos: gs101: Add thermal management unit Tudor Ambarus
2026-01-14 14:16 ` [PATCH 8/8] arm64: defconfig: enable Exynos ACPM thermal support Tudor Ambarus
2026-01-15 13:21   ` Tudor Ambarus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e2f028d6-774f-4773-889f-7d56b833067e@kernel.org \
    --to=krzk@kernel.org \
    --cc=alim.akhtar@samsung.com \
    --cc=andre.draszik@linaro.org \
    --cc=bzolnier@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gustavoars@kernel.org \
    --cc=jyescas@google.com \
    --cc=kees@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=peter.griffin@linaro.org \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=shin.son@samsung.com \
    --cc=tudor.ambarus@linaro.org \
    --cc=willmcvicker@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox