xref: /linux/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1d9a16830SRafał Miłecki# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d9a16830SRafał Miłecki%YAML 1.2
3d9a16830SRafał Miłecki---
4d9a16830SRafał Miłecki$id: http://devicetree.org/schemas/mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml#
5d9a16830SRafał Miłecki$schema: http://devicetree.org/meta-schemas/core.yaml#
6d9a16830SRafał Miłecki
7d9a16830SRafał Miłeckititle: Broadcom BCM47xx Partitions
8d9a16830SRafał Miłecki
9d9a16830SRafał Miłeckidescription: |
10d9a16830SRafał Miłecki  Broadcom is one of hardware manufacturers providing SoCs (BCM47xx) used in
11d9a16830SRafał Miłecki  home routers. Their BCM947xx boards using CFE bootloader have several
12d9a16830SRafał Miłecki  partitions without any on-flash partition table. On some devices their sizes
13d9a16830SRafał Miłecki  and/or meanings can also vary so fixed partitioning can't be used.
14d9a16830SRafał Miłecki
15d9a16830SRafał Miłecki  Discovering partitions on these devices is possible thanks to having a special
16d9a16830SRafał Miłecki  header and/or magic signature at the beginning of each of them. They are also
17d9a16830SRafał Miłecki  block aligned which is important for determinig a size.
18d9a16830SRafał Miłecki
19d9a16830SRafał Miłecki  Most of partitions use ASCII text based magic for determining a type. More
20d9a16830SRafał Miłecki  complex partitions (like TRX with its HDR0 magic) may include extra header
21d9a16830SRafał Miłecki  containing some details, including a length.
22d9a16830SRafał Miłecki
23d9a16830SRafał Miłecki  A list of supported partitions includes:
24d9a16830SRafał Miłecki  1) Bootloader with Broadcom's CFE (Common Firmware Environment)
25d9a16830SRafał Miłecki  2) NVRAM with configuration/calibration data
26d9a16830SRafał Miłecki  3) Device manufacturer's data with some default values (e.g. SSIDs)
27d9a16830SRafał Miłecki  4) TRX firmware container which can hold up to 4 subpartitions
28d9a16830SRafał Miłecki  5) Backup TRX firmware used after failed upgrade
29d9a16830SRafał Miłecki
30d9a16830SRafał Miłecki  As mentioned earlier, role of some partitions may depend on extra
31d9a16830SRafał Miłecki  configuration. For example both: main firmware and backup firmware use the
32d9a16830SRafał Miłecki  same TRX format with the same header. To distinguish currently used firmware a
33d9a16830SRafał Miłecki  CFE's environment variable "bootpartition" is used.
34d9a16830SRafał Miłecki
35d9a16830SRafał Miłeckimaintainers:
36d9a16830SRafał Miłecki  - Rafał Miłecki <rafal@milecki.pl>
37d9a16830SRafał Miłecki
38*991088a6SMiquel Raynalselect: false
39*991088a6SMiquel Raynal
40d9a16830SRafał Miłeckiproperties:
41d9a16830SRafał Miłecki  compatible:
42d9a16830SRafał Miłecki    const: brcm,bcm947xx-cfe-partitions
43d9a16830SRafał Miłecki
44d9a16830SRafał MiłeckiadditionalProperties: false
45d9a16830SRafał Miłecki
46d9a16830SRafał Miłeckiexamples:
47d9a16830SRafał Miłecki  - |
48d9a16830SRafał Miłecki    partitions {
49d9a16830SRafał Miłecki        compatible = "brcm,bcm947xx-cfe-partitions";
50d9a16830SRafał Miłecki    };
51