All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Paul Cercueil <paul@crapouillou.net>
Cc: od@zcrc.me, 周琰杰 <zhouyanjie@wanyeetech.com>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-i2c@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-mips@vger.kernel.org
Subject: Re: [PATCH 5/8] dt-bindings: mtd: Convert ingenic,jz4780-nand.txt to YAML
Date: Mon, 11 May 2020 17:58:39 -0500	[thread overview]
Message-ID: <20200511225839.GA3153@bogus> (raw)
In-Reply-To: <20200426185856.38826-5-paul@crapouillou.net>

On Sun, Apr 26, 2020 at 08:58:53PM +0200, Paul Cercueil wrote:
> Convert the ingenic,jz4780-nand.txt doc file to ingenic,nand.yaml.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  .../bindings/mtd/ingenic,jz4780-nand.txt      |  92 ------------
>  .../devicetree/bindings/mtd/ingenic,nand.yaml | 133 ++++++++++++++++++
>  2 files changed, 133 insertions(+), 92 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt b/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
> deleted file mode 100644
> index c02259353327..000000000000
> --- a/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
> +++ /dev/null
> @@ -1,92 +0,0 @@
> -* Ingenic JZ4780 NAND/ECC
> -
> -This file documents the device tree bindings for NAND flash devices on the
> -JZ4780. NAND devices are connected to the NEMC controller (described in
> -memory-controllers/ingenic,jz4780-nemc.txt), and thus NAND device nodes must
> -be children of the NEMC node.
> -
> -Required NAND controller device properties:
> -- compatible: Should be one of:
> -  * ingenic,jz4740-nand
> -  * ingenic,jz4725b-nand
> -  * ingenic,jz4780-nand
> -- reg: For each bank with a NAND chip attached, should specify a bank number,
> -  an offset of 0 and a size of 0x1000000 (i.e. the whole NEMC bank).
> -
> -Optional NAND controller device properties:
> -- ecc-engine: To make use of the hardware ECC controller, this
> -  property must contain a phandle for the ECC controller node. The required
> -  properties for this node are described below. If this is not specified,
> -  software ECC will be used instead.
> -
> -Optional children nodes:
> -- Individual NAND chips are children of the NAND controller node.
> -
> -Required children node properties:
> -- reg: An integer ranging from 1 to 6 representing the CS line to use.
> -
> -Optional children node properties:
> -- nand-ecc-step-size: ECC block size in bytes.
> -- nand-ecc-strength: ECC strength (max number of correctable bits).
> -- nand-ecc-mode: String, operation mode of the NAND ecc mode. "hw" by default
> -- nand-on-flash-bbt: boolean to enable on flash bbt option, if not present false
> -- rb-gpios: GPIO specifier for the busy pin.
> -- wp-gpios: GPIO specifier for the write protect pin.
> -
> -Optional child node of NAND chip nodes:
> -- partitions: see Documentation/devicetree/bindings/mtd/partition.txt
> -
> -Example:
> -
> -nemc: nemc@13410000 {
> -	...
> -
> -	nandc: nand-controller@1 {
> -		compatible = "ingenic,jz4780-nand";
> -		reg = <1 0 0x1000000>;	/* Bank 1 */
> -
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		ecc-engine = <&bch>;
> -
> -		nand@1 {
> -			reg = <1>;
> -
> -			nand-ecc-step-size = <1024>;
> -			nand-ecc-strength = <24>;
> -			nand-ecc-mode = "hw";
> -			nand-on-flash-bbt;
> -
> -			rb-gpios = <&gpa 20 GPIO_ACTIVE_LOW>;
> -			wp-gpios = <&gpf 22 GPIO_ACTIVE_LOW>;
> -
> -			partitions {
> -				#address-cells = <2>;
> -				#size-cells = <2>;
> -				...
> -			}
> -		};
> -	};
> -};
> -
> -The ECC controller is a separate SoC component used for error correction on
> -NAND devices. The following is a description of the device properties for a
> -ECC controller.
> -
> -Required ECC properties:
> -- compatible: Should be one of:
> -  * ingenic,jz4740-ecc
> -  * ingenic,jz4725b-bch
> -  * ingenic,jz4780-bch
> -- reg: Should specify the ECC controller registers location and length.
> -- clocks: Clock for the ECC controller.
> -
> -Example:
> -
> -bch: bch@134d0000 {
> -	compatible = "ingenic,jz4780-bch";
> -	reg = <0x134d0000 0x10000>;
> -
> -	clocks = <&cgu JZ4780_CLK_BCH>;
> -};
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> new file mode 100644
> index 000000000000..0e4cb1b55385
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> @@ -0,0 +1,133 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/ingenic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ingenic SoCs NAND controller devicetree bindings
> +
> +maintainers:
> +  - Paul Cercueil <paul@crapouillou.net>
> +
> +allOf:
> +  - $ref: ../memory-controllers/ingenic,nemc-client.yaml#

