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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 25, 2018 at 3:41 PM Rafał Miłecki <rafal@xxxxxxxxxx> wrote:
>
> On 2018-06-25 23:21, Rob Herring wrote:
> > On Tue, Jun 12, 2018 at 12:44:33PM +0200, Rafał Miłecki wrote:
> >> From: Rafał Miłecki <rafal@xxxxxxxxxx>
> >>
> >> 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@xxxxxxxxxx>
> >> ---
> >>  .../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"
> >
> > What is the purpose of brcm,trx? Either that alone is enough or you
> > need
> > v1/v2 to distinguish the difference. You shouldn't need both.
>
> I guess I incorrectly tried some pattern I saw when specifying SoC
> compatibility.
>
> Can I have you advise here, please?
>
> No TRX supporting code really needs a hint about used TRX version. TRX
> format (header) contains "version" field so any code dealing with TRX
> format can check that field. Then it knows what version it's dealing
> with.
>
> Which binding(s) should I use in that case?

I'd just use "brcm,trx" then.

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux