Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mtd / partitions / tplink,safeloader-partitions.yaml
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/tplink,safeloader-partitions.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: TP-Link SafeLoader partitions
8
9 description: |
10   TP-Link home routers store various data on flash (e.g. bootloader,
11   flash layout, firmware, product info, configuration, calibration
12   data). That requires flash partitioning.
13
14   Flash space layout of TP-Link devices is stored on flash itself using
15   a custom ASCII-based format. That format was first found in TP-Link
16   devices with a custom SafeLoader bootloader. Later it was adapted to
17   CFE and U-Boot bootloaders.
18
19   Partitions specified in partitions table cover whole flash space. Some
20   contain static data that shouldn't get modified (device's MAC or WiFi
21   calibration data). Others are semi-static (like kernel). Finally some
22   partitions contain fully changeable content (like rootfs).
23
24   This binding describes partitioning method and defines offset of ASCII
25   based partitions table. That offset is picked at manufacturing process
26   and doesn't change.
27
28 maintainers:
29   - Rafał Miłecki <rafal@milecki.pl>
30
31 properties:
32   compatible:
33     const: tplink,safeloader-partitions
34
35   partitions-table-offset:
36     description: Flash offset of partitions table
37     $ref: /schemas/types.yaml#/definitions/uint32
38
39 patternProperties:
40   "^partition-.*$":
41     $ref: partition.yaml#
42
43 required:
44   - partitions-table-offset
45
46 additionalProperties: false
47
48 examples:
49   - |
50     partitions {
51         compatible = "tplink,safeloader-partitions";
52         partitions-table-offset = <0x100000>;
53
54         partition-file-system {
55                 linux,rootfs;
56         };
57     };