forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.6 KiB
42 lines
1.6 KiB
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"; |
|
}; |
|
};
|
|
|