[PATCH RFC 13/15] dt-bindings: arm: Fix MPAM MSC binding schema and examples
Yin Li <[email protected]>
| Newsgroups | dev.linux.lists.driver-core,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260811-mpam-resctrl-dt-knp-support-v1-13-ea6397bead59@oss.qualcomm.com> |
Fix multiple issues in the MPAM MSC device tree binding: Schema fixes: - Move maintainers field before description to follow standard field order - Change compatible from fixed items list to oneOf to allow both standalone arm,mpam-msc and the two-item arm,mpam-memory-controller-msc + arm,mpam-msc combination - Constrain numa-node-id as uint32 with description instead of unconstrained - Add phandle-array type constraint to cpus property - Fix bracket spacing to pass yamllint Example fixes: - Replace arm,dsu-l3-cache with foo,a-l3-cache (no upstream schema exists) - Fix msc@41000 reg address from 0x0 to 0x41000 to match unit-address - Fix ris@2 reg value from 0 to 2 to match unit-address - Add arm,mpam-device phandle reference and remove TODO comment - Remove unnecessary blank lines for consistency Co-developed-by: Huang Yiwei <[email protected]> Signed-off-by: Huang Yiwei <[email protected]> Signed-off-by: Yin Li <[email protected]> --- .../devicetree/bindings/arm/arm,mpam-msc.yaml | 39 ++++++++++++---------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml b/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml index 53a6fdbbf05f..3c7b13a23ff2 100644 --- a/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml +++ b/Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml @@ -6,19 +6,21 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Arm Memory System Resource Partitioning and Monitoring (MPAM) +maintainers: + - Rob Herring <[email protected]> + description: | The Arm MPAM specification can be found here: https://developer.arm.com/documentation/ddi0598/latest -maintainers: - - Rob Herring <[email protected]> - properties: compatible: - items: + oneOf: - const: arm,mpam-msc # Further details are discoverable - - const: arm,mpam-memory-controller-msc + - items: + - const: arm,mpam-memory-controller-msc + - const: arm,mpam-msc reg: maxItems: 1 @@ -34,7 +36,7 @@ properties: interrupt-names: oneOf: - items: - - enum: [ error, overflow ] + - enum: [error, overflow] - items: - const: error - const: overflow @@ -44,7 +46,9 @@ properties: accurate after a settings change. For more information, see the Not-Ready (NRDY) bit description in the MPAM specification. - numa-node-id: true # see NUMA binding + numa-node-id: + $ref: /schemas/types.yaml#/definitions/uint32 + description: NUMA node identifier for the memory resource this MSC controls. '#address-cells': const: 1 @@ -72,16 +76,17 @@ patternProperties: maximum: 0xf cpus: + $ref: /schemas/types.yaml#/definitions/phandle-array description: - Phandle(s) to the CPU node(s) this RIS belongs to. By default, the parent - device's affinity is used. + Phandle(s) to the CPU node(s) this RIS belongs to. By default, the + parent device's affinity is used. arm,mpam-device: $ref: /schemas/types.yaml#/definitions/phandle description: By default, the MPAM enabled device associated with a RIS is the MSC's - parent node. It is possible for each RIS to be associated with different - devices in which case 'arm,mpam-device' should be used. + parent node. It is possible for each RIS to be associated with + different devices in which case 'arm,mpam-device' should be used. required: - compatible @@ -92,14 +97,14 @@ required: - reg dependencies: - interrupts: [ interrupt-names ] + interrupts: [interrupt-names] additionalProperties: false examples: - | L3: cache-controller@30000000 { - compatible = "arm,dsu-l3-cache", "cache"; + compatible = "foo,a-l3-cache", "cache"; cache-level = <3>; cache-unified; @@ -109,7 +114,6 @@ examples: msc@10000 { compatible = "arm,mpam-msc"; - reg = <0x10000 0x2000>; interrupts = <1>, <2>; interrupt-names = "error", "overflow"; @@ -145,7 +149,7 @@ examples: msc@41000 { compatible = "arm,mpam-msc"; - reg = <0 0x1000>; + reg = <0x41000 0x1000>; interrupts = <5>, <6>; interrupt-names = "error", "overflow"; arm,not-ready-us = <1>; @@ -155,8 +159,8 @@ examples: ris@2 { compatible = "arm,mpam-cache"; - reg = <0>; - // TODO: How to map to device(s)? + reg = <2>; + arm,mpam-device = <&L3>; }; }; }; @@ -173,7 +177,6 @@ examples: msc@10000 { compatible = "arm,mpam-msc"; - reg = <0x10000 0x2000>; interrupts = <7>; interrupt-names = "overflow"; -- 2.34.1