From: Rob Herring <robh@kernel.org>
To: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
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>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Sebastian Reichel <sebastian.reichel@collabora.com>,
kernel@collabora.com, linux-pm@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 4/6] dt-bindings: thermal: rockchip: document otp thermal trim
Date: Wed, 26 Feb 2025 08:45:48 -0600 [thread overview]
Message-ID: <20250226144548.GA2299551-robh@kernel.org> (raw)
In-Reply-To: <20250225-rk3576-tsadc-upstream-v2-4-6eb7b00de89c@collabora.com>
On Tue, Feb 25, 2025 at 01:56:47PM +0100, Nicolas Frattaroli wrote:
> Several Rockchip SoCs, such as the RK3576, can store calibration trim
> data for thermal sensors in OTP cells. This capability should be
> documented.
>
> Such a rockchip thermal sensor may reference cell handles that store
> both a chip-wide trim for all the sensors, as well as cell handles
> for each individual sensor channel pointing to that specific sensor's
> trim value.
>
> Additionally, the thermal sensor may optionally reference cells which
> store the base in terms of degrees celsius and decicelsius that the trim
> is relative to.
>
> Each SoC that implements this appears to have a slightly different
> combination of chip-wide trim, base, base fractional part and
> per-channel trim, so which ones do which is documented in the bindings.
>
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---
> .../bindings/thermal/rockchip-thermal.yaml | 64 ++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
> index 49ceed68c92ce5a32ed8d4f39bd88fd052de0e80..eef8d2620b675fe2f871a03aebdaed13278e0884 100644
> --- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
> +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
> @@ -11,6 +11,23 @@ maintainers:
>
> $ref: thermal-sensor.yaml#
>
> +definitions:
'$defs' is preferred over 'definitions'. However, I don't think you need
either.
> + channel:
Just make this a pattern property:
'@[0-5]$'
Really, node names should be generic and the type of thing they are, not
what instance they are. So something like 'sensor' for all the child
nodes. IOW, node names is not how you should identify what each sensor
is associated with.
> + type: object
> + properties:
> + reg:
> + maxItems: 1
> + description: sensor ID, a.k.a. channel number
> + nvmem-cells:
> + items:
> + - description: handle of cell containing the calibration data
> + nvmem-cell-names:
> + items:
> + - const: trim
> + required:
> + - reg
> + unevaluatedProperties: false
> +
> properties:
> compatible:
> enum:
> @@ -51,6 +68,12 @@ properties:
> - const: tsadc
> - const: tsadc-phy
>
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> "#thermal-sensor-cells":
> const: 1
>
> @@ -80,6 +103,47 @@ required:
> - clock-names
> - resets
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,rk3568-tsadc
> + then:
> + properties:
> + nvmem-cells:
> + items:
> + - description: cell handle to where the trim's base temperature is stored
> + - description:
> + cell handle to where the trim's tenths of Celsius base value is stored
> + nvmem-cell-names:
> + items:
> + - const: trim_base
> + - const: trim_base_frac
Define all properties at the top-level and then restrict their presence
in the if/then schema.
> + cpu@0:
> + $ref: "#/definitions/channel"
> + gpu@1:
> + $ref: "#/definitions/channel"
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,rk3576-tsadc
> + then:
> + properties:
> + soc@0:
> + $ref: "#/definitions/channel"
> + bigcores@1:
> + $ref: "#/definitions/channel"
> + littlecores@2:
> + $ref: "#/definitions/channel"
> + ddr@3:
> + $ref: "#/definitions/channel"
> + npu@4:
> + $ref: "#/definitions/channel"
> + gpu@5:
> + $ref: "#/definitions/channel"
> +
> unevaluatedProperties: false
>
> examples:
>
> --
> 2.48.1
>
next prev parent reply other threads:[~2025-02-26 14:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-25 12:56 [PATCH v2 0/6] RK3576 thermal sensor support, including OTP trim adjustments Nicolas Frattaroli
2025-02-25 12:56 ` [PATCH v2 1/6] dt-bindings: rockchip-thermal: Add RK3576 compatible Nicolas Frattaroli
2025-02-25 12:56 ` [PATCH v2 2/6] arm64: dts: rockchip: Add thermal nodes to RK3576 Nicolas Frattaroli
2025-02-25 12:56 ` [PATCH v2 3/6] thermal: rockchip: Support RK3576 SoC in the thermal driver Nicolas Frattaroli
2025-02-25 12:56 ` [PATCH v2 4/6] dt-bindings: thermal: rockchip: document otp thermal trim Nicolas Frattaroli
2025-02-26 14:45 ` Rob Herring [this message]
2025-02-25 12:56 ` [PATCH v2 5/6] arm64: dts: rockchip: Add thermal trim OTP and tsadc nodes Nicolas Frattaroli
2025-02-25 12:56 ` [PATCH v2 6/6] thermal: rockchip: support reading trim values from OTP Nicolas Frattaroli
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=20250226144548.GA2299551-robh@kernel.org \
--to=robh@kernel.org \
--cc=conor+dt@kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=kernel@collabora.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lukasz.luba@arm.com \
--cc=nicolas.frattaroli@collabora.com \
--cc=rafael@kernel.org \
--cc=rui.zhang@intel.com \
--cc=sebastian.reichel@collabora.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;
as well as URLs for NNTP newsgroup(s).