Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/mtd/partitions/tplink,safeloader-partitions.yaml
Extension
.yaml
Size
1752 bytes
Lines
58
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# 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#/$defs/partition-node

required:
  - partitions-table-offset

additionalProperties: false

examples:
  - |
    partitions {
        compatible = "tplink,safeloader-partitions";
        partitions-table-offset = <0x100000>;

        partition-file-system {
                linux,rootfs;
        };
    };

Annotation

Implementation Notes