Message ID | 20221012050442.6815-1-zajec5@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [V2,1/2] dt-bindings: mtd: partitions: add TP-Link SafeLoader layout | expand |
On 12.10.2022 18:21, Rob Herring wrote: > On Wed, Oct 12, 2022 at 07:04:41AM +0200, Rafał Miłecki wrote: >> From: Rafał Miłecki <rafal@milecki.pl> >> >> Most TP-Link home routers use the same partitioning system based on a >> custom ASCII table. >> >> It doesn't seem to have any official name. GPL sources contain tool >> named simply "make_flash" and Makefile target "FlashMaker". >> >> This partitions table format was first found in devices with a custom >> SafeLoader bootloader so it was called SafeLoader by a community. Later >> it was ported to other bootloaders but it seems the name sticked. >> >> Add binding for describing flashes with SafeLoader partitions table. It >> allows operating systems to parse it properly and register proper flash >> layout. >> >> Signed-off-by: Rafał Miłecki <rafal@milecki.pl> >> --- >> V2: Fix typo in commit: s/same/name/ >> --- >> .../tplink,safeloader-partitions.yaml | 44 +++++++++++++++++++ >> 1 file changed, 44 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml >> >> diff --git a/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml >> new file mode 100644 >> index 000000000000..e38aaea5aa11 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml >> @@ -0,0 +1,44 @@ >> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/mtd/partitions/tplink,safeloader-partitions.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: TP-Link SafeLoader partitions >> + >> +description: | >> + TP-Link home routers store various data on flash (e.g. bootloader, >> + flash layout, firmware, product info, configuration, calibration >> + data). That requires flash partitioning. >> + >> + Flash space layout of TP-Link devices is stored on flash itself using >> + a custom ASCII-based format. That format was first found in TP-Link >> + devices with a custom SafeLoader bootloader. Later it was adapted to >> + CFE and U-Boot bootloaders. >> + >> + This binding describes partitioning method and defines offset of ASCII >> + based partitions table. That offset is picked at manufacturing process >> + and doesn't change. >> + >> +maintainers: >> + - Rafał Miłecki <rafal@milecki.pl> >> + >> +properties: >> + compatible: >> + const: tplink,safeloader-partitions >> + >> + partitions-table-offset: >> + description: Flash offset of partitions table >> + $ref: "/schemas/types.yaml#/definitions/uint32" > > Don't need quotes. > >> + >> +required: >> + - partitions-table-offset >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + partitions { >> + compatible = "tplink,safeloader-partitions"; >> + partitions-table-offset = <0x100000>; > > What is in the space before this? It is part of the safeloader > partitions? If the safeloader partitions are not the entire device, then > perhaps we still need fixed partitions. Various partitions are placed before and after partitions table. Usually/always the whole flash space is covered by partitions defined in the partitions table.
diff --git a/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml new file mode 100644 index 000000000000..e38aaea5aa11 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mtd/partitions/tplink,safeloader-partitions.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TP-Link SafeLoader partitions + +description: | + TP-Link home routers store various data on flash (e.g. bootloader, + flash layout, firmware, product info, configuration, calibration + data). That requires flash partitioning. + + Flash space layout of TP-Link devices is stored on flash itself using + a custom ASCII-based format. That format was first found in TP-Link + devices with a custom SafeLoader bootloader. Later it was adapted to + CFE and U-Boot bootloaders. + + This binding describes partitioning method and defines offset of ASCII + based partitions table. That offset is picked at manufacturing process + and doesn't change. + +maintainers: + - Rafał Miłecki <rafal@milecki.pl> + +properties: + compatible: + const: tplink,safeloader-partitions + + partitions-table-offset: + description: Flash offset of partitions table + $ref: "/schemas/types.yaml#/definitions/uint32" + +required: + - partitions-table-offset + +additionalProperties: false + +examples: + - | + partitions { + compatible = "tplink,safeloader-partitions"; + partitions-table-offset = <0x100000>; + };