[PATCH 4/6] dt-bindings: thermal: rockchip: document otp thermal trim
Nicolas Frattaroli
nicolas.frattaroli at collabora.com
Fri Feb 21 05:27:58 PST 2025
On Thursday, 20 February 2025 00:10:36 Central European Standard Time Rob
Herring wrote:
> On Sun, Feb 16, 2025 at 12:34:53AM +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.
>
> Is several most or a minority as this change is enabled for everyone.
Downstream has trim_h/trim_l nodes for the following SoCs:
- RK3502
- RK3528
- RK3562
- RK3566
- RK3568
- RK3576
- RV1126
If you'd prefer I split the bindings or add a conditional to only enable this
on those specific compatibles, let me know. It is worth noting that all of
these SoCs are fairly new, so I assume this is the design that Rockchip is
using going forward.
Additionally, trim_base/trim_base_frac seem to only be set in downstream DTs
for RK3562, RK3566, RK3568 and RV1126, so while I'm at it I'd add those to a
separate conditional as well.
> > 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.
> >
> > Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli at collabora.com>
> > ---
> >
> > .../bindings/thermal/rockchip-thermal.yaml | 44
> > ++++++++++++++++++++++ 1 file changed, 44 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
> > b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml index
> > 49ceed68c92ce5a32ed8d4f39bd88fd052de0e80..8d27ddefcc64e29f0faab0598888058
> > 02c948b41 100644 ---
> > a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml +++
> > b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml>
> > @@ -40,6 +40,21 @@ properties:
> > - const: tsadc
> > - const: apb_pclk
> >
> > + nvmem-cells:
> > + items:
> > + - description: cell handle of the low byte of the chip fallback
> > trim value + - description: cell handle of the high byte of the chip
> > fallback trim value + - 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:
> > + enum:
> > + - trim_l
> > + - trim_h
> > + - trim_base
> > + - trim_base_frac
> > +
> >
> > resets:
> > minItems: 1
> > maxItems: 3
> >
> > @@ -51,6 +66,12 @@ properties:
> > - const: tsadc
> > - const: tsadc-phy
> >
> > + "#address-cells":
> > + const: 1
> > +
> > + "#size-cells":
> > + const: 0
> > +
> >
> > "#thermal-sensor-cells":
> > const: 1
> >
> > @@ -72,6 +93,29 @@ properties:
> > $ref: /schemas/types.yaml#/definitions/uint32
> > enum: [0, 1]
> >
> > +patternProperties:
>
> > + "^([a-z]+)@[0-9]+$":
> If each node is a sensor or channel, then make that the node name.
Will do in V2. Should the node name be something like e.g. `gpu` for the GPU
thermal sensor/channel? Maybe suffixed with e.g. `-tsadc` or something, to
disambiguate it from other mentions of the GPU, or is disambiguation
unnecessary noise because it's evident from it being a child of tsadc anyway,
much like cpu and codec aren't suffixed with anything in simple-audio-card's
dai-link?
>
> > + type: object
> > + properties:
> > + reg:
> > + maxItems: 1
> > + description: sensor ID, a.k.a. channel number
> > +
> > + nvmem-cells:
> > + items:
> > + - description: handle of cell containing low byte of
> > calibration data + - description: handle of cell containing high
> > byte of calibration data +
> > + nvmem-cell-names:
> > + items:
> > + - const: trim_l
> > + - const: trim_h
> > +
> > + required:
> > + - reg
> > +
> > + unevaluatedProperties: false
> > +
> >
> > required:
> > - compatible
> > - reg
More information about the Linux-rockchip
mailing list