| # 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. |
| |
| Partitions specified in partitions table cover whole flash space. Some |
| contain static data that shouldn't get modified (device's MAC or WiFi |
| calibration data). Others are semi-static (like kernel). Finally some |
| partitions contain fully changeable content (like rootfs). |
| |
| 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 |
| |
| patternProperties: |
| "^partition-.*$": |
| $ref: partition.yaml# |
| |
| required: |
| - partitions-table-offset |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| partitions { |
| compatible = "tplink,safeloader-partitions"; |
| partitions-table-offset = <0x100000>; |
| |
| partition-file-system { |
| linux,rootfs; |
| }; |
| }; |