123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Broadcom BCM47xx Partitions
- ===========================
- Broadcom is one of hardware manufacturers providing SoCs (BCM47xx) used in
- home routers. Their BCM947xx boards using CFE bootloader have several partitions
- without any on-flash partition table. On some devices their sizes and/or
- meanings can also vary so fixed partitioning can't be used.
- Discovering partitions on these devices is possible thanks to having a special
- header and/or magic signature at the beginning of each of them. They are also
- block aligned which is important for determinig a size.
- Most of partitions use ASCII text based magic for determining a type. More
- complex partitions (like TRX with its HDR0 magic) may include extra header
- containing some details, including a length.
- A list of supported partitions includes:
- 1) Bootloader with Broadcom's CFE (Common Firmware Environment)
- 2) NVRAM with configuration/calibration data
- 3) Device manufacturer's data with some default values (e.g. SSIDs)
- 4) TRX firmware container which can hold up to 4 subpartitions
- 5) Backup TRX firmware used after failed upgrade
- As mentioned earlier, role of some partitions may depend on extra configuration.
- For example both: main firmware and backup firmware use the same TRX format with
- the same header. To distinguish currently used firmware a CFE's environment
- variable "bootpartition" is used.
- Devices using Broadcom partitions described above should should have flash node
- with a subnode named "partitions" using following properties:
- Required properties:
- - compatible : (required) must be "brcm,bcm947xx-cfe-partitions"
- Example:
- flash@0 {
- partitions {
- compatible = "brcm,bcm947xx-cfe-partitions";
- };
- };
|