[PATCH 5/6] arm64: versal-net: Add SysMon and thermal zone
Michal Simek
michal.simek at amd.com
Mon Nov 2 06:53:59 PST 2026
On 11/2/26 13:21, Amit Kumar Mahapatra wrote:
> Describe the System Monitor (SysMon) block in the PMC, which provides
> on-chip voltage and temperature monitoring, and use its device
> temperature channel as the sensor for a thermal zone.
>
> SysMon channel 0 is the current maximum temperature across all active
> satellites.
>
> The thermal zone has a critical trip at 125C. Passive trips and cooling
> maps, voltage channels and per-satellite temperature channels depend on
> the design and are left to board files.
>
> Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra at amd.com>
> ---
> arch/arm64/boot/dts/xilinx/versal-net.dtsi | 29 ++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/xilinx/versal-net.dtsi b/arch/arm64/boot/dts/xilinx/versal-net.dtsi
> index 21bb917bcba1..394181c9a751 100644
> --- a/arch/arm64/boot/dts/xilinx/versal-net.dtsi
> +++ b/arch/arm64/boot/dts/xilinx/versal-net.dtsi
> @@ -735,6 +735,28 @@ versal_fpga: versal-fpga {
> compatible = "xlnx,versal-fpga";
> };
>
> + sysmon_temp: thermal-sensor {
> + compatible = "generic-adc-thermal";
> + #thermal-sensor-cells = <0>;
> + io-channels = <&sysmon0 0>;
> + io-channel-names = "sensor-channel";
> + };
> +
> + thermal-zones {
> + versal_thermal: versal-thermal {
> + polling-delay = <1000>; /* milliseconds */
> + thermal-sensors = <&sysmon_temp>;
> +
> + trips {
> + ot_crit: ot-crit {
> + temperature = <125000>; /* millicelsius */
> + hysteresis = <0>; /* millicelsius */
> + type = "critical";
> + };
> + };
> + };
> + };
> +
> amba: axi {
> compatible = "simple-bus";
> bootph-all;
> @@ -1033,6 +1055,13 @@ spi1: spi at f1970000 {
> clock-names = "ref_clk", "pclk";
> };
>
> + sysmon0: sysmon at f1270000 {
> + compatible = "xlnx,versal-sysmon";
> + reg = <0 0xf1270000 0 0x4000>;
> + interrupts = <0 202 4>;
> + #io-channel-cells = <1>;
> + };
This should have status = "disabled"; because I expect it is configuration
related and it might not be available. (Or not available via MMIO access).
Pretty much this patch should be sent separately. This patch series don't have
changes in dt binding. That's why it should go via my tree because there is no
dependency.
Thanks,
Michal
More information about the linux-arm-kernel
mailing list