public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Salih Erim <salih.erim@amd.com>
Cc: jic23@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
	 conor+dt@kernel.org, git@amd.com, nuno.sa@analog.com,
	andy@kernel.org,  dlechner@baylibre.com, michal.simek@amd.com,
	conall.ogriofa@amd.com,  erimsalih@gmail.com,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	 linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/5] dt-bindings: iio: adc: add xlnx,versal-sysmon binding
Date: Sun, 3 May 2026 16:20:49 +0200	[thread overview]
Message-ID: <20260503-rebel-sassy-weasel-ed26ee@quoll> (raw)
In-Reply-To: <20260502111951.538488-2-salih.erim@amd.com>

On Sat, May 02, 2026 at 12:19:47PM +0100, Salih Erim wrote:
> Add devicetree binding for the AMD/Xilinx Versal System Monitor (SysMon).
> 
> The Versal SysMon is the successor to the Zynq UltraScale+ AMS block,
> providing on-chip voltage and temperature monitoring. The hardware
> supports up to 160 supply voltage measurement points and up to 64
> temperature satellites distributed across the SoC, with configurable
> threshold alarms and oversampling. The device can be accessed via
> memory-mapped I/O or via an I2C interface.
> 
> Supply and temperature channels are described as child nodes under
> container nodes, referencing the standard adc.yaml binding for
> channel properties.
> 
> Co-developed-by: Michal Simek <michal.simek@amd.com>
> Signed-off-by: Michal Simek <michal.simek@amd.com>
> Signed-off-by: Salih Erim <salih.erim@amd.com>
> ---
> Changes in v2:
>   - Restructured to container nodes (supply-channels, temperature-channels)
>     with channel@N children referencing adc.yaml
>   - Added xlnx,versal-sysmon-i2c compatible
>   - Descriptions rewritten to describe hardware only
>   - Example simplified to #address-cells = <1>
>   - Interrupt example uses GIC_SPI/IRQ_TYPE_LEVEL_HIGH constants
>   - Commit description explains hardware context instead of schema layout
>   - reg required for both MMIO and I2C, interrupts optional
>   - Hex unit-addresses (channel@a not channel@10) per DTSpec
>   - patternProperties regex updated to accept hex digits [0-9a-f]
>   - Example trimmed to minimal variants (one basic + one bipolar supply,
>     one AIE temperature channel)
>  .../bindings/iio/adc/xlnx,versal-sysmon.yaml  | 172 ++++++++++++++++++
>  1 file changed, 172 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/adc/xlnx,versal-sysmon.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/xlnx,versal-sysmon.yaml b/Documentation/devicetree/bindings/iio/adc/xlnx,versal-sysmon.yaml
> new file mode 100644
> index 00000000000..cdd8706fc02
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/xlnx,versal-sysmon.yaml
> @@ -0,0 +1,172 @@
> +# 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 <salih.erim@amd.com>
> +
> +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 supply 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:
> +    enum:
> +      - xlnx,versal-sysmon
> +      - xlnx,versal-sysmon-i2c

This is explicitly mentioned in writing bindings. One device, one
compatible (not two, not three, not four compatibles).

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  '#io-channel-cells':
> +    const: 1
> +
> +  supply-channels:
> +    type: object
> +    description:
> +      Container for supply voltage measurement channels.

voltage, not supply. Supply is the source of energy coming to this
device. But are you measuring that source?

> +
> +    properties:
> +      '#address-cells':
> +        const: 1
> +
> +      '#size-cells':
> +        const: 0
> +
> +    patternProperties:
> +      "^channel@([0-9a-f]|[1-9][0-9a-f])$":

Keep consistent quotes, either ' or "

> +        $ref: adc.yaml
> +
> +        description:
> +          Measures a supply rail voltage. The register index and rail
> +          name are assigned by the hardware design tool (Vivado).
> +
> +        properties:
> +          reg:
> +            minimum: 0
> +            maximum: 159
> +            description:
> +              Supply measurement register index assigned by the hardware
> +              design tool.
> +
> +          label:
> +            description:
> +              Name of the supply rail being monitored.

Drop property, it's already in adc.yaml.

> +
> +          bipolar: true

Drop

> +
> +        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).
> +
> +          label:
> +            description:
> +              Name identifying this temperature satellite.

Drop property

> +
> +          xlnx,aie-temp:
> +            type: boolean
> +            description:
> +              Indicates this satellite monitors an AI Engine tile.

What for? What is on the other side of the channel is not really
relevant to this device, but rather to that other side (consumer).

> +
> +        required:
> +          - reg
> +          - label
> +
> +        unevaluatedProperties: false
> +
> +    required:
> +      - '#address-cells'
> +      - '#size-cells'
> +
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg

Best regards,
Krzysztof


  reply	other threads:[~2026-05-03 14:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-02 11:19 [PATCH v2 0/5] iio: adc: add AMD/Xilinx Versal SysMon driver Salih Erim
2026-05-02 11:19 ` [PATCH v2 1/5] dt-bindings: iio: adc: add xlnx,versal-sysmon binding Salih Erim
2026-05-03 14:20   ` Krzysztof Kozlowski [this message]
2026-05-03 22:52     ` Salih Erim
2026-05-02 11:19 ` [PATCH v2 2/5] iio: adc: add Versal SysMon driver Salih Erim
2026-05-02 11:19 ` [PATCH v2 3/5] iio: adc: versal-sysmon: add I2C driver Salih Erim
2026-05-02 11:19 ` [PATCH v2 4/5] iio: adc: versal-sysmon: add threshold event support Salih Erim
2026-05-02 11:19 ` [PATCH v2 5/5] iio: adc: versal-sysmon: add oversampling support Salih Erim

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=20260503-rebel-sassy-weasel-ed26ee@quoll \
    --to=krzk@kernel.org \
    --cc=andy@kernel.org \
    --cc=conall.ogriofa@amd.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=erimsalih@gmail.com \
    --cc=git@amd.com \
    --cc=jic23@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.simek@amd.com \
    --cc=nuno.sa@analog.com \
    --cc=robh@kernel.org \
    --cc=salih.erim@amd.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