Skip to content

Commit 5178b99

Browse files
Rafał MiłeckiBoris Brezillon
authored andcommitted
dt-bindings: mtd: document Broadcom's BCM47xx partitions
Broadcom based home router devices use partitions which have to be discovered in a specific way. They are not fixed and there is not any standard partition table. This commit adds and describes a new custom binding for such devices. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
1 parent ea092fb commit 5178b99

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

Documentation/devicetree/bindings/mtd/partition.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ method is used for a given flash device. To describe the method there should be
1414
a subnode of the flash device that is named 'partitions'. It must have a
1515
'compatible' property, which is used to identify the method to use.
1616

17-
We currently only document a binding for fixed layouts.
17+
Available bindings are listed in the "partitions" subdirectory.
1818

1919

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

0 commit comments

Comments
 (0)