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