xref: /linux/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml (revision 132c57b4898755ae5d5f190f77d10b788d971b95)
1*132c57b4SRafał Miłecki# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*132c57b4SRafał Miłecki%YAML 1.2
3*132c57b4SRafał Miłecki---
4*132c57b4SRafał Miłecki$id: http://devicetree.org/schemas/mtd/partitions/tplink,safeloader-partitions.yaml#
5*132c57b4SRafał Miłecki$schema: http://devicetree.org/meta-schemas/core.yaml#
6*132c57b4SRafał Miłecki
7*132c57b4SRafał Miłeckititle: TP-Link SafeLoader partitions
8*132c57b4SRafał Miłecki
9*132c57b4SRafał Miłeckidescription: |
10*132c57b4SRafał Miłecki  TP-Link home routers store various data on flash (e.g. bootloader,
11*132c57b4SRafał Miłecki  flash layout, firmware, product info, configuration, calibration
12*132c57b4SRafał Miłecki  data). That requires flash partitioning.
13*132c57b4SRafał Miłecki
14*132c57b4SRafał Miłecki  Flash space layout of TP-Link devices is stored on flash itself using
15*132c57b4SRafał Miłecki  a custom ASCII-based format. That format was first found in TP-Link
16*132c57b4SRafał Miłecki  devices with a custom SafeLoader bootloader. Later it was adapted to
17*132c57b4SRafał Miłecki  CFE and U-Boot bootloaders.
18*132c57b4SRafał Miłecki
19*132c57b4SRafał Miłecki  Partitions specified in partitions table cover whole flash space. Some
20*132c57b4SRafał Miłecki  contain static data that shouldn't get modified (device's MAC or WiFi
21*132c57b4SRafał Miłecki  calibration data). Others are semi-static (like kernel). Finally some
22*132c57b4SRafał Miłecki  partitions contain fully changeable content (like rootfs).
23*132c57b4SRafał Miłecki
24*132c57b4SRafał Miłecki  This binding describes partitioning method and defines offset of ASCII
25*132c57b4SRafał Miłecki  based partitions table. That offset is picked at manufacturing process
26*132c57b4SRafał Miłecki  and doesn't change.
27*132c57b4SRafał Miłecki
28*132c57b4SRafał Miłeckimaintainers:
29*132c57b4SRafał Miłecki  - Rafał Miłecki <rafal@milecki.pl>
30*132c57b4SRafał Miłecki
31*132c57b4SRafał Miłeckiproperties:
32*132c57b4SRafał Miłecki  compatible:
33*132c57b4SRafał Miłecki    const: tplink,safeloader-partitions
34*132c57b4SRafał Miłecki
35*132c57b4SRafał Miłecki  partitions-table-offset:
36*132c57b4SRafał Miłecki    description: Flash offset of partitions table
37*132c57b4SRafał Miłecki    $ref: /schemas/types.yaml#/definitions/uint32
38*132c57b4SRafał Miłecki
39*132c57b4SRafał Miłeckirequired:
40*132c57b4SRafał Miłecki  - partitions-table-offset
41*132c57b4SRafał Miłecki
42*132c57b4SRafał MiłeckiadditionalProperties: false
43*132c57b4SRafał Miłecki
44*132c57b4SRafał Miłeckiexamples:
45*132c57b4SRafał Miłecki  - |
46*132c57b4SRafał Miłecki    partitions {
47*132c57b4SRafał Miłecki        compatible = "tplink,safeloader-partitions";
48*132c57b4SRafał Miłecki        partitions-table-offset = <0x100000>;
49*132c57b4SRafał Miłecki    };
50