# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/partitions/linksys,ns-partitions.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Linksys Northstar partitioning

description: |
  Linksys devices based on Broadcom Northstar architecture often use 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>

properties:
  compatible:
    const: linksys,ns-partitions

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

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

patternProperties:
  "^partition@[0-9a-f]+$":
    $ref: "partition.yaml#"
    properties:
      compatible:
        items:
          - const: linksys,ns-firmware
          - const: brcm,trx
    unevaluatedProperties: false

required:
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

examples:
  - |
    partitions {
        compatible = "linksys,ns-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        partition@0 {
            label = "boot";
            reg = <0x0 0x100000>;
            read-only;
        };

        partition@100000 {
            label = "nvram";
            reg = <0x100000 0x100000>;
        };

        partition@200000 {
            compatible = "linksys,ns-firmware", "brcm,trx";
            reg = <0x200000 0xf00000>;
        };

        partition@1100000 {
            compatible = "linksys,ns-firmware", "brcm,trx";
            reg = <0x1100000 0xf00000>;
        };
    };
