xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunBroadcom TRX Container Partition
2*4882a593Smuzhiyun================================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunTRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
5*4882a593Smuzhiyunmost of the vendors building devices based on Broadcom's BCM47xx SoCs and is
6*4882a593Smuzhiyunsupported by the CFE bootloader.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunDesign of the TRX format is very minimalistic. Its header contains
9*4882a593Smuzhiyunidentification fields, CRC32 checksum and the locations of embedded partitions.
10*4882a593SmuzhiyunIts purpose is to store a few partitions in a format that can be distributed as
11*4882a593Smuzhiyuna standalone file and written in a flash memory.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunContainer can hold up to 4 partitions. The first partition has to contain a
14*4882a593Smuzhiyundevice executable binary (e.g. a kernel) as it's what the CFE bootloader starts
15*4882a593Smuzhiyunexecuting. Other partitions can be used for operating system purposes. This is
16*4882a593Smuzhiyunuseful for systems that keep kernel and rootfs separated.
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunTRX doesn't enforce any strict partition boundaries or size limits. All
19*4882a593Smuzhiyunpartitions have to be less than the 4GiB max size limit.
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunThere are two existing/known TRX variants:
22*4882a593Smuzhiyun1) v1 which contains 3 partitions
23*4882a593Smuzhiyun2) v2 which contains 4 partitions
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunThere aren't separated compatible bindings for them as version can be trivialy
26*4882a593Smuzhiyundetected by a software parsing TRX header.
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunRequired properties:
29*4882a593Smuzhiyun- compatible : (required) must be "brcm,trx"
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunExample:
32*4882a593Smuzhiyun
33*4882a593Smuzhiyunflash@0 {
34*4882a593Smuzhiyun	partitions {
35*4882a593Smuzhiyun		compatible = "brcm,trx";
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun};
38