# 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 <rafal@milecki.pl>

select: false

properties:
  compatible:
    const: brcm,bcm4908-partitions

  "#address-cells":
    enum: [ 1, 2 ]

  "#size-cells":
    enum: [ 1, 2 ]

patternProperties:
  "^partition@[0-9a-f]+$":
    $ref: partition.yaml#
    properties:
      compatible:
        const: brcm,bcm4908-firmware
    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 0x100000>;
        };

        partition@100000 {
            compatible = "brcm,bcm4908-firmware";
            reg = <0x100000 0xf00000>;
        };

        partition@1000000 {
            compatible = "brcm,bcm4908-firmware";
            reg = <0x1000000 0xf00000>;
        };

        partition@1f00000 {
            label = "calibration";
            reg = <0x1f00000 0x100000>;
        };
    };