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 32patternProperties: 33 "@[0-9a-f]+$": 34 allOf: 35 - $ref: "partition.yaml#" 36 - if: 37 properties: 38 compatible: 39 contains: 40 const: sercomm,sc-partitions 41 then: 42 properties: 43 sercomm,scpart-id: 44 description: Partition id in Sercomm partition map. Mtd 45 parser uses this id to find a record in the partition map 46 containing offset and size of the current partition. The 47 values from partition map overrides partition offset and 48 size defined in reg property of the dts. Frequently these 49 values are the same, but may differ if device has bad 50 eraseblocks on a flash. 51 $ref: /schemas/types.yaml#/definitions/uint32 52 53required: 54 - "#address-cells" 55 - "#size-cells" 56 57additionalProperties: true 58 59examples: 60 - | 61 partitions { 62 compatible = "fixed-partitions"; 63 #address-cells = <1>; 64 #size-cells = <1>; 65 66 partition@0 { 67 label = "u-boot"; 68 reg = <0x0000000 0x100000>; 69 read-only; 70 }; 71 72 uimage@100000 { 73 reg = <0x0100000 0x200000>; 74 }; 75 }; 76 77 - | 78 partitions { 79 compatible = "fixed-partitions"; 80 #address-cells = <1>; 81 #size-cells = <2>; 82 83 /* a 4 GiB partition */ 84 partition@0 { 85 label = "filesystem"; 86 reg = <0x00000000 0x1 0x00000000>; 87 }; 88 }; 89 90 - | 91 partitions { 92 compatible = "fixed-partitions"; 93 #address-cells = <2>; 94 #size-cells = <2>; 95 96 /* an 8 GiB partition */ 97 partition@0 { 98 label = "filesystem #1"; 99 reg = <0x0 0x00000000 0x2 0x00000000>; 100 }; 101 102 /* a 4 GiB partition */ 103 partition@200000000 { 104 label = "filesystem #2"; 105 reg = <0x2 0x00000000 0x1 0x00000000>; 106 }; 107 }; 108 109 - | 110 partitions { 111 compatible = "fixed-partitions"; 112 #address-cells = <1>; 113 #size-cells = <1>; 114 115 partition@0 { 116 label = "bootloader"; 117 reg = <0x000000 0x100000>; 118 read-only; 119 }; 120 121 firmware@100000 { 122 compatible = "brcm,trx"; 123 label = "firmware"; 124 reg = <0x100000 0xe00000>; 125 }; 126 127 calibration@f00000 { 128 compatible = "fixed-partitions"; 129 label = "calibration"; 130 reg = <0xf00000 0x100000>; 131 ranges = <0 0xf00000 0x100000>; 132 #address-cells = <1>; 133 #size-cells = <1>; 134 135 partition@0 { 136 label = "wifi0"; 137 reg = <0x000000 0x080000>; 138 }; 139 140 partition@80000 { 141 label = "wifi1"; 142 reg = <0x080000 0x080000>; 143 }; 144 }; 145 }; 146 147 - | 148 partitions { 149 compatible = "sercomm,sc-partitions", "fixed-partitions"; 150 #address-cells = <1>; 151 #size-cells = <1>; 152 153 partition@0 { 154 label = "u-boot"; 155 reg = <0x0 0x100000>; 156 sercomm,scpart-id = <0>; 157 read-only; 158 }; 159 160 partition@100000 { 161 label = "dynamic partition map"; 162 reg = <0x100000 0x100000>; 163 sercomm,scpart-id = <1>; 164 }; 165 166 partition@200000 { 167 label = "Factory"; 168 reg = <0x200000 0x100000>; 169 sercomm,scpart-id = <2>; 170 read-only; 171 }; 172 }; 173