Documentation/devicetree/bindings/mtd/partitions/brcm,trx.yaml
Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.yaml
File Facts
- System
- Linux kernel
- Corpus path
Documentation/devicetree/bindings/mtd/partitions/brcm,trx.yaml- Extension
.yaml- Size
- 2011 bytes
- Lines
- 66
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: configuration, schema, or hardware description
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/partitions/brcm,trx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom TRX Container Partition
maintainers:
- Hauke Mehrtens <hauke@hauke-m.de>
- Rafał Miłecki <rafal@milecki.pl>
description: >
TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
most of the vendors building devices based on Broadcom's BCM47xx SoCs and is
supported by the CFE bootloader.
Design of the TRX format is very minimalistic. Its header contains
identification fields, CRC32 checksum and the locations of embedded partitions.
Its purpose is to store a few partitions in a format that can be distributed as
a standalone file and written in a flash memory.
Container can hold up to 4 partitions. The first partition has to contain a
device executable binary (e.g. a kernel) as it's what the CFE bootloader starts
executing. Other partitions can be used for operating system purposes. This is
useful for systems that keep kernel and rootfs separated.
TRX doesn't enforce any strict partition boundaries or size limits. All
partitions have to be less than the 4GiB max size limit.
There are two existing/known TRX variants:
1) v1 which contains 3 partitions
2) v2 which contains 4 partitions
There aren't separated compatible bindings for them as version can be trivially
detected by a software parsing TRX header.
properties:
compatible:
oneOf:
- items:
- const: linksys,ns-firmware
- const: brcm,trx
- const: brcm,trx
brcm,trx-magic:
description: TRX magic, if it is different from the default magic.
$ref: /schemas/types.yaml#/definitions/uint32
default: 0x30524448
required:
- compatible
allOf:
- $ref: partition.yaml#
unevaluatedProperties: false
examples:
- |
flash {
partitions {
compatible = "brcm,trx";
};
};
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.