1132c57b4SRafał Miłecki# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2132c57b4SRafał Miłecki%YAML 1.2 3132c57b4SRafał Miłecki--- 4132c57b4SRafał Miłecki$id: http://devicetree.org/schemas/mtd/partitions/tplink,safeloader-partitions.yaml# 5132c57b4SRafał Miłecki$schema: http://devicetree.org/meta-schemas/core.yaml# 6132c57b4SRafał Miłecki 7132c57b4SRafał Miłeckititle: TP-Link SafeLoader partitions 8132c57b4SRafał Miłecki 9132c57b4SRafał Miłeckidescription: | 10132c57b4SRafał Miłecki TP-Link home routers store various data on flash (e.g. bootloader, 11132c57b4SRafał Miłecki flash layout, firmware, product info, configuration, calibration 12132c57b4SRafał Miłecki data). That requires flash partitioning. 13132c57b4SRafał Miłecki 14132c57b4SRafał Miłecki Flash space layout of TP-Link devices is stored on flash itself using 15132c57b4SRafał Miłecki a custom ASCII-based format. That format was first found in TP-Link 16132c57b4SRafał Miłecki devices with a custom SafeLoader bootloader. Later it was adapted to 17132c57b4SRafał Miłecki CFE and U-Boot bootloaders. 18132c57b4SRafał Miłecki 19132c57b4SRafał Miłecki Partitions specified in partitions table cover whole flash space. Some 20132c57b4SRafał Miłecki contain static data that shouldn't get modified (device's MAC or WiFi 21132c57b4SRafał Miłecki calibration data). Others are semi-static (like kernel). Finally some 22132c57b4SRafał Miłecki partitions contain fully changeable content (like rootfs). 23132c57b4SRafał Miłecki 24132c57b4SRafał Miłecki This binding describes partitioning method and defines offset of ASCII 25132c57b4SRafał Miłecki based partitions table. That offset is picked at manufacturing process 26132c57b4SRafał Miłecki and doesn't change. 27132c57b4SRafał Miłecki 28132c57b4SRafał Miłeckimaintainers: 29132c57b4SRafał Miłecki - Rafał Miłecki <rafal@milecki.pl> 30132c57b4SRafał Miłecki 31132c57b4SRafał Miłeckiproperties: 32132c57b4SRafał Miłecki compatible: 33132c57b4SRafał Miłecki const: tplink,safeloader-partitions 34132c57b4SRafał Miłecki 35132c57b4SRafał Miłecki partitions-table-offset: 36132c57b4SRafał Miłecki description: Flash offset of partitions table 37132c57b4SRafał Miłecki $ref: /schemas/types.yaml#/definitions/uint32 38132c57b4SRafał Miłecki 39*9b533a6eSRafał MiłeckipatternProperties: 40*9b533a6eSRafał Miłecki "^partition-.*$": 41*9b533a6eSRafał Miłecki $ref: partition.yaml# 42*9b533a6eSRafał Miłecki 43132c57b4SRafał Miłeckirequired: 44132c57b4SRafał Miłecki - partitions-table-offset 45132c57b4SRafał Miłecki 46132c57b4SRafał MiłeckiadditionalProperties: false 47132c57b4SRafał Miłecki 48132c57b4SRafał Miłeckiexamples: 49132c57b4SRafał Miłecki - | 50132c57b4SRafał Miłecki partitions { 51132c57b4SRafał Miłecki compatible = "tplink,safeloader-partitions"; 52132c57b4SRafał Miłecki partitions-table-offset = <0x100000>; 53*9b533a6eSRafał Miłecki 54*9b533a6eSRafał Miłecki partition-file-system { 55*9b533a6eSRafał Miłecki linux,rootfs; 56*9b533a6eSRafał Miłecki }; 57132c57b4SRafał Miłecki }; 58