You don't need this here because the schema is already applied with the 
parent's schema.

> +  - $ref: nand-controller.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ingenic,jz4740-nand
> +      - ingenic,jz4725b-nand
> +      - ingenic,jz4780-nand
> +
> +  reg:
> +    items:
> +      - description: Bank number, offset and size of first attached NAND chip
> +      - description: Bank number, offset and size of second attached NAND chip
> +      - description: Bank number, offset and size of third attached NAND chip
> +      - description: Bank number, offset and size of fourth attached NAND chip
> +    minItems: 1
> +
> +  ecc-engine: true
> +
> +patternProperties:
> +  "^nand@[a-f0-9]$":
> +    type: object
> +    properties:
> +      rb-gpios:
> +        description: GPIO specifier for the busy pin.
> +        maxItems: 1
> +
> +      wp-gpios:
> +        description: GPIO specifier for the write-protect pin.
> +        maxItems: 1
> +
> +  "^partitions$":

This is at the wrong level. It should be under 'nand@...' node.

It is also not a pattern.

> +    type: object
> +    description:
> +      Node containing description of fixed partitions.
> +      See Documentation/devicetree/bindings/mtd/partition.txt
> +
> +required:
> +  - compatible
> +  - reg
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +    nemc: memory-controller@13410000 {
> +      compatible = "ingenic,jz4780-nemc";
> +      reg = <0x13410000 0x10000>;
> +      #address-cells = <2>;
> +      #size-cells = <1>;
> +      ranges = <1 0 0x1b000000 0x1000000>,
> +         <2 0 0x1a000000 0x1000000>,
> +         <3 0 0x19000000 0x1000000>,
> +         <4 0 0x18000000 0x1000000>,
> +         <5 0 0x17000000 0x1000000>,
> +         <6 0 0x16000000 0x1000000>;
> +
> +      clocks = <&cgu JZ4780_CLK_NEMC>;
> +
> +      nand-controller@1 {
> +        compatible = "ingenic,jz4780-nand";
> +        reg = <1 0 0x1000000>;
> +
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        ecc-engine = <&bch>;
> +
> +        ingenic,nemc-tAS = <10>;
> +        ingenic,nemc-tAH = <5>;
> +        ingenic,nemc-tBP = <10>;
> +        ingenic,nemc-tAW = <15>;
> +        ingenic,nemc-tSTRV = <100>;
> +
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pins_nemc>;
> +
> +        nand@1 {
> +          reg = <1>;
> +
> +          nand-ecc-step-size = <1024>;
> +          nand-ecc-strength = <24>;
> +          nand-ecc-mode = "hw";
> +          nand-on-flash-bbt;
> +
> +          pinctrl-names = "default";
> +          pinctrl-0 = <&pins_nemc_cs1>;
> +
> +          partitions {
> +            compatible = "fixed-partitions";
> +            #address-cells = <2>;
> +            #size-cells = <2>;
> +
> +            partition@0 {
> +              label = "u-boot-spl";
> +              reg = <0x0 0x0 0x0 0x800000>;
> +            };
> +
> +            partition@800000 {
> +              label = "u-boot";
> +              reg = <0x0 0x800000 0x0 0x200000>;
> +            };
> +
> +            partition@a00000 {
> +              label = "u-boot-env";
> +              reg = <0x0 0xa00000 0x0 0x200000>;
> +            };
> +
> +            partition@c00000 {
> +              label = "boot";
> +              reg = <0x0 0xc00000 0x0 0x4000000>;
> +            };
> +
> +            partition@4c00000 {
> +              label = "system";
> +              reg = <0x0 0x4c00000 0x1 0xfb400000>;
> +            };
> +          };
> +        };
> +      };
> +    };
> -- 
> 2.26.2
> 

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Paul Cercueil <paul@crapouillou.net>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, 周琰杰 <zhouyanjie@wanyeetech.com>,
	linux-gpio@vger.kernel.org, od@zcrc.me,
	linux-mtd@lists.infradead.org, linux-i2c@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-mips@vger.kernel.org,
	linux-clk@vger.kernel.org
