diff mbox

[v2,1/2] mtd: nand: dt binding documentation for digicolor NFC

Message ID fb9907fecb8b57d1b44ce03b97eb62225555de9f.1425295703.git.baruch@tkos.co.il (mailing list archive)
State New, archived
Headers show

Commit Message

Baruch Siach March 2, 2015, 11:28 a.m. UTC
The CX92755 SoC is one of Conexant Digicolor series of SoCs. This devicetree
binding document describes the NAND flash controller the is shared by some SoCs
in the Digicolor series.

Not all of the properties are currently actually used by the driver.
Specifically, the driver doesn't make use of interrupts. This may change in the
future.

Also worth noting that the only supported ECC mode is "hw_syndrome". In the
future the driver may add support for additional modes.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 .../devicetree/bindings/mtd/digicolor-nand.txt     | 71 ++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mtd/digicolor-nand.txt

Comments

Boris BREZILLON March 2, 2015, 12:24 p.m. UTC | #1
Hi Baruch,

On Mon,  2 Mar 2015 13:28:22 +0200
Baruch Siach <baruch@tkos.co.il> wrote:

> The CX92755 SoC is one of Conexant Digicolor series of SoCs. This devicetree
> binding document describes the NAND flash controller the is shared by some SoCs
> in the Digicolor series.
> 
> Not all of the properties are currently actually used by the driver.
> Specifically, the driver doesn't make use of interrupts. This may change in the
> future.
> 
> Also worth noting that the only supported ECC mode is "hw_syndrome". In the
> future the driver may add support for additional modes.
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
>  .../devicetree/bindings/mtd/digicolor-nand.txt     | 71 ++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mtd/digicolor-nand.txt
> 
> diff --git a/Documentation/devicetree/bindings/mtd/digicolor-nand.txt b/Documentation/devicetree/bindings/mtd/digicolor-nand.txt
> new file mode 100644
> index 000000000000..60e2d9085b7a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/digicolor-nand.txt
> @@ -0,0 +1,71 @@
> +Conexant Digicolor NAND Flash Controller (NFC)
> +
> +Required properties:
> +- compatible : "cnxt,cx92755-nfc".
> +- reg : shall contain registers location and length for data and reg.
> +- interrupts : shall define the nand controller interrupt.
> +- #address-cells: shall be set to 1. Encode the nand CS.
> +- #size-cells : shall be set to 0.
> +- clocks : shall reference nand controller clocks.
> +
> +Optional children nodes:
> +Children nodes represent the available nand chips.
> +
> +Required children properties:
> +- nand-ecc-mode : must be "hw_syndrome".

You could fallback to hw_syndrome when this property is not provided.
That would make it optional (and if you ever want to support other
modes, you'll just have to explicitly specify nand-ecc-mode).

> +- nand-ecc-strength : must be one of 6, 7, 8, 24, 28, 30.
> +- nand-ecc-step-size : must be either 512 or 1024.

Those 2 properties are no longer mandatory (you fallback to values
stored in _ds if they are missing).

Best Regards,

Boris
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/mtd/digicolor-nand.txt b/Documentation/devicetree/bindings/mtd/digicolor-nand.txt
new file mode 100644
index 000000000000..60e2d9085b7a
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/digicolor-nand.txt
@@ -0,0 +1,71 @@ 
+Conexant Digicolor NAND Flash Controller (NFC)
+
+Required properties:
+- compatible : "cnxt,cx92755-nfc".
+- reg : shall contain registers location and length for data and reg.
+- interrupts : shall define the nand controller interrupt.
+- #address-cells: shall be set to 1. Encode the nand CS.
+- #size-cells : shall be set to 0.
+- clocks : shall reference nand controller clocks.
+
+Optional children nodes:
+Children nodes represent the available nand chips.
+
+Required children properties:
+- nand-ecc-mode : must be "hw_syndrome".
+- nand-ecc-strength : must be one of 6, 7, 8, 24, 28, 30.
+- nand-ecc-step-size : must be either 512 or 1024.
+
+see Documentation/devicetree/bindings/mtd/nand.txt for generic bindings.
+
+Each nand chip child node may optionally have partition sub-nodes. See
+Documentation/devicetree/bindings/mtd/partition.txt for partitions binding.
+
+Example:
+nfc: nfc@f00a4000 {
+	compatible = "cnxt,cx92755-nfc";
+	reg = <0xf00a4000 0x200>;
+	interrupts = <26>;
+	clocks = <&main_clk>;
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	nand@0 {
+		reg = <0>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		nand-ecc-mode = "hw_syndrome";
+		nand-ecc-step-size = <1024>;
+		nand-ecc-strength = <28>;
+
+		partition@0 {
+			label = "boot";
+			reg = <0x00000000 0x00700000>;
+		};
+
+		partition@700000 {
+			label = "splash";
+			reg = <0x00700000 0x00500000>;
+		};
+
+		partition@c00000 {
+			label = "maint";
+			reg = <0x00c00000 0x00500000>;
+		};
+
+		partition@1100000 {
+			label = "kernel";
+			reg = <0x01100000 0x00500000>;
+		};
+
+		partition@1600000 {
+			label = "rootfs";
+			reg = <0x01600000 0x18000000>;
+		};
+
+		partition@19600000 {
+			label = "data1";
+			reg = <0x19600000 0x66a00000>;
+		};
+	};
+};