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