Re: [PATCH 2/3] dt-bindings: mtd: add binding from BCM4908 partitions

2021-01-25 Thread Rob Herring
On Fri, Jan 15, 2021 at 04:39:00PM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki 
> 
> BCM4908 uses fixed partitions layout but function of some partitions may
> vary. Some devices use multiple firmware partitions and those should be
> marked to let system discover their purpose.
> 
> Signed-off-by: Rafał Miłecki 
> ---
>  .../partitions/brcm,bcm4908-partitions.yaml   | 68 +++
>  1 file changed, 68 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
> 
> diff --git 
> a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
>  
> b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
> new file mode 100644
> index ..4090b61a3da7
> --- /dev/null
> +++ 
> b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: 
> http://devicetree.org/schemas/mtd/partitions/brcm,bcm4908-partitions.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom BCM4908 partitioning
> +
> +description: |
> +  Broadcom BCM4908 CFE bootloader supports two firmware partitions. One is 
> used
> +  for regular booting, the other is treated as fallback.
> +
> +  This binding allows defining all fixed partitions and marking those 
> containing
> +  firmware. System can use that information e.g. for booting or flashing
> +  purposes.
> +
> +maintainers:
> +  - Rafał Miłecki 
> +
> +properties:
> +  compatible:
> +const: brcm,bcm4908-partitions
> +
> +  "#address-cells": true
> +
> +  "#size-cells": true

limit these to 1 and 2? 

> +
> +patternProperties:
> +  "@[0-9a-f]+$":

^partition@...

> +allOf:

You can drop 'allOf'.

> +  - $ref: "partition.yaml#"
> +  - properties:
> +  compatible:
> +const: brcm,bcm4908-firmware

Also needs 'unevaluatedProperties: false'

> +
> +required:
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +partitions {
> +compatible = "brcm,bcm4908-partitions";
> +#address-cells = <1>;
> +#size-cells = <1>;
> +
> +partition@0 {
> +label = "cferom";
> +reg = <0x0 0x10>;
> +};
> +
> +partition@10 {
> +compatible = "brcm,bcm4908-firmware";
> +reg = <0x10 0xf0>;
> +};
> +
> +partition@100 {
> +compatible = "brcm,bcm4908-firmware";
> +reg = <0x100 0xf0>;
> +};
> +
> +partition@1f0 {
> +label = "calibration";
> +reg = <0x1f0 0x10>;
> +};
> +};
> -- 
> 2.26.2
> 


[PATCH 2/3] dt-bindings: mtd: add binding from BCM4908 partitions

2021-01-15 Thread Rafał Miłecki
From: Rafał Miłecki 

BCM4908 uses fixed partitions layout but function of some partitions may
vary. Some devices use multiple firmware partitions and those should be
marked to let system discover their purpose.

Signed-off-by: Rafał Miłecki 
---
 .../partitions/brcm,bcm4908-partitions.yaml   | 68 +++
 1 file changed, 68 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml

diff --git 
a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml 
b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
new file mode 100644
index ..4090b61a3da7
--- /dev/null
+++ 
b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/partitions/brcm,bcm4908-partitions.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom BCM4908 partitioning
+
+description: |
+  Broadcom BCM4908 CFE bootloader supports two firmware partitions. One is used
+  for regular booting, the other is treated as fallback.
+
+  This binding allows defining all fixed partitions and marking those 
containing
+  firmware. System can use that information e.g. for booting or flashing
+  purposes.
+
+maintainers:
+  - Rafał Miłecki 
+
+properties:
+  compatible:
+const: brcm,bcm4908-partitions
+
+  "#address-cells": true
+
+  "#size-cells": true
+
+patternProperties:
+  "@[0-9a-f]+$":
+allOf:
+  - $ref: "partition.yaml#"
+  - properties:
+  compatible:
+const: brcm,bcm4908-firmware
+
+required:
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+partitions {
+compatible = "brcm,bcm4908-partitions";
+#address-cells = <1>;
+#size-cells = <1>;
+
+partition@0 {
+label = "cferom";
+reg = <0x0 0x10>;
+};
+
+partition@10 {
+compatible = "brcm,bcm4908-firmware";
+reg = <0x10 0xf0>;
+};
+
+partition@100 {
+compatible = "brcm,bcm4908-firmware";
+reg = <0x100 0xf0>;
+};
+
+partition@1f0 {
+label = "calibration";
+reg = <0x1f0 0x10>;
+};
+};
-- 
2.26.2