[PATCH v5 1/5] dt-bindings: thermal: sun8i: Add A523 THS0/1 controllers
Krzysztof Kozlowski
krzk at kernel.org
Sun Jul 5 02:24:29 PDT 2026
On Sun, Jul 05, 2026 at 01:14:07AM +0800, Mikhail Kalashnikov wrote:
> Add dt-bindings description of the thermal sensors in the A523 processor.
>
> The controllers require activation of the additional frequency of the
> associated gpadc controller, so a mod clock property required.
>
> The calibration data for both thermal controllers (THS0, THS1) is split
> across two nvmem cells at different offsets, requiring the two cells
> to be read and merged. To maintain backward compatibility, the name of
> the old cell remains "calibration" and the new cell is named
> "calibration-second-part".
>
> Signed-off-by: Mikhail Kalashnikov <iuncuim at gmail.com>
> Reviewed-by: Chen-Yu Tsai <wens at kernel.org>
> ---
> .../thermal/allwinner,sun8i-a83t-ths.yaml | 54 +++++++++++++++++--
> 1 file changed, 51 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml
> index 3e61689f6..6f5b2f3b9 100644
> --- a/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml
> +++ b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml
> @@ -24,6 +24,8 @@ properties:
> - allwinner,sun50i-h5-ths
> - allwinner,sun50i-h6-ths
> - allwinner,sun50i-h616-ths
> + - allwinner,sun55i-a523-ths0
> + - allwinner,sun55i-a523-ths1
>
> clocks:
> minItems: 1
> @@ -47,11 +49,16 @@ properties:
> maxItems: 1
>
> nvmem-cells:
> - maxItems: 1
> - description: Calibration data for thermal sensors
> + minItems: 1
> + items:
> + - description: Calibration data for thermal sensors
> + - description: Additional cell in case of separate calibration data
>
> nvmem-cell-names:
> - const: calibration
> + minItems: 1
> + items:
> + - const: calibration
> + - const: calibration-second-part
>
> allwinner,sram:
> maxItems: 1
> @@ -107,6 +114,7 @@ allOf:
> enum:
> - allwinner,sun8i-h3-ths
> - allwinner,sun20i-d1-ths
> + - allwinner,sun55i-a523-ths0
>
> then:
> properties:
> @@ -132,6 +140,29 @@ allOf:
> - clock-names
> - resets
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - allwinner,sun55i-a523-ths0
> + - allwinner,sun55i-a523-ths1
> + then:
> + properties:
> + clocks:
> + minItems: 2
Missing clock-names
Look at other variants here, how they did it.
> + nvmem-cells:
> + minItems: 2
> + nvmem-cell-names:
> + minItems: 2
> + else:
> + properties:
> + nvmem-cells:
> + maxItems: 1
> + nvmem-cell-names:
maxItems instead
> + items:
> + - const: calibration
> +
> required:
> - compatible
> - reg
> @@ -176,4 +207,21 @@ examples:
> #thermal-sensor-cells = <1>;
> };
>
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/sun55i-a523-ccu.h>
> + #include <dt-bindings/reset/sun55i-a523-ccu.h>
> +
> + thermal-sensor at 2009400 {
You already have three examples, it is enough. Drop. Actually two would be
enough already...
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list