diff mbox series

[V2,1/2] dt-bindings: mtd: explicitly document nesting partitions descriptions

Message ID 20180713143221.8474-1-zajec5@gmail.com
State Accepted
Delegated to: Boris Brezillon
Headers show
Series [V2,1/2] dt-bindings: mtd: explicitly document nesting partitions descriptions | expand

Commit Message

Rafał Miłecki July 13, 2018, 2:32 p.m. UTC
From: Rafał Miłecki <rafal@milecki.pl>

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 <rafal@milecki.pl>
---
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(+)

Comments

Rob Herring (Arm) July 16, 2018, 5:57 p.m. UTC | #1
On Fri, Jul 13, 2018 at 04:32:20PM +0200, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> 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 <rafal@milecki.pl>
> ---
> 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(+)

Reviewed-by: Rob Herring <robh@kernel.org>
Boris Brezillon July 26, 2018, 7:42 p.m. UTC | #2
On Fri, 13 Jul 2018 16:32:20 +0200
Rafał Miłecki <zajec5@gmail.com> wrote:

> From: Rafał Miłecki <rafal@milecki.pl>
> 
> 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 <rafal@milecki.pl>

Applied both patches.

Thanks,

Boris

> ---
> 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>;
> +			};
> +		};
> +	};
> +};
diff mbox series

Patch

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>;
+			};
+		};
+	};
+};