Subject: Re: [PATCH 5/8] dt-bindings: mtd: Convert ingenic, jz4780-nand.txt to YAML
Date: Mon, 11 May 2020 17:58:39 -0500	[thread overview]
Message-ID: <20200511225839.GA3153@bogus> (raw)
In-Reply-To: <20200426185856.38826-5-paul@crapouillou.net>

On Sun, Apr 26, 2020 at 08:58:53PM +0200, Paul Cercueil wrote:
> Convert the ingenic,jz4780-nand.txt doc file to ingenic,nand.yaml.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  .../bindings/mtd/ingenic,jz4780-nand.txt      |  92 ------------
>  .../devicetree/bindings/mtd/ingenic,nand.yaml | 133 ++++++++++++++++++
>  2 files changed, 133 insertions(+), 92 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt b/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
> deleted file mode 100644
> index c02259353327..000000000000
> --- a/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
> +++ /dev/null
> @@ -1,92 +0,0 @@
> -* Ingenic JZ4780 NAND/ECC
> -
> -This file documents the device tree bindings for NAND flash devices on the
> -JZ4780. NAND devices are connected to the NEMC controller (described in
> -memory-controllers/ingenic,jz4780-nemc.txt), and thus NAND device nodes must
> -be children of the NEMC node.
> -
> -Required NAND controller device properties:
> -- compatible: Should be one of:
> -  * ingenic,jz4740-nand
> -  * ingenic,jz4725b-nand
> -  * ingenic,jz4780-nand
> -- reg: For each bank with a NAND chip attached, should specify a bank number,
> -  an offset of 0 and a size of 0x1000000 (i.e. the whole NEMC bank).
> -
> -Optional NAND controller device properties:
> -- ecc-engine: To make use of the hardware ECC controller, this
> -  property must contain a phandle for the ECC controller node. The required
> -  properties for this node are described below. If this is not specified,
> -  software ECC will be used instead.
> -
> -Optional children nodes:
> -- Individual NAND chips are children of the NAND controller node.
> -
> -Required children node properties:
> -- reg: An integer ranging from 1 to 6 representing the CS line to use.
> -
> -Optional children node properties:
> -- nand-ecc-step-size: ECC block size in bytes.
> -- nand-ecc-strength: ECC strength (max number of correctable bits).
> -- nand-ecc-mode: String, operation mode of the NAND ecc mode. "hw" by default
> -- nand-on-flash-bbt: boolean to enable on flash bbt option, if not present false
> -- rb-gpios: GPIO specifier for the busy pin.
> -- wp-gpios: GPIO specifier for the write protect pin.
> -
> -Optional child node of NAND chip nodes:
> -- partitions: see Documentation/devicetree/bindings/mtd/partition.txt
> -
> -Example:
> -
> -nemc: nemc@13410000 {
> -	...
> -
> -	nandc: nand-controller@1 {
> -		compatible = "ingenic,jz4780-nand";
> -		reg = <1 0 0x1000000>;	/* Bank 1 */
> -
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		ecc-engine = <&bch>;
> -
> -		nand@1 {
> -			reg = <1>;
> -
> -			nand-ecc-step-size = <1024>;
> -			nand-ecc-strength = <24>;
> -			nand-ecc-mode = "hw";
> -			nand-on-flash-bbt;
> -
> -			rb-gpios = <&gpa 20 GPIO_ACTIVE_LOW>;
> -			wp-gpios = <&gpf 22 GPIO_ACTIVE_LOW>;
> -
> -			partitions {
> -				#address-cells = <2>;
> -				#size-cells = <2>;
> -				...
> -			}
> -		};
> -	};
> -};
> -
> -The ECC controller is a separate SoC component used for error correction on
> -NAND devices. The following is a description of the device properties for a
> -ECC controller.
> -
> -Required ECC properties:
> -- compatible: Should be one of:
> -  * ingenic,jz4740-ecc
> -  * ingenic,jz4725b-bch
> -  * ingenic,jz4780-bch
> -- reg: Should specify the ECC controller registers location and length.
> -- clocks: Clock for the ECC controller.
> -
> -Example:
> -
> -bch: bch@134d0000 {
> -	compatible = "ingenic,jz4780-bch";
> -	reg = <0x134d0000 0x10000>;
> -
> -	clocks = <&cgu JZ4780_CLK_BCH>;
> -};
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> new file mode 100644
> index 000000000000..0e4cb1b55385
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> @@ -0,0 +1,133 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/ingenic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ingenic SoCs NAND controller devicetree bindings
> +
> +maintainers:
> +  - Paul Cercueil <paul@crapouillou.net>
> +
> +allOf:
> +  - $ref: ../memory-controllers/ingenic,nemc-client.yaml#

