162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mtd/partitions/linksys,ns-partitions.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Linksys Northstar partitioning
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  Linksys devices based on Broadcom Northstar architecture often use two
1162306a36Sopenharmony_ci  firmware partitions. One is used for regular booting, the other is treated as
1262306a36Sopenharmony_ci  fallback.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci  This binding allows defining all fixed partitions and marking those containing
1562306a36Sopenharmony_ci  firmware. System can use that information e.g. for booting or flashing
1662306a36Sopenharmony_ci  purposes.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_cimaintainers:
1962306a36Sopenharmony_ci  - Rafał Miłecki <rafal@milecki.pl>
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciselect: false
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciproperties:
2462306a36Sopenharmony_ci  compatible:
2562306a36Sopenharmony_ci    const: linksys,ns-partitions
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  "#address-cells":
2862306a36Sopenharmony_ci    enum: [ 1, 2 ]
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  "#size-cells":
3162306a36Sopenharmony_ci    enum: [ 1, 2 ]
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_cipatternProperties:
3462306a36Sopenharmony_ci  "^partition@[0-9a-f]+$":
3562306a36Sopenharmony_ci    $ref: partition.yaml#
3662306a36Sopenharmony_ci    properties:
3762306a36Sopenharmony_ci      compatible:
3862306a36Sopenharmony_ci        items:
3962306a36Sopenharmony_ci          - const: linksys,ns-firmware
4062306a36Sopenharmony_ci          - const: brcm,trx
4162306a36Sopenharmony_ci    unevaluatedProperties: false
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cirequired:
4462306a36Sopenharmony_ci  - "#address-cells"
4562306a36Sopenharmony_ci  - "#size-cells"
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciadditionalProperties: false
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciexamples:
5062306a36Sopenharmony_ci  - |
5162306a36Sopenharmony_ci    partitions {
5262306a36Sopenharmony_ci        compatible = "linksys,ns-partitions";
5362306a36Sopenharmony_ci        #address-cells = <1>;
5462306a36Sopenharmony_ci        #size-cells = <1>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci        partition@0 {
5762306a36Sopenharmony_ci            label = "boot";
5862306a36Sopenharmony_ci            reg = <0x0 0x100000>;
5962306a36Sopenharmony_ci            read-only;
6062306a36Sopenharmony_ci        };
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci        partition@100000 {
6362306a36Sopenharmony_ci            label = "nvram";
6462306a36Sopenharmony_ci            reg = <0x100000 0x100000>;
6562306a36Sopenharmony_ci        };
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci        partition@200000 {
6862306a36Sopenharmony_ci            compatible = "linksys,ns-firmware", "brcm,trx";
6962306a36Sopenharmony_ci            reg = <0x200000 0xf00000>;
7062306a36Sopenharmony_ci        };
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci        partition@1100000 {
7362306a36Sopenharmony_ci            compatible = "linksys,ns-firmware", "brcm,trx";
7462306a36Sopenharmony_ci            reg = <0x1100000 0xf00000>;
7562306a36Sopenharmony_ci        };
7662306a36Sopenharmony_ci    };
77