On Tue, Sep 13, 2022 at 12:55:03PM -0700, Doug Berger wrote:As noted in my reply to your [PATCH 00/21] comment, my intention in submitting the entire patch set (and specifically PATCH 00/21]) was to communicate this context. Now that I believe I understand that only this patch should have been submitted to the devicetree-spec mailing list, I will strive harder to make it more self contained.
Introduce designated-movable-block.yaml to document the
devicetree binding for Designated Movable Block children of the
reserved-memory node.
What is a Designated Movable Block? This patch needs to stand on its
own.
While my preferred method of declaring Designated Movable Blocks is through the movablecore kernel parameter, I can conceive that others may wish to take advantage of the reserved-memory DT nodes. In particular, it has the advantage that a device can claim ownership of the reserved-memory via device tree, which is something that has yet to be implemented for DMBs defined with movablecore.
Why does this belong or need to be in DT?
I will avoid ZONE_MOVABLE if this commit is included in V2 of this patch set.
Signed-off-by: Doug Berger <opendmb@xxxxxxxxx>
---
.../designated-movable-block.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reserved-memory/designated-movable-block.yaml
diff --git a/Documentation/devicetree/bindings/reserved-memory/designated-movable-block.yaml b/Documentation/devicetree/bindings/reserved-memory/designated-movable-block.yaml
new file mode 100644
index 000000000000..42f846069a2e
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/designated-movable-block.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reserved-memory/designated-movable-block.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: /reserved-memory Designated Movable Block node binding
+
+maintainers:
+ - devicetree-spec@xxxxxxxxxxxxxxx
+
+allOf:
+ - $ref: "reserved-memory.yaml"
+
+properties:
+ compatible:
+ const: designated-movable-block
+ description:
+ This indicates a region of memory meant to be placed into
+ ZONE_MOVABLE.
Don't put Linuxisms into bindings.
Thank you for the review!
+
+unevaluatedProperties: false
+
+required:
+ - compatible
+ - reusable
+
+examples:
+ - |
+ reserved-memory {
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+
+ DMB0@10800000 {
+ compatible = "designated-movable-block";
+ reusable;
+ reg = <0x0 0x10800000 0x0 0x2d800000>;
+ };
+
+ DMB1@40000000 {
+ compatible = "designated-movable-block";
+ reusable;
+ reg = <0x0 0x40000000 0x0 0x30000000>;
+ };
+
+ DMB2@80000000 {
+ compatible = "designated-movable-block";
+ reusable;
+ reg = <0x0 0x80000000 0x0 0x2fc00000>;
+ };
+ };
--
2.25.1