Re: [PATCH RFC v2 03/10] dt-bindings: arm: Add MPAM MSC binding

From: Yin Li

Date: Mon Sep 14 2026 - 22:50:57 EST




On 9/14/2026 10:50 PM, Andre Przywara wrote:
Hi,

On 9/14/26 16:41, Andre Przywara wrote:
Hi,

On 9/14/26 11:37, Yin Li wrote:
From: Rob Herring <robh@xxxxxxxxxx>

The binding is designed around the assumption that an MSC will be a
sub-block of something else such as a memory controller, cache controller,
or IOMMU. However, it's certainly possible a design does not have that
association or has a mixture of both, so the binding illustrates how we can
support that with RIS child nodes.

A key part of MPAM is we need to know about all of the MSCs in the system
before it can be enabled. This drives the need for the genericish
'arm,mpam-msc' compatible. Though we can't assume an MSC is accessible
until a h/w specific driver potentially enables the h/w.

Cc: James Morse <james.morse@xxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: James Morse <james.morse@xxxxxxx>
Signed-off-by: Yin Li <yin.li@xxxxxxxxxxxxxxxx>
---
  .../devicetree/bindings/arm/arm,mpam-msc.yaml      | 199 ++++++++++ + ++++++++++
  1 file changed, 199 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml b/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml
new file mode 100644
index 000000000000..53a6fdbbf05f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml
@@ -0,0 +1,199 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/arm,mpam-msc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Arm Memory System Resource Partitioning and Monitoring (MPAM)
+
+description: |
+  The Arm MPAM specification can be found here:
+
https://developer.arm.com/documentation/ddi0598/latest
+
+maintainers:
+  - Rob Herring <robh@xxxxxxxxxx>
+
+properties:
+  compatible:
+    items:
+      - const: arm,mpam-msc                   # Further details are discoverable
+      - const: arm,mpam-memory-controller-msc

But that doesn't match the examples below, does it? Don't we want to allow just "arm,mpam-msc", but also the memory controller string, with "arm,mpam-msc" as a fallback?
I guess the pattern should then look similar to interrupt-names below?

Just seeing that you fix this and other things up in patch 08/10 later.
I think it's confusing to have this split now for a v2 still. I wouldn't be aware of previous review of this original patch, so it doesn't really matter. Please squash them.

So I think you should merge 07/10 and 08/10 into their original patches, otherwise reviewers might just get confused.

But you might wait for a bit with a repost, to see if there are more generic comments on DT support.


Hi Andre,

Good catch on the compatible issue in 03/10: you're right, "items" requires both strings to be present, whereas we want to allow standalone "arm,mpam-msc" or the two-item combination. This is fixed in 08/10 using "oneOf"; the iommu example with the TODO is also fixed there.

On squashing: sorry for the confusion and agreed on both points. Since this is still an RFC and the original authors haven't commented yet, I've kept the fixes as separate patches to make it easier for them to review. I'll squash them in the next version.

Thanks for your quick review!

Yin

Cheers,
Andre



--
Thx and BRs,
Yin