Skip to content

Commit a1fa0f8

Browse files
robherringmiquelraynal
authored andcommitted
dt-bindings: mtd: partitions: Convert brcm,trx to DT schema
Convert the brcm,trx partition binding to DT schema format. As the "linksys,ns-firmware" compatible also uses "brcm,trx" as a fallback, move it to the converted binding. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
1 parent 6ecd771 commit a1fa0f8

3 files changed

Lines changed: 66 additions & 49 deletions

File tree

Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt

Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mtd/partitions/brcm,trx.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Broadcom TRX Container Partition
8+
9+
maintainers:
10+
- Hauke Mehrtens <hauke@hauke-m.de>
11+
- Rafał Miłecki <rafal@milecki.pl>
12+
13+
description: >
14+
TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
15+
most of the vendors building devices based on Broadcom's BCM47xx SoCs and is
16+
supported by the CFE bootloader.
17+
18+
Design of the TRX format is very minimalistic. Its header contains
19+
identification fields, CRC32 checksum and the locations of embedded partitions.
20+
Its purpose is to store a few partitions in a format that can be distributed as
21+
a standalone file and written in a flash memory.
22+
23+
Container can hold up to 4 partitions. The first partition has to contain a
24+
device executable binary (e.g. a kernel) as it's what the CFE bootloader starts
25+
executing. Other partitions can be used for operating system purposes. This is
26+
useful for systems that keep kernel and rootfs separated.
27+
28+
TRX doesn't enforce any strict partition boundaries or size limits. All
29+
partitions have to be less than the 4GiB max size limit.
30+
31+
There are two existing/known TRX variants:
32+
1) v1 which contains 3 partitions
33+
2) v2 which contains 4 partitions
34+
35+
There aren't separated compatible bindings for them as version can be trivially
36+
detected by a software parsing TRX header.
37+
38+
properties:
39+
compatible:
40+
oneOf:
41+
- items:
42+
- const: linksys,ns-firmware
43+
- const: brcm,trx
44+
- const: brcm,trx
45+
46+
brcm,trx-magic:
47+
description: TRX magic, if it is different from the default magic.
48+
$ref: /schemas/types.yaml#/definitions/uint32
49+
default: 0x30524448
50+
51+
required:
52+
- compatible
53+
54+
allOf:
55+
- $ref: partition.yaml#
56+
57+
unevaluatedProperties: false
58+
59+
examples:
60+
- |
61+
flash {
62+
partitions {
63+
compatible = "brcm,trx";
64+
};
65+
};

Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,7 @@ properties:
3030

3131
patternProperties:
3232
"^partition@[0-9a-f]+$":
33-
$ref: partition.yaml#
34-
properties:
35-
compatible:
36-
items:
37-
- const: linksys,ns-firmware
38-
- const: brcm,trx
39-
unevaluatedProperties: false
33+
$ref: partition.yaml#/$defs/partition-node
4034

4135
required:
4236
- "#address-cells"

0 commit comments

Comments
 (0)