aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2018-05-09 04:17:28 -0400
committerBoris Brezillon <boris.brezillon@bootlin.com>2018-05-23 04:08:44 -0400
commit5178b99cd3fccbbe32bf01a1441270c5f05995b5 (patch)
treefe1f6a7ddd5442f2e2ae2db7f4c741e5dc548451
parentea092fb3ce6668a357684bce993c782ceb0f167a (diff)
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>
-rw-r--r--Documentation/devicetree/bindings/mtd/partition.txt2
-rw-r--r--Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt42
2 files changed, 43 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/mtd/partition.txt b/Documentation/devicetree/bindings/mtd/partition.txt
index 36f3b769a626..a8f382642ba9 100644
--- a/Documentation/devicetree/bindings/mtd/partition.txt
+++ b/Documentation/devicetree/bindings/mtd/partition.txt
@@ -14,7 +14,7 @@ method is used for a given flash device. To describe the method there should be
14a subnode of the flash device that is named 'partitions'. It must have a 14a subnode of the flash device that is named 'partitions'. It must have a
15'compatible' property, which is used to identify the method to use. 15'compatible' property, which is used to identify the method to use.
16 16
17We currently only document a binding for fixed layouts. 17Available bindings are listed in the "partitions" subdirectory.
18 18
19 19
20Fixed Partitions 20Fixed Partitions
diff --git a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt
new file mode 100644
index 000000000000..1d61a029395e
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt
@@ -0,0 +1,42 @@
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};