You don't need this here because the schema is already applied with the 
parent's schema.

> +  - $ref: nand-controller.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ingenic,jz4740-nand
> +      - ingenic,jz4725b-nand
> +      - ingenic,jz4780-nand
> +
> +  reg:
> +    items:
> +      - description: Bank number, offset and size of first attached NAND chip
> +      - description: Bank number, offset and size of second attached NAND chip
> +      - description: Bank number, offset and size of third attached NAND chip
> +      - description: Bank number, offset and size of fourth attached NAND chip
> +    minItems: 1
> +
> +  ecc-engine: true
> +
> +patternProperties:
> +  "^nand@[a-f0-9]$":
> +    type: object
> +    properties:
> +      rb-gpios:
> +        description: GPIO specifier for the busy pin.
> +        maxItems: 1
> +
> +      wp-gpios:
> +        description: GPIO specifier for the write-protect pin.
> +        maxItems: 1
> +
> +  "^partitions$":

This is at the wrong level. It should be under 'nand@...' node.

It is also not a pattern.

> +    type: object
> +    description:
> +      Node containing description of fixed partitions.
> +      See Documentation/devicetree/bindings/mtd/partition.txt
> +
> +required:
> +  - compatible
> +  - reg
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +    nemc: memory-controller@13410000 {
> +      compatible = "ingenic,jz4780-nemc";
> +      reg = <0x13410000 0x10000>;
> +      #address-cells = <2>;
> +      #size-cells = <1>;
> +      ranges = <1 0 0x1b000000 0x1000000>,
> +         <2 0 0x1a000000 0x1000000>,
> +         <3 0 0x19000000 0x1000000>,
> +         <4 0 0x18000000 0x1000000>,
> +         <5 0 0x17000000 0x1000000>,
> +         <6 0 0x16000000 0x1000000>;
> +
> +      clocks = <&cgu JZ4780_CLK_NEMC>;
> +
> +      nand-controller@1 {
> +        compatible = "ingenic,jz4780-nand";
> +        reg = <1 0 0x1000000>;
> +
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        ecc-engine = <&bch>;
> +
> +        ingenic,nemc-tAS = <10>;
> +        ingenic,nemc-tAH = <5>;
> +        ingenic,nemc-tBP = <10>;
> +        ingenic,nemc-tAW = <15>;
> +        ingenic,nemc-tSTRV = <100>;
> +
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pins_nemc>;
> +
> +        nand@1 {
> +          reg = <1>;
> +
> +          nand-ecc-step-size = <1024>;
> +          nand-ecc-strength = <24>;
> +          nand-ecc-mode = "hw";
> +          nand-on-flash-bbt;
> +
> +          pinctrl-names = "default";
> +          pinctrl-0 = <&pins_nemc_cs1>;
> +
> +          partitions {
> +            compatible = "fixed-partitions";
> +            #address-cells = <2>;
> +            #size-cells = <2>;
> +
> +            partition@0 {
> +              label = "u-boot-spl";
> +              reg = <0x0 0x0 0x0 0x800000>;
> +            };
> +
> +            partition@800000 {
> +              label = "u-boot";
> +              reg = <0x0 0x800000 0x0 0x200000>;
> +            };
> +
> +            partition@a00000 {
> +              label = "u-boot-env";
> +              reg = <0x0 0xa00000 0x0 0x200000>;
> +            };
> +
> +            partition@c00000 {
> +              label = "boot";
> +              reg = <0x0 0xc00000 0x0 0x4000000>;
> +            };
> +
> +            partition@4c00000 {
> +              label = "system";
> +              reg = <0x0 0x4c00000 0x1 0xfb400000>;
> +            };
> +          };
> +        };
> +      };
> +    };
> -- 
> 2.26.2
> 

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Paul Cercueil <paul@crapouillou.net>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, 周琰杰 <zhouyanjie@wanyeetech.com>,
	linux-gpio@vger.kernel.org, od@zcrc.me,
	linux-mtd@lists.infradead.org, linux-i2c@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-mips@vger.kernel.org,
	linux-clk@vger.kernel.org
