diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2018-05-09 04:17:28 -0400 |
---|---|---|
committer | Boris Brezillon <boris.brezillon@bootlin.com> | 2018-05-23 04:08:44 -0400 |
commit | 5178b99cd3fccbbe32bf01a1441270c5f05995b5 (patch) | |
tree | fe1f6a7ddd5442f2e2ae2db7f4c741e5dc548451 | |
parent | ea092fb3ce6668a357684bce993c782ceb0f167a (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.txt | 2 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt | 42 |
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 | |||
14 | a subnode of the flash device that is named 'partitions'. It must have a | 14 | a 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 | ||
17 | We currently only document a binding for fixed layouts. | 17 | Available bindings are listed in the "partitions" subdirectory. |
18 | 18 | ||
19 | 19 | ||
20 | Fixed Partitions | 20 | Fixed 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 @@ | |||
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 | }; | ||