From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf0-x244.google.com ([2a00:1450:4010:c07::244]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fdz7r-0000Ey-5v for linux-mtd@lists.infradead.org; Fri, 13 Jul 2018 14:32:52 +0000 Received: by mail-lf0-x244.google.com with SMTP id y200-v6so27367614lfd.7 for ; Fri, 13 Jul 2018 07:32:39 -0700 (PDT) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Brian Norris , David Woodhouse , Boris Brezillon , Marek Vasut , Richard Weinberger , Rob Herring Cc: Mark Rutland , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, Jonas Gorski , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH V2 1/2] dt-bindings: mtd: explicitly document nesting partitions descriptions Date: Fri, 13 Jul 2018 16:32:20 +0200 Message-Id: <20180713143221.8474-1-zajec5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Rafał Miłecki Documentation was already saying that fixed and dynamic partitioning can be mixed but was missing a clear description and examples. This commit adds a proper documentation of how descriptions can be nested and how layouts can be mixed. This addition is important for partitions that contain subpartitions. In such cases partitions have to be properly described in order to let system handle them correctly. Depending on situation, nesting descriptions may provide more accurate logic/structure and/or allow mixing partitioning types (various "compatible" values). Signed-off-by: Rafał Miłecki --- V2: Rewrote example: I can include "brcm,trx" now as its Documentation has been pushed into mtd git tree. Updated commit message. --- .../devicetree/bindings/mtd/partition.txt | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/Documentation/devicetree/bindings/mtd/partition.txt b/Documentation/devicetree/bindings/mtd/partition.txt index a8f382642ba9..afbbd870496d 100644 --- a/Documentation/devicetree/bindings/mtd/partition.txt +++ b/Documentation/devicetree/bindings/mtd/partition.txt @@ -14,6 +14,13 @@ method is used for a given flash device. To describe the method there should be a subnode of the flash device that is named 'partitions'. It must have a 'compatible' property, which is used to identify the method to use. +When a single partition is represented with a DT node (it depends on a used +format) it may also be described using above rules ('compatible' and optionally +some extra properties / subnodes). It allows describing more complex, +hierarchical (multi-level) layouts and should be used if there is some +significant relation between partitions or some partition internally uses +another partitioning method. + Available bindings are listed in the "partitions" subdirectory. @@ -109,3 +116,42 @@ flash@2 { }; }; }; + +flash@3 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader"; + reg = <0x000000 0x100000>; + read-only; + }; + + firmware@100000 { + label = "firmware"; + reg = <0x100000 0xe00000>; + compatible = "brcm,trx"; + }; + + calibration@f00000 { + label = "calibration"; + reg = <0xf00000 0x100000>; + compatible = "fixed-partitions"; + ranges = <0 0xf00000 0x100000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "wifi0"; + reg = <0x000000 0x080000>; + }; + + partition@80000 { + label = "wifi1"; + reg = <0x080000 0x080000>; + }; + }; + }; +}; -- 2.13.7 From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH V2 1/2] dt-bindings: mtd: explicitly document nesting partitions descriptions Date: Fri, 13 Jul 2018 16:32:20 +0200 Message-ID: <20180713143221.8474-1-zajec5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+gldm-linux-mtd-36=gmane.org@lists.infradead.org To: Brian Norris , David Woodhouse , Boris Brezillon , Marek Vasut , Richard Weinberger , Rob Herring Cc: Mark Rutland , devicetree@vger.kernel.org, linux-mtd@lists.infradead.org, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , Jonas Gorski List-Id: devicetree@vger.kernel.org RnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgoKRG9jdW1lbnRhdGlvbiB3 YXMgYWxyZWFkeSBzYXlpbmcgdGhhdCBmaXhlZCBhbmQgZHluYW1pYyBwYXJ0aXRpb25pbmcgY2Fu CmJlIG1peGVkIGJ1dCB3YXMgbWlzc2luZyBhIGNsZWFyIGRlc2NyaXB0aW9uIGFuZCBleGFtcGxl cy4gVGhpcyBjb21taXQKYWRkcyBhIHByb3BlciBkb2N1bWVudGF0aW9uIG9mIGhvdyBkZXNjcmlw dGlvbnMgY2FuIGJlIG5lc3RlZCBhbmQgaG93CmxheW91dHMgY2FuIGJlIG1peGVkLgoKVGhpcyBh ZGRpdGlvbiBpcyBpbXBvcnRhbnQgZm9yIHBhcnRpdGlvbnMgdGhhdCBjb250YWluIHN1YnBhcnRp dGlvbnMuCkluIHN1Y2ggY2FzZXMgcGFydGl0aW9ucyBoYXZlIHRvIGJlIHByb3Blcmx5IGRlc2Ny aWJlZCBpbiBvcmRlciB0byBsZXQKc3lzdGVtIGhhbmRsZSB0aGVtIGNvcnJlY3RseS4KCkRlcGVu ZGluZyBvbiBzaXR1YXRpb24sIG5lc3RpbmcgZGVzY3JpcHRpb25zIG1heSBwcm92aWRlIG1vcmUg YWNjdXJhdGUKbG9naWMvc3RydWN0dXJlIGFuZC9vciBhbGxvdyBtaXhpbmcgcGFydGl0aW9uaW5n IHR5cGVzICh2YXJpb3VzCiJjb21wYXRpYmxlIiB2YWx1ZXMpLgoKU2lnbmVkLW9mZi1ieTogUmFm YcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgotLS0KVjI6IFJld3JvdGUgZXhhbXBsZTog SSBjYW4gaW5jbHVkZSAiYnJjbSx0cngiIG5vdyBhcyBpdHMgRG9jdW1lbnRhdGlvbgogICAgaGFz IGJlZW4gcHVzaGVkIGludG8gbXRkIGdpdCB0cmVlLgogICAgVXBkYXRlZCBjb21taXQgbWVzc2Fn ZS4KLS0tCiAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvcGFydGl0aW9uLnR4dCAgICAgICAg ICB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210 ZC9wYXJ0aXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210ZC9w YXJ0aXRpb24udHh0CmluZGV4IGE4ZjM4MjY0MmJhOS4uYWZiYmQ4NzA0OTZkIDEwMDY0NAotLS0g YS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL3BhcnRpdGlvbi50eHQKKysr IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210ZC9wYXJ0aXRpb24udHh0CkBA IC0xNCw2ICsxNCwxMyBAQCBtZXRob2QgaXMgdXNlZCBmb3IgYSBnaXZlbiBmbGFzaCBkZXZpY2Uu IFRvIGRlc2NyaWJlIHRoZSBtZXRob2QgdGhlcmUgc2hvdWxkIGJlCiBhIHN1Ym5vZGUgb2YgdGhl IGZsYXNoIGRldmljZSB0aGF0IGlzIG5hbWVkICdwYXJ0aXRpb25zJy4gSXQgbXVzdCBoYXZlIGEK ICdjb21wYXRpYmxlJyBwcm9wZXJ0eSwgd2hpY2ggaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgbWV0 aG9kIHRvIHVzZS4KIAorV2hlbiBhIHNpbmdsZSBwYXJ0aXRpb24gaXMgcmVwcmVzZW50ZWQgd2l0 aCBhIERUIG5vZGUgKGl0IGRlcGVuZHMgb24gYSB1c2VkCitmb3JtYXQpIGl0IG1heSBhbHNvIGJl IGRlc2NyaWJlZCB1c2luZyBhYm92ZSBydWxlcyAoJ2NvbXBhdGlibGUnIGFuZCBvcHRpb25hbGx5 Citzb21lIGV4dHJhIHByb3BlcnRpZXMgLyBzdWJub2RlcykuIEl0IGFsbG93cyBkZXNjcmliaW5n IG1vcmUgY29tcGxleCwKK2hpZXJhcmNoaWNhbCAobXVsdGktbGV2ZWwpIGxheW91dHMgYW5kIHNo b3VsZCBiZSB1c2VkIGlmIHRoZXJlIGlzIHNvbWUKK3NpZ25pZmljYW50IHJlbGF0aW9uIGJldHdl ZW4gcGFydGl0aW9ucyBvciBzb21lIHBhcnRpdGlvbiBpbnRlcm5hbGx5IHVzZXMKK2Fub3RoZXIg cGFydGl0aW9uaW5nIG1ldGhvZC4KKwogQXZhaWxhYmxlIGJpbmRpbmdzIGFyZSBsaXN0ZWQgaW4g dGhlICJwYXJ0aXRpb25zIiBzdWJkaXJlY3RvcnkuCiAKIApAQCAtMTA5LDMgKzExNiw0MiBAQCBm bGFzaEAyIHsKIAkJfTsKIAl9OwogfTsKKworZmxhc2hAMyB7CisJcGFydGl0aW9ucyB7CisJCWNv bXBhdGlibGUgPSAiZml4ZWQtcGFydGl0aW9ucyI7CisJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owor CQkjc2l6ZS1jZWxscyA9IDwxPjsKKworCQlwYXJ0aXRpb25AMCB7CisJCQlsYWJlbCA9ICJib290 bG9hZGVyIjsKKwkJCXJlZyA9IDwweDAwMDAwMCAweDEwMDAwMD47CisJCQlyZWFkLW9ubHk7CisJ CX07CisKKwkJZmlybXdhcmVAMTAwMDAwIHsKKwkJCWxhYmVsID0gImZpcm13YXJlIjsKKwkJCXJl ZyA9IDwweDEwMDAwMCAweGUwMDAwMD47CisJCQljb21wYXRpYmxlID0gImJyY20sdHJ4IjsKKwkJ fTsKKworCQljYWxpYnJhdGlvbkBmMDAwMDAgeworCQkJbGFiZWwgPSAiY2FsaWJyYXRpb24iOwor CQkJcmVnID0gPDB4ZjAwMDAwIDB4MTAwMDAwPjsKKwkJCWNvbXBhdGlibGUgPSAiZml4ZWQtcGFy dGl0aW9ucyI7CisJCQlyYW5nZXMgPSA8MCAweGYwMDAwMCAweDEwMDAwMD47CisJCQkjYWRkcmVz cy1jZWxscyA9IDwxPjsKKwkJCSNzaXplLWNlbGxzID0gPDE+OworCisJCQlwYXJ0aXRpb25AMCB7 CisJCQkJbGFiZWwgPSAid2lmaTAiOworCQkJCXJlZyA9IDwweDAwMDAwMCAweDA4MDAwMD47CisJ CQl9OworCisJCQlwYXJ0aXRpb25AODAwMDAgeworCQkJCWxhYmVsID0gIndpZmkxIjsKKwkJCQly ZWcgPSA8MHgwODAwMDAgMHgwODAwMDA+OworCQkJfTsKKwkJfTsKKwl9OworfTsKLS0gCjIuMTMu NwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==