0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Broadcom BCM47xx Partitions
0008
0009 description: |
0010 Broadcom is one of hardware manufacturers providing SoCs (BCM47xx) used in
0011 home routers. Their BCM947xx boards using CFE bootloader have several
0012 partitions without any on-flash partition table. On some devices their sizes
0013 and/or meanings can also vary so fixed partitioning can't be used.
0014
0015 Discovering partitions on these devices is possible thanks to having a special
0016 header and/or magic signature at the beginning of each of them. They are also
0017 block aligned which is important for determinig a size.
0018
0019 Most of partitions use ASCII text based magic for determining a type. More
0020 complex partitions (like TRX with its HDR0 magic) may include extra header
0021 containing some details, including a length.
0022
0023 A list of supported partitions includes:
0024 1) Bootloader with Broadcom's CFE (Common Firmware Environment)
0025 2) NVRAM with configuration/calibration data
0026 3) Device manufacturer's data with some default values (e.g. SSIDs)
0027 4) TRX firmware container which can hold up to 4 subpartitions
0028 5) Backup TRX firmware used after failed upgrade
0029
0030 As mentioned earlier, role of some partitions may depend on extra
0031 configuration. For example both: main firmware and backup firmware use the
0032 same TRX format with the same header. To distinguish currently used firmware a
0033 CFE's environment variable "bootpartition" is used.
0034
0035 maintainers:
0036 - Rafał Miłecki <rafal@milecki.pl>
0037
0038 properties:
0039 compatible:
0040 const: brcm,bcm947xx-cfe-partitions
0041
0042 additionalProperties: false
0043
0044 examples:
0045 - |
0046 partitions {
0047 compatible = "brcm,bcm947xx-cfe-partitions";
0048 };