← Documents Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Broadcom TRX Container

CFE가 지원하는 TRX v1·v2 firmware partition container입니다.

Source pathDocumentation/devicetree/bindings/mtd/partitions/brcm,trx.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

brcm,trx.txt:1-42

CRC32 header, 실행 partition과 custom magic을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.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 Optional properties:
32
33 - brcm,trx-magic: TRX magic, if it is different from the default magic
34 0x30524448 as a u32.
35
36 Example:
37
38 flash@0 {
39 partitions {
40 compatible = "brcm,trx";
41 };
42 };
43

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Broadcom TRX container

1-3

이 문서는 Broadcom TRX container partition 바인딩입니다.

Firmware header와 partition 제약

4-20

TRX는 BCM947xx board용 Broadcom 공식 firmware format입니다. Broadcom BCM47xx SoC 기반 device를 만드는 대부분의 vendor가 사용하며 CFE bootloader가 지원합니다.

TRX 설계는 매우 단순합니다. Header에는 식별 field, CRC32 checksum, 내장 partition 위치가 있으며, 몇 개의 partition을 standalone file로 배포해 flash memory에 기록하는 것이 목적입니다.

Container는 최대 4개 partition을 담습니다. 첫 partition은 CFE가 실행을 시작하는 device executable binary, 예를 들면 kernel이어야 합니다. 나머지는 운영체제 용도로 사용할 수 있어 kernel과 rootfs를 분리하는 system에 유용합니다.

TRX는 엄격한 partition boundary나 크기 제한을 강제하지 않지만 모든 partition은 최대 4GiB보다 작아야 합니다.

TRX boot container
TRX headerIdentification and CRC32
TRX headerEmbedded partition offsets
Partition 1Executable kernel
CFE bootloaderExecute partition 1
Partitions 2–4Rootfs or OS data

Header가 CRC와 partition 위치를 제공하고 첫 partition은 CFE가 실행할 binary입니다.

TRX v1·v2와 custom magic

21-35

알려진 variant는 partition 3개를 담는 v1과 4개를 담는 v2입니다. Software가 TRX header를 parsing하면 version을 쉽게 판별할 수 있으므로 별도 compatible은 없습니다.

필수 `compatible`은 `brcm,trx`입니다. 선택 `brcm,trx-magic`은 기본 magic `0x30524448`과 다른 경우 custom TRX magic을 u32로 지정합니다.

TRX variant
VariantPartition 수
v13
v24

Version은 header에서 자동 감지됩니다.

TRX partition parser 예제

36-42

예제는 flash의 `partitions` node에 `brcm,trx` parser를 지정합니다.

flash@0 {
        partitions {
                compatible = "brcm,trx";
        };
};