58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
|
# 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;
|
||
|
};
|
||
|
};
|