* [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
@ 2018-06-12 10:44 Rafał Miłecki
2018-06-12 10:44 ` [PATCH 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Rafał Miłecki @ 2018-06-12 10:44 UTC (permalink / raw)
To: Brian Norris, David Woodhouse, Boris Brezillon, Marek Vasut,
Richard Weinberger, Cyrille Pitchen, Rob Herring
Cc: Mark Rutland, devicetree, linux-mtd, Rafał Miłecki,
Jonas Gorski
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>
---
.../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"
+
+Example:
+
+flash@0 {
+ partitions {
+ compatible = "brcm,trx-v1", "brcm,trx";
+ };
+};
--
2.13.7
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] mtd: parsers: trx: add of_match_table with the new DT binding
2018-06-12 10:44 [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rafał Miłecki
@ 2018-06-12 10:44 ` Rafał Miłecki
2018-06-25 21:21 ` [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
2018-06-25 22:05 ` [PATCH V2 " Rafał Miłecki
2 siblings, 0 replies; 9+ messages in thread
From: Rafał Miłecki @ 2018-06-12 10:44 UTC (permalink / raw)
To: Brian Norris, David Woodhouse, Boris Brezillon, Marek Vasut,
Richard Weinberger, Cyrille Pitchen, Rob Herring
Cc: Mark Rutland, devicetree, linux-mtd, Rafał Miłecki,
Jonas Gorski
From: Rafał Miłecki <rafal@milecki.pl>
This allows using TRX parser to find TRX partitions on flash device
described in DT using a proper binding. It's useful for devices storing
firmware on a separated flash and having rootfs partition in it.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
drivers/mtd/parsers/parser_trx.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/mtd/parsers/parser_trx.c b/drivers/mtd/parsers/parser_trx.c
index df360a75e1eb..e4fc3611110a 100644
--- a/drivers/mtd/parsers/parser_trx.c
+++ b/drivers/mtd/parsers/parser_trx.c
@@ -116,9 +116,17 @@ static int parser_trx_parse(struct mtd_info *mtd,
return i;
};
+static const struct of_device_id mtd_parser_trx_of_match_table[] = {
+ { .compatible = "brcm,trx" },
+ { .compatible = "brcm,trx-v1" },
+ {},
+};
+MODULE_DEVICE_TABLE(of, mtd_parser_trx_of_match_table);
+
static struct mtd_part_parser mtd_parser_trx = {
.parse_fn = parser_trx_parse,
.name = "trx",
+ .of_match_table = mtd_parser_trx_of_match_table,
};
module_mtd_part_parser(mtd_parser_trx);
--
2.13.7
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
2018-06-12 10:44 [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rafał Miłecki
2018-06-12 10:44 ` [PATCH 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
@ 2018-06-25 21:21 ` Rob Herring
2018-06-25 21:33 ` Rafał Miłecki
2018-06-25 22:05 ` [PATCH V2 " Rafał Miłecki
2 siblings, 1 reply; 9+ messages in thread
From: Rob Herring @ 2018-06-25 21:21 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Mark Rutland, Boris Brezillon, devicetree, Richard Weinberger,
Jonas Gorski, Marek Vasut, linux-mtd, Cyrille Pitchen,
Rafał Miłecki, Brian Norris, David Woodhouse
On Tue, Jun 12, 2018 at 12:44:33PM +0200, Rafał Miłecki 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>
> ---
> .../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.
Rob
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
2018-06-25 21:21 ` [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
@ 2018-06-25 21:33 ` Rafał Miłecki
2018-06-25 21:51 ` Rob Herring
0 siblings, 1 reply; 9+ messages in thread
From: Rafał Miłecki @ 2018-06-25 21:33 UTC (permalink / raw)
To: Rob Herring
Cc: Mark Rutland, Boris Brezillon, Jonas Gorski, devicetree,
Richard Weinberger, Rafał Miłecki, Marek Vasut,
linux-mtd, Cyrille Pitchen, Brian Norris, David Woodhouse
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@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>
>> ---
>> .../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?
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
2018-06-25 21:33 ` Rafał Miłecki
@ 2018-06-25 21:51 ` Rob Herring
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2018-06-25 21:51 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Mark Rutland, Boris BREZILLON, Jonas Gorski, devicetree,
Richard Weinberger, Rafał Miłecki, Marek Vašut,
MTD Maling List, Cyrille Pitchen, Brian Norris, David Woodhouse
On Mon, Jun 25, 2018 at 3:41 PM Rafał Miłecki <rafal@milecki.pl> 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@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>
> >> ---
> >> .../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
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH V2 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
2018-06-12 10:44 [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rafał Miłecki
2018-06-12 10:44 ` [PATCH 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
2018-06-25 21:21 ` [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
@ 2018-06-25 22:05 ` Rafał Miłecki
2018-06-25 22:05 ` [PATCH V2 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
` (2 more replies)
2 siblings, 3 replies; 9+ messages in thread
From: Rafał Miłecki @ 2018-06-25 22:05 UTC (permalink / raw)
To: Brian Norris, David Woodhouse, Boris Brezillon, Marek Vasut,
Richard Weinberger, Cyrille Pitchen, Rob Herring
Cc: Mark Rutland, devicetree, linux-mtd, Rafał Miłecki,
Jonas Gorski
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
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";
+ };
+};
--
2.13.7
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH V2 2/2] mtd: parsers: trx: add of_match_table with the new DT binding
2018-06-25 22:05 ` [PATCH V2 " Rafał Miłecki
@ 2018-06-25 22:05 ` Rafał Miłecki
2018-06-26 14:21 ` [PATCH V2 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
2018-07-07 10:01 ` Boris Brezillon
2 siblings, 0 replies; 9+ messages in thread
From: Rafał Miłecki @ 2018-06-25 22:05 UTC (permalink / raw)
To: Brian Norris, David Woodhouse, Boris Brezillon, Marek Vasut,
Richard Weinberger, Cyrille Pitchen, Rob Herring
Cc: Mark Rutland, devicetree, linux-mtd, Rafał Miłecki,
Jonas Gorski
From: Rafał Miłecki <rafal@milecki.pl>
This allows using TRX parser to find TRX partitions on flash device
described in DT using a proper binding. It's useful for devices storing
firmware on a separated flash and having rootfs partition in it.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
V2: Update to support only the "brcm,trx" binding
---
drivers/mtd/parsers/parser_trx.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/mtd/parsers/parser_trx.c b/drivers/mtd/parsers/parser_trx.c
index df360a75e1eb..f580a41a52b8 100644
--- a/drivers/mtd/parsers/parser_trx.c
+++ b/drivers/mtd/parsers/parser_trx.c
@@ -116,9 +116,16 @@ static int parser_trx_parse(struct mtd_info *mtd,
return i;
};
+static const struct of_device_id mtd_parser_trx_of_match_table[] = {
+ { .compatible = "brcm,trx" },
+ {},
+};
+MODULE_DEVICE_TABLE(of, mtd_parser_trx_of_match_table);
+
static struct mtd_part_parser mtd_parser_trx = {
.parse_fn = parser_trx_parse,
.name = "trx",
+ .of_match_table = mtd_parser_trx_of_match_table,
};
module_mtd_part_parser(mtd_parser_trx);
--
2.13.7
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH V2 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
2018-06-25 22:05 ` [PATCH V2 " Rafał Miłecki
2018-06-25 22:05 ` [PATCH V2 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
@ 2018-06-26 14:21 ` Rob Herring
2018-07-07 10:01 ` Boris Brezillon
2 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2018-06-26 14:21 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Mark Rutland, Boris BREZILLON, devicetree, Richard Weinberger,
Jonas Gorski, Marek Vašut, MTD Maling List, Cyrille Pitchen,
Rafał Miłecki, Brian Norris, David Woodhouse
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>
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH V2 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding
2018-06-25 22:05 ` [PATCH V2 " Rafał Miłecki
2018-06-25 22:05 ` [PATCH V2 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
2018-06-26 14:21 ` [PATCH V2 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
@ 2018-07-07 10:01 ` Boris Brezillon
2 siblings, 0 replies; 9+ messages in thread
From: Boris Brezillon @ 2018-07-07 10:01 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Mark Rutland, Boris Brezillon, devicetree, Richard Weinberger,
Jonas Gorski, Marek Vasut, Rob Herring, linux-mtd,
Cyrille Pitchen, Rafał Miłecki, Brian Norris,
David Woodhouse
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";
> + };
> +};
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-07-07 10:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-12 10:44 [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rafał Miłecki
2018-06-12 10:44 ` [PATCH 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
2018-06-25 21:21 ` [PATCH 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
2018-06-25 21:33 ` Rafał Miłecki
2018-06-25 21:51 ` Rob Herring
2018-06-25 22:05 ` [PATCH V2 " Rafał Miłecki
2018-06-25 22:05 ` [PATCH V2 2/2] mtd: parsers: trx: add of_match_table with the new DT binding Rafał Miłecki
2018-06-26 14:21 ` [PATCH V2 1/2] dt-bindings: mtd: document Broadcom's TRX firmware format binding Rob Herring
2018-07-07 10:01 ` Boris Brezillon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).