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/fixed-partitions.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Fixed partitions 8 9description: | 10 This binding can be used on platforms which have strong conventions about 11 which portions of a flash are used for what purposes, but which don't use an 12 on-flash partition table such as RedBoot. 13 14 The partition table should be a node named "partitions". Partitions are then 15 defined as subnodes. 16 17maintainers: 18 - Rafał Miłecki <rafal@milecki.pl> 19 20properties: 21 compatible: 22 oneOf: 23 - const: fixed-partitions 24 - items: 25 - const: sercomm,sc-partitions 26 - const: fixed-partitions 27 28 "#address-cells": true 29 30 "#size-cells": true 31 32 compression: 33 $ref: /schemas/types.yaml#/definitions/string 34 description: | 35 Compression algorithm used to store the data in this partition, chosen 36 from a list of well-known algorithms. 37 38 The contents are compressed using this algorithm. 39 40 enum: 41 - none 42 - bzip2 43 - gzip 44 - lzop 45 - lz4 46 - lzma 47 - xz 48 - zstd 49 50patternProperties: 51 "@[0-9a-f]+$": 52 $ref: partition.yaml# 53 54 properties: 55 sercomm,scpart-id: 56 description: Partition id in Sercomm partition map. Mtd parser 57 uses this id to find a record in the partition map containing 58 offset and size of the current partition. The values from 59 partition map overrides partition offset and size defined in 60 reg property of the dts. Frequently these values are the same, 61 but may differ if device has bad eraseblocks on a flash. 62 $ref: /schemas/types.yaml#/definitions/uint32 63 64required: 65 - "#address-cells" 66 - "#size-cells" 67 68additionalProperties: true 69 70examples: 71 - | 72 partitions { 73 compatible = "fixed-partitions"; 74 #address-cells = <1>; 75 #size-cells = <1>; 76 77 partition@0 { 78 label = "u-boot"; 79 reg = <0x0000000 0x100000>; 80 read-only; 81 }; 82 83 uimage@100000 { 84 reg = <0x0100000 0x200000>; 85 compress = "lzma"; 86 }; 87 }; 88 89 - | 90 partitions { 91 compatible = "fixed-partitions"; 92 #address-cells = <1>; 93 #size-cells = <2>; 94 95 /* a 4 GiB partition */ 96 partition@0 { 97 label = "filesystem"; 98 reg = <0x00000000 0x1 0x00000000>; 99 linux,rootfs; 100 }; 101 }; 102 103 - | 104 partitions { 105 compatible = "fixed-partitions"; 106 #address-cells = <2>; 107 #size-cells = <2>; 108 109 /* an 8 GiB partition */ 110 partition@0 { 111 label = "filesystem #1"; 112 reg = <0x0 0x00000000 0x2 0x00000000>; 113 }; 114 115 /* a 4 GiB partition */ 116 partition@200000000 { 117 label = "filesystem #2"; 118 reg = <0x2 0x00000000 0x1 0x00000000>; 119 }; 120 }; 121 122 - | 123 partitions { 124 compatible = "fixed-partitions"; 125 #address-cells = <1>; 126 #size-cells = <1>; 127 128 partition@0 { 129 label = "bootloader"; 130 reg = <0x000000 0x100000>; 131 read-only; 132 }; 133 134 firmware@100000 { 135 compatible = "brcm,trx"; 136 label = "firmware"; 137 reg = <0x100000 0xe00000>; 138 }; 139 140 calibration@f00000 { 141 compatible = "fixed-partitions"; 142 label = "calibration"; 143 reg = <0xf00000 0x100000>; 144 ranges = <0 0xf00000 0x100000>; 145 #address-cells = <1>; 146 #size-cells = <1>; 147 148 partition@0 { 149 label = "wifi0"; 150 reg = <0x000000 0x080000>; 151 }; 152 153 partition@80000 { 154 label = "wifi1"; 155 reg = <0x080000 0x080000>; 156 }; 157 }; 158 }; 159 160 - | 161 partitions { 162 compatible = "sercomm,sc-partitions", "fixed-partitions"; 163 #address-cells = <1>; 164 #size-cells = <1>; 165 166 partition@0 { 167 label = "u-boot"; 168 reg = <0x0 0x100000>; 169 sercomm,scpart-id = <0>; 170 read-only; 171 }; 172 173 partition@100000 { 174 label = "dynamic partition map"; 175 reg = <0x100000 0x100000>; 176 sercomm,scpart-id = <1>; 177 }; 178 179 partition@200000 { 180 label = "Factory"; 181 reg = <0x200000 0x100000>; 182 sercomm,scpart-id = <2>; 183 read-only; 184 }; 185 }; 186