123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- From 04e9ab75267489224364fa510a88ada83e11c325 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
- Date: Thu, 10 Dec 2020 18:23:52 +0100
- Subject: [PATCH] dt-bindings: mtd: convert "fixed-partitions" to the
- json-schema
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- This standardizes its documentation, allows validating with Makefile
- checks and helps writing DTS files.
- Noticeable changes:
- 1. Dropped "Partitions can be represented by sub-nodes of a flash
- device." as we also support subpartitions (don't have to be part of
- flash device node)
- 2. Dropped "to Linux" as bindings are meant to be os agnostic.
- Signed-off-by: Rafał Miłecki <[email protected]>
- Link: https://lore.kernel.org/r/[email protected]
- Signed-off-by: Rob Herring <[email protected]>
- ---
- .../devicetree/bindings/mtd/partition.txt | 131 +--------------
- .../mtd/partitions/fixed-partitions.yaml | 152 ++++++++++++++++++
- 2 files changed, 154 insertions(+), 129 deletions(-)
- create mode 100644 Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
- --- a/Documentation/devicetree/bindings/mtd/partition.txt
- +++ b/Documentation/devicetree/bindings/mtd/partition.txt
- @@ -24,137 +24,10 @@ another partitioning method.
- Available bindings are listed in the "partitions" subdirectory.
-
-
- -Fixed Partitions
- -================
- -
- -Partitions can be represented by sub-nodes of a flash device. This can be used
- -on platforms which have strong conventions about which portions of a flash are
- -used for what purposes, but which don't use an on-flash partition table such
- -as RedBoot.
- -
- -The partition table should be a subnode of the flash node and should be named
- -'partitions'. This node should have the following property:
- -- compatible : (required) must be "fixed-partitions"
- -Partitions are then defined in subnodes of the partitions node.
- +Deprecated: partitions defined in flash node
- +============================================
-
- For backwards compatibility partitions as direct subnodes of the flash device are
- supported. This use is discouraged.
- NOTE: also for backwards compatibility, direct subnodes that have a compatible
- string are not considered partitions, as they may be used for other bindings.
- -
- -#address-cells & #size-cells must both be present in the partitions subnode of the
- -flash device. There are two valid values for both:
- -<1>: for partitions that require a single 32-bit cell to represent their
- - size/address (aka the value is below 4 GiB)
- -<2>: for partitions that require two 32-bit cells to represent their
- - size/address (aka the value is 4 GiB or greater).
- -
- -Required properties:
- -- reg : The partition's offset and size within the flash
- -
- -Optional properties:
- -- label : The label / name for this partition. If omitted, the label is taken
- - from the node name (excluding the unit address).
- -- read-only : This parameter, if present, is a hint to Linux that this
- - partition should only be mounted read-only. This is usually used for flash
- - partitions containing early-boot firmware images or data which should not be
- - clobbered.
- -- lock : Do not unlock the partition at initialization time (not supported on
- - all devices)
- -- slc-mode: This parameter, if present, allows one to emulate SLC mode on a
- - partition attached to an MLC NAND thus making this partition immune to
- - paired-pages corruptions
- -
- -Examples:
- -
- -
- -flash@0 {
- - partitions {
- - compatible = "fixed-partitions";
- - #address-cells = <1>;
- - #size-cells = <1>;
- -
- - partition@0 {
- - label = "u-boot";
- - reg = <0x0000000 0x100000>;
- - read-only;
- - };
- -
- - uimage@100000 {
- - reg = <0x0100000 0x200000>;
- - };
- - };
- -};
- -
- -flash@1 {
- - partitions {
- - compatible = "fixed-partitions";
- - #address-cells = <1>;
- - #size-cells = <2>;
- -
- - /* a 4 GiB partition */
- - partition@0 {
- - label = "filesystem";
- - reg = <0x00000000 0x1 0x00000000>;
- - };
- - };
- -};
- -
- -flash@2 {
- - partitions {
- - compatible = "fixed-partitions";
- - #address-cells = <2>;
- - #size-cells = <2>;
- -
- - /* an 8 GiB partition */
- - partition@0 {
- - label = "filesystem #1";
- - reg = <0x0 0x00000000 0x2 0x00000000>;
- - };
- -
- - /* a 4 GiB partition */
- - partition@200000000 {
- - label = "filesystem #2";
- - reg = <0x2 0x00000000 0x1 0x00000000>;
- - };
- - };
- -};
- -
- -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>;
- - };
- - };
- - };
- -};
- --- /dev/null
- +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
- @@ -0,0 +1,152 @@
- +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
- +%YAML 1.2
- +---
- +$id: http://devicetree.org/schemas/mtd/partitions/fixed-partitions.yaml#
- +$schema: http://devicetree.org/meta-schemas/core.yaml#
- +
- +title: Fixed partitions
- +
- +description: |
- + This binding can be used on platforms which have strong conventions about
- + which portions of a flash are used for what purposes, but which don't use an
- + on-flash partition table such as RedBoot.
- +
- + The partition table should be a node named "partitions". Partitions are then
- + defined as subnodes.
- +
- +maintainers:
- + - Rafał Miłecki <[email protected]>
- +
- +properties:
- + compatible:
- + const: fixed-partitions
- +
- + "#address-cells": true
- +
- + "#size-cells": true
- +
- +patternProperties:
- + "@[0-9a-f]+$":
- + description: node describing a single flash partition
- + type: object
- +
- + properties:
- + reg:
- + description: partition's offset and size within the flash
- + maxItems: 1
- +
- + label:
- + description: The label / name for this partition. If omitted, the label
- + is taken from the node name (excluding the unit address).
- +
- + read-only:
- + description: This parameter, if present, is a hint that this partition
- + should only be mounted read-only. This is usually used for flash
- + partitions containing early-boot firmware images or data which should
- + not be clobbered.
- + type: boolean
- +
- + lock:
- + description: Do not unlock the partition at initialization time (not
- + supported on all devices)
- + type: boolean
- +
- + slc-mode:
- + description: This parameter, if present, allows one to emulate SLC mode
- + on a partition attached to an MLC NAND thus making this partition
- + immune to paired-pages corruptions
- + type: boolean
- +
- + required:
- + - reg
- +
- +required:
- + - "#address-cells"
- + - "#size-cells"
- +
- +additionalProperties: true
- +
- +examples:
- + - |
- + partitions {
- + compatible = "fixed-partitions";
- + #address-cells = <1>;
- + #size-cells = <1>;
- +
- + partition@0 {
- + label = "u-boot";
- + reg = <0x0000000 0x100000>;
- + read-only;
- + };
- +
- + uimage@100000 {
- + reg = <0x0100000 0x200000>;
- + };
- + };
- + - |
- + partitions {
- + compatible = "fixed-partitions";
- + #address-cells = <1>;
- + #size-cells = <2>;
- +
- + /* a 4 GiB partition */
- + partition@0 {
- + label = "filesystem";
- + reg = <0x00000000 0x1 0x00000000>;
- + };
- + };
- + - |
- + partitions {
- + compatible = "fixed-partitions";
- + #address-cells = <2>;
- + #size-cells = <2>;
- +
- + /* an 8 GiB partition */
- + partition@0 {
- + label = "filesystem #1";
- + reg = <0x0 0x00000000 0x2 0x00000000>;
- + };
- +
- + /* a 4 GiB partition */
- + partition@200000000 {
- + label = "filesystem #2";
- + reg = <0x2 0x00000000 0x1 0x00000000>;
- + };
- + };
- + - |
- + partitions {
- + compatible = "fixed-partitions";
- + #address-cells = <1>;
- + #size-cells = <1>;
- +
- + partition@0 {
- + label = "bootloader";
- + reg = <0x000000 0x100000>;
- + read-only;
- + };
- +
- + firmware@100000 {
- + compatible = "brcm,trx";
- + label = "firmware";
- + reg = <0x100000 0xe00000>;
- + };
- +
- + calibration@f00000 {
- + compatible = "fixed-partitions";
- + label = "calibration";
- + reg = <0xf00000 0x100000>;
- + ranges = <0 0xf00000 0x100000>;
- + #address-cells = <1>;
- + #size-cells = <1>;
- +
- + partition@0 {
- + label = "wifi0";
- + reg = <0x000000 0x080000>;
- + };
- +
- + partition@80000 {
- + label = "wifi1";
- + reg = <0x080000 0x080000>;
- + };
- + };
- + };
|