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