Back to home page

OSCL-LXR

 
 

    


0001 Broadcom TRX Container Partition
0002 ================================
0003 
0004 TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
0005 most of the vendors building devices based on Broadcom's BCM47xx SoCs and is
0006 supported by the CFE bootloader.
0007 
0008 Design of the TRX format is very minimalistic. Its header contains
0009 identification fields, CRC32 checksum and the locations of embedded partitions.
0010 Its purpose is to store a few partitions in a format that can be distributed as
0011 a standalone file and written in a flash memory.
0012 
0013 Container can hold up to 4 partitions. The first partition has to contain a
0014 device executable binary (e.g. a kernel) as it's what the CFE bootloader starts
0015 executing. Other partitions can be used for operating system purposes. This is
0016 useful for systems that keep kernel and rootfs separated.
0017 
0018 TRX doesn't enforce any strict partition boundaries or size limits. All
0019 partitions have to be less than the 4GiB max size limit.
0020 
0021 There are two existing/known TRX variants:
0022 1) v1 which contains 3 partitions
0023 2) v2 which contains 4 partitions
0024 
0025 There aren't separated compatible bindings for them as version can be trivialy
0026 detected by a software parsing TRX header.
0027 
0028 Required properties:
0029 - compatible : (required) must be "brcm,trx"
0030 
0031 Optional properties:
0032 
0033 - brcm,trx-magic: TRX magic, if it is different from the default magic
0034                   0x30524448 as a u32.
0035 
0036 Example:
0037 
0038 flash@0 {
0039         partitions {
0040                 compatible = "brcm,trx";
0041         };
0042 };