Message ID | 20180625220508.21242-1-zajec5@gmail.com |
---|---|
State | Accepted |
Delegated to: | Boris Brezillon |
Headers | show |
Series | [V2,1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding | expand |
On Mon, Jun 25, 2018 at 4:07 PM Rafał Miłecki <zajec5@gmail.com> wrote: > > 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 > accordingly. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > V2: Drop unneeded "brcm,trx-v1" and "brcm,trx-v2" bindings. > --- > .../bindings/mtd/partitions/brcm,trx.txt | 37 ++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt Reviewed-by: Rob Herring <robh@kernel.org>
On Tue, 26 Jun 2018 00:05:07 +0200 Rafał Miłecki <zajec5@gmail.com> wrote: > 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 > accordingly. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Applied both patches. Thanks, Boris > --- > V2: Drop unneeded "brcm,trx-v1" and "brcm,trx-v2" bindings. > --- > .../bindings/mtd/partitions/brcm,trx.txt | 37 ++++++++++++++++++++++ > 1 file changed, 37 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..b677147ca4e1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt > @@ -0,0 +1,37 @@ > +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 > + > +There aren't separated compatible bindings for them as version can be trivialy > +detected by a software parsing TRX header. > + > +Required properties: > +- compatible : (required) must be "brcm,trx" > + > +Example: > + > +flash@0 { > + partitions { > + compatible = "brcm,trx"; > + }; > +};
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..b677147ca4e1 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt @@ -0,0 +1,37 @@ +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 + +There aren't separated compatible bindings for them as version can be trivialy +detected by a software parsing TRX header. + +Required properties: +- compatible : (required) must be "brcm,trx" + +Example: + +flash@0 { + partitions { + compatible = "brcm,trx"; + }; +};