diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2018-06-25 18:05:07 -0400 |
---|---|---|
committer | Boris Brezillon <boris.brezillon@bootlin.com> | 2018-07-07 04:50:57 -0400 |
commit | d1001b060621d2119a81ee00b652a84595b03abe (patch) | |
tree | 2218fd9362783f1e7a9502c1d216c730dd9f9f36 | |
parent | c31106b7af32d845e56acb705f07e187f9b519e6 (diff) |
dt-bindings: mtd: document Broadcom's TRX firmware format binding
Broadcom based home router devices use TRX firmware format. It's a
container that can hold few partitions. If operating system is expected
to access them it has to understand that format and parse flash data
accordingly.
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/partitions/brcm,trx.txt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt b/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt new file mode 100644 index 000000000000..b677147ca4e1 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | Broadcom TRX Container Partition | ||
2 | ================================ | ||
3 | |||
4 | TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by | ||
5 | most of the vendors building devices based on Broadcom's BCM47xx SoCs and is | ||
6 | supported by the CFE bootloader. | ||
7 | |||
8 | Design of the TRX format is very minimalistic. Its header contains | ||
9 | identification fields, CRC32 checksum and the locations of embedded partitions. | ||
10 | Its purpose is to store a few partitions in a format that can be distributed as | ||
11 | a standalone file and written in a flash memory. | ||
12 | |||
13 | Container can hold up to 4 partitions. The first partition has to contain a | ||
14 | device executable binary (e.g. a kernel) as it's what the CFE bootloader starts | ||
15 | executing. Other partitions can be used for operating system purposes. This is | ||
16 | useful for systems that keep kernel and rootfs separated. | ||
17 | |||
18 | TRX doesn't enforce any strict partition boundaries or size limits. All | ||
19 | partitions have to be less than the 4GiB max size limit. | ||
20 | |||
21 | There are two existing/known TRX variants: | ||
22 | 1) v1 which contains 3 partitions | ||
23 | 2) v2 which contains 4 partitions | ||
24 | |||
25 | There aren't separated compatible bindings for them as version can be trivialy | ||
26 | detected by a software parsing TRX header. | ||
27 | |||
28 | Required properties: | ||
29 | - compatible : (required) must be "brcm,trx" | ||
30 | |||
31 | Example: | ||
32 | |||
33 | flash@0 { | ||
34 | partitions { | ||
35 | compatible = "brcm,trx"; | ||
36 | }; | ||
37 | }; | ||