[PATCH V2 1/2] dt-bindings: mtd: partitions: add TP-Link SafeLoader layout
Rafał Miłecki
zajec5 at gmail.com
Sat Oct 15 01:57:56 PDT 2022
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 at 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 at 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 at 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.
More information about the linux-arm-kernel
mailing list