xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/partitions/brcm,trx.txt (revision 9f44a47fd07924afc035991af15d84e6585dea4f)
1Broadcom TRX Container Partition
2================================
3
4TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
5most of the vendors building devices based on Broadcom's BCM47xx SoCs and is
6supported by the CFE bootloader.
7
8Design of the TRX format is very minimalistic. Its header contains
9identification fields, CRC32 checksum and the locations of embedded partitions.
10Its purpose is to store a few partitions in a format that can be distributed as
11a standalone file and written in a flash memory.
12
13Container can hold up to 4 partitions. The first partition has to contain a
14device executable binary (e.g. a kernel) as it's what the CFE bootloader starts
15executing. Other partitions can be used for operating system purposes. This is
16useful for systems that keep kernel and rootfs separated.
17
18TRX doesn't enforce any strict partition boundaries or size limits. All
19partitions have to be less than the 4GiB max size limit.
20
21There are two existing/known TRX variants:
221) v1 which contains 3 partitions
232) v2 which contains 4 partitions
24
25There aren't separated compatible bindings for them as version can be trivialy
26detected by a software parsing TRX header.
27
28Required properties:
29- compatible : (required) must be "brcm,trx"
30
31Optional properties:
32
33- brcm,trx-magic: TRX magic, if it is different from the default magic
34		  0x30524448 as a u32.
35
36Example:
37
38flash@0 {
39	partitions {
40		compatible = "brcm,trx";
41	};
42};
43