1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Broadcom BCM47xx Partitions 8 9description: | 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. 14 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. 18 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. 22 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 29 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. 34 35maintainers: 36 - Rafał Miłecki <rafal@milecki.pl> 37 38properties: 39 compatible: 40 const: brcm,bcm947xx-cfe-partitions 41 42additionalProperties: false 43 44examples: 45 - | 46 partitions { 47 compatible = "brcm,bcm947xx-cfe-partitions"; 48 }; 49