# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright (C) 2022 - 2026, Advanced Micro Devices, Inc. %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/xlnx,versal-sysmon.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: AMD/Xilinx Versal System Monitor maintainers: - Salih Erim description: The AMD/Xilinx Versal System Monitor (SysMon) is the successor to the Zynq UltraScale+ AMS block. It provides on-chip voltage and temperature monitoring with up to 160 voltage measurement points and up to 64 temperature satellites distributed across the SoC. The hardware supports configurable threshold alarms and oversampling. The device can be accessed via memory-mapped I/O or via an I2C interface. properties: compatible: const: xlnx,versal-sysmon reg: maxItems: 1 interrupts: maxItems: 1 '#io-channel-cells': const: 1 voltage-channels: type: object description: Container for voltage measurement channels. properties: '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: '^channel@([0-9a-f]|[1-9][0-9a-f])$': $ref: adc.yaml description: Measures a voltage rail. The register index and rail name are assigned by the hardware design tool (Vivado). properties: reg: minimum: 0 maximum: 159 description: Voltage measurement register index assigned by the hardware design tool. required: - reg - label unevaluatedProperties: false required: - '#address-cells' - '#size-cells' additionalProperties: false temperature-channels: type: object description: Container for temperature satellite measurement channels. properties: '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: '^channel@([1-9a-f]|[1-3][0-9a-f]|40)$': $ref: adc.yaml description: Reads a temperature satellite sensor. Each satellite monitors a specific region of the SoC die. properties: reg: minimum: 1 maximum: 64 description: Temperature satellite number (1-based hardware index). required: - reg - label unevaluatedProperties: false required: - '#address-cells' - '#size-cells' additionalProperties: false required: - compatible - reg additionalProperties: false examples: - | #include sysmon@f1270000 { compatible = "xlnx,versal-sysmon"; reg = <0xf1270000 0x4000>; interrupts = ; #io-channel-cells = <1>; voltage-channels { #address-cells = <1>; #size-cells = <0>; channel@0 { reg = <0>; label = "vccaux"; }; channel@3 { reg = <3>; label = "vcc_ram"; bipolar; }; }; temperature-channels { #address-cells = <1>; #size-cells = <0>; channel@a { reg = <10>; label = "aie-temp-ch1"; }; }; };