[1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding

Message ID 20180612104434.15232-1-zajec5@gmail.com
State New
Delegated to: Boris Brezillon
Headers show
  • [1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
Related show

Commit Message

Rafał Miłecki June 12, 2018, 10:44 a.m.
From: Rafał Miłecki <rafal@milecki.pl>

Broadcom based home router devices use TRX firmware format. It's a
container that can hold few partitions. If operating system is expected
to access them it has to understand that format and parse flash data

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 .../bindings/mtd/partitions/brcm,trx.txt           | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt


diff --git a/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt b/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt
new file mode 100644
index 000000000000..e590b884e5ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt
@@ -0,0 +1,35 @@ 
+Broadcom TRX Container Partition
+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
+Required properties:
+- compatible : (required) must be either: "brcm,trx-v1" or "brcm,trx-v2"
+	followed by "brcm,trx"
+flash@0 {
+	partitions {
+		compatible = "brcm,trx-v1", "brcm,trx";
+	};