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