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