Subject: Re: [PATCH 5/8] dt-bindings: mtd: Convert ingenic, jz4780-nand.txt to YAML
Date: Mon, 11 May 2020 17:58:39 -0500	[thread overview]
Message-ID: <20200511225839.GA3153@bogus> (raw)
In-Reply-To: <20200426185856.38826-5-paul@crapouillou.net>

On Sun, Apr 26, 2020 at 08:58:53PM +0200, Paul Cercueil wrote:
> Convert the ingenic,jz4780-nand.txt doc file to ingenic,nand.yaml.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  .../bindings/mtd/ingenic,jz4780-nand.txt      |  92 ------------
>  .../devicetree/bindings/mtd/ingenic,nand.yaml | 133 ++++++++++++++++++
>  2 files changed, 133 insertions(+), 92 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt b/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
> deleted file mode 100644
> index c02259353327..000000000000
> --- a/Documentation/devicetree/bindings/mtd/ingenic,jz4780-nand.txt
> +++ /dev/null
> @@ -1,92 +0,0 @@
> -* Ingenic JZ4780 NAND/ECC
> -
> -This file documents the device tree bindings for NAND flash devices on the
> -JZ4780. NAND devices are connected to the NEMC controller (described in
> -memory-controllers/ingenic,jz4780-nemc.txt), and thus NAND device nodes must
> -be children of the NEMC node.
> -
> -Required NAND controller device properties:
> -- compatible: Should be one of:
> -  * ingenic,jz4740-nand
> -  * ingenic,jz4725b-nand
> -  * ingenic,jz4780-nand
> -- reg: For each bank with a NAND chip attached, should specify a bank number,
> -  an offset of 0 and a size of 0x1000000 (i.e. the whole NEMC bank).
> -
> -Optional NAND controller device properties:
> -- ecc-engine: To make use of the hardware ECC controller, this
> -  property must contain a phandle for the ECC controller node. The required
> -  properties for this node are described below. If this is not specified,
> -  software ECC will be used instead.
> -
> -Optional children nodes:
> -- Individual NAND chips are children of the NAND controller node.
> -
> -Required children node properties:
> -- reg: An integer ranging from 1 to 6 representing the CS line to use.
> -
> -Optional children node properties:
> -- nand-ecc-step-size: ECC block size in bytes.
> -- nand-ecc-strength: ECC strength (max number of correctable bits).
> -- nand-ecc-mode: String, operation mode of the NAND ecc mode. "hw" by default
> -- nand-on-flash-bbt: boolean to enable on flash bbt option, if not present false
> -- rb-gpios: GPIO specifier for the busy pin.
> -- wp-gpios: GPIO specifier for the write protect pin.
> -
> -Optional child node of NAND chip nodes:
> -- partitions: see Documentation/devicetree/bindings/mtd/partition.txt
> -
> -Example:
> -
> -nemc: nemc@13410000 {
> -	...
> -
> -	nandc: nand-controller@1 {
> -		compatible = "ingenic,jz4780-nand";
> -		reg = <1 0 0x1000000>;	/* Bank 1 */
> -
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		ecc-engine = <&bch>;
> -
> -		nand@1 {
> -			reg = <1>;
> -
> -			nand-ecc-step-size = <1024>;
> -			nand-ecc-strength = <24>;
> -			nand-ecc-mode = "hw";
> -			nand-on-flash-bbt;
> -
> -			rb-gpios = <&gpa 20 GPIO_ACTIVE_LOW>;
> -			wp-gpios = <&gpf 22 GPIO_ACTIVE_LOW>;
> -
> -			partitions {
> -				#address-cells = <2>;
> -				#size-cells = <2>;
> -				...
> -			}
> -		};
> -	};
> -};
> -
> -The ECC controller is a separate SoC component used for error correction on
> -NAND devices. The following is a description of the device properties for a
> -ECC controller.
> -
> -Required ECC properties:
> -- compatible: Should be one of:
> -  * ingenic,jz4740-ecc
> -  * ingenic,jz4725b-bch
> -  * ingenic,jz4780-bch
> -- reg: Should specify the ECC controller registers location and length.
> -- clocks: Clock for the ECC controller.
> -
> -Example:
> -
> -bch: bch@134d0000 {
> -	compatible = "ingenic,jz4780-bch";
> -	reg = <0x134d0000 0x10000>;
> -
> -	clocks = <&cgu JZ4780_CLK_BCH>;
> -};
> diff --git a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> new file mode 100644
> index 000000000000..0e4cb1b55385
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml
> @@ -0,0 +1,133 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/ingenic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ingenic SoCs NAND controller devicetree bindings
> +
> +maintainers:
> +  - Paul Cercueil <paul@crapouillou.net>
> +
> +allOf:
> +  - $ref: ../memory-controllers/ingenic,nemc-client.yaml#

You don't need this here because the schema is already applied with the 
parent's schema.

> +  - $ref: nand-controller.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ingenic,jz4740-nand
> +      - ingenic,jz4725b-nand
> +      - ingenic,jz4780-nand
> +
> +  reg:
> +    items:
> +      - description: Bank number, offset and size of first attached NAND chip
> +      - description: Bank number, offset and size of second attached NAND chip
> +      - description: Bank number, offset and size of third attached NAND chip
> +      - description: Bank number, offset and size of fourth attached NAND chip
> +    minItems: 1
> +
> +  ecc-engine: true
> +
> +patternProperties:
> +  "^nand@[a-f0-9]$":
> +    type: object
> +    properties:
> +      rb-gpios:
> +        description: GPIO specifier for the busy pin.
> +        maxItems: 1
> +
> +      wp-gpios:
> +        description: GPIO specifier for the write-protect pin.
> +        maxItems: 1
> +
> +  "^partitions$":

This is at the wrong level. It should be under 'nand@...' node.

It is also not a pattern.

> +    type: object
> +    description:
> +      Node containing description of fixed partitions.
> +      See Documentation/devicetree/bindings/mtd/partition.txt
> +
> +required:
> +  - compatible
> +  - reg
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +    nemc: memory-controller@13410000 {
> +      compatible = "ingenic,jz4780-nemc";
> +      reg = <0x13410000 0x10000>;
> +      #address-cells = <2>;
> +      #size-cells = <1>;
> +      ranges = <1 0 0x1b000000 0x1000000>,
> +         <2 0 0x1a000000 0x1000000>,
> +         <3 0 0x19000000 0x1000000>,
> +         <4 0 0x18000000 0x1000000>,
> +         <5 0 0x17000000 0x1000000>,
> +         <6 0 0x16000000 0x1000000>;
> +
> +      clocks = <&cgu JZ4780_CLK_NEMC>;
> +
> +      nand-controller@1 {
> +        compatible = "ingenic,jz4780-nand";
> +        reg = <1 0 0x1000000>;
> +
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        ecc-engine = <&bch>;
> +
> +        ingenic,nemc-tAS = <10>;
> +        ingenic,nemc-tAH = <5>;
> +        ingenic,nemc-tBP = <10>;
> +        ingenic,nemc-tAW = <15>;
> +        ingenic,nemc-tSTRV = <100>;
> +
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pins_nemc>;
> +
> +        nand@1 {
> +          reg = <1>;
> +
> +          nand-ecc-step-size = <1024>;
> +          nand-ecc-strength = <24>;
> +          nand-ecc-mode = "hw";
> +          nand-on-flash-bbt;
> +
> +          pinctrl-names = "default";
> +          pinctrl-0 = <&pins_nemc_cs1>;
> +
> +          partitions {
> +            compatible = "fixed-partitions";
> +            #address-cells = <2>;
> +            #size-cells = <2>;
> +
> +            partition@0 {
> +              label = "u-boot-spl";
> +              reg = <0x0 0x0 0x0 0x800000>;
> +            };
> +
> +            partition@800000 {
> +              label = "u-boot";
> +              reg = <0x0 0x800000 0x0 0x200000>;
> +            };
> +
> +            partition@a00000 {
> +              label = "u-boot-env";
> +              reg = <0x0 0xa00000 0x0 0x200000>;
> +            };
> +
> +            partition@c00000 {
> +              label = "boot";
> +              reg = <0x0 0xc00000 0x0 0x4000000>;
> +            };
> +
> +            partition@4c00000 {
> +              label = "system";
> +              reg = <0x0 0x4c00000 0x1 0xfb400000>;
> +            };
> +          };
> +        };
> +      };
> +    };
> -- 
> 2.26.2
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-05-11 22:58 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-26 18:58 [PATCH 1/8] dt-bindings: clock: Convert ingenic,cgu.txt to YAML Paul Cercueil
2020-04-26 18:58 ` Paul Cercueil
2020-04-26 18:58 ` Paul Cercueil
2020-04-26 18:58 ` [PATCH 2/8] dt-bindings: intc: Convert ingenic,intc.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-04-27  9:11   ` Sergei Shtylyov
2020-04-27  9:11     ` Sergei Shtylyov
2020-04-27  9:11     ` Sergei Shtylyov
2020-04-28 14:10     ` Paul Cercueil
2020-04-28 14:10       ` Paul Cercueil
2020-04-28 14:10       ` Paul Cercueil
2020-05-11 22:34   ` Rob Herring
2020-05-11 22:34     ` Rob Herring
2020-05-11 22:34     ` Rob Herring
2020-04-26 18:58 ` [PATCH 3/8] dt-bindings: pinctrl: Convert ingenic,pinctrl.txt " Paul Cercueil
2020-04-26 18:58   ` [PATCH 3/8] dt-bindings: pinctrl: Convert ingenic, pinctrl.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-05-11 22:47   ` [PATCH 3/8] dt-bindings: pinctrl: Convert ingenic,pinctrl.txt " Rob Herring
2020-05-11 22:47     ` [PATCH 3/8] dt-bindings: pinctrl: Convert ingenic, pinctrl.txt " Rob Herring
2020-05-11 22:47     ` Rob Herring
2020-04-26 18:58 ` [PATCH 4/8] dt-bindings: memory: Convert ingenic,jz4780-nemc.txt " Paul Cercueil
2020-04-26 18:58   ` [PATCH 4/8] dt-bindings: memory: Convert ingenic, jz4780-nemc.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-05-11 22:54   ` [PATCH 4/8] dt-bindings: memory: Convert ingenic,jz4780-nemc.txt " Rob Herring
2020-05-11 22:54     ` [PATCH 4/8] dt-bindings: memory: Convert ingenic, jz4780-nemc.txt " Rob Herring
2020-05-11 22:54     ` Rob Herring
2020-04-26 18:58 ` [PATCH 5/8] dt-bindings: mtd: Convert ingenic,jz4780-nand.txt " Paul Cercueil
2020-04-26 18:58   ` [PATCH 5/8] dt-bindings: mtd: Convert ingenic, jz4780-nand.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-05-11 22:58   ` Rob Herring [this message]
2020-05-11 22:58     ` Rob Herring
2020-05-11 22:58     ` Rob Herring
2020-04-26 18:58 ` [PATCH 6/8] dt-bindings: i2c: Convert i2c-jz4780.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-05-11 23:00   ` Rob Herring
2020-05-11 23:00     ` Rob Herring
2020-05-11 23:00     ` Rob Herring
2020-04-26 18:58 ` [PATCH 7/8] dt-bindings: serial: Convert ingenic,uart.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-05-11 23:03   ` Rob Herring
2020-05-11 23:03     ` [PATCH 7/8] dt-bindings: serial: Convert ingenic, uart.txt " Rob Herring
2020-05-11 23:03     ` Rob Herring
2020-04-26 18:58 ` [PATCH 8/8] dt-bindings: display: Convert ingenic,lcd.txt " Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-04-26 18:58   ` Paul Cercueil
2020-04-28 14:12   ` Paul Cercueil
2020-04-28 14:12     ` [PATCH 8/8] dt-bindings: display: Convert ingenic, lcd.txt " Paul Cercueil
2020-04-28 14:12     ` Paul Cercueil
2020-05-11 23:05     ` [PATCH 8/8] dt-bindings: display: Convert ingenic,lcd.txt " Rob Herring
2020-05-11 23:05       ` [PATCH 8/8] dt-bindings: display: Convert ingenic, lcd.txt " Rob Herring
2020-05-11 23:05       ` Rob Herring
2020-05-11 22:33 ` [PATCH 1/8] dt-bindings: clock: Convert ingenic,cgu.txt " Rob Herring
2020-05-11 22:33   ` Rob Herring
2020-05-11 22:33   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200511225839.GA3153@bogus \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=od@zcrc.me \
    --cc=paul@crapouillou.net \
    --cc=zhouyanjie@wanyeetech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.