[PATCH v3 4/4] mtd: nand: gpio: Add support for multichip devices

Mark Rutland mark.rutland at arm.com
Tue Aug 6 07:38:39 EDT 2013


On Tue, Aug 06, 2013 at 09:57:39AM +0100, Alexander Shiyan wrote:
> This patch adds support for multichip NAND devices controlled through GPIOs.
> To implement this, the properties of tree have been renamed. All current
> boards and DTS files converted to use an updated driver. Also driver
> temporarily keep support for DTS files which use the previous names scheme.
> 
> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
> ---
>  .../devicetree/bindings/mtd/gpio-control-nand.txt  |  16 +--
>  arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts       |  10 +-
>  arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts       |  10 +-
>  arch/arm/mach-clps711x/board-autcpu12.c            |   4 +-
>  arch/arm/mach-clps711x/board-p720t.c               |   4 +-
>  arch/arm/mach-pxa/cm-x255.c                        |  10 +-
>  drivers/mtd/nand/gpio.c                            | 108 +++++++++++++++------
>  include/linux/mtd/nand-gpio.h                      |  12 ++-
>  8 files changed, 112 insertions(+), 62 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt
> index 91070d0..c58210a 100644
> --- a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt
> +++ b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt
> @@ -11,8 +11,11 @@ Required properties:
>    are made in native endianness.

Unrelated, but the above like sounds mighty suspicious and possibly
meaningless...

>  - #address-cells, #size-cells : Must be present if the device has sub-nodes
>    representing partitions.
> -- gpios : specifies the gpio pins to control the NAND device.  nwp is an
> -  optional gpio and may be set to 0 if not present.

I'm not against deprecating this property, as the new mechanism is far
more flexible, and gets rid of the odd nwp case. However I think the
documentation for the old property should be kept (though marked as
deprecated). I'd be happy with a "Deprecated properties" section as with
the regulator bindings.

I'm not sure about changing the dts immediately as this prevents using
them with an old kernel, and creates a lot of churn, given the existing
binding will be supported for the transitionary period...

> +- ale-gpios : specifies the ALE gpio pin.
> +- cle-gpios : specifies the CLE gpio pin.
> +- nwp-gpios : specifies the NWP gpio pin (Optional).
> +- nce-gpios : specifies the NCE gpio pin or several NCE GPIOs for multichip NAND.
> +- rdy-gpios : specifies the RDY gpio pin or several RDY GPIOs for multichip NAND.
> 
>  Optional properties:
>  - bank-width : Width (in bytes) of the device.  If not present, the width
> @@ -37,11 +40,10 @@ gpio-nand at 1,0 {
>         reg = <1 0x0000 0x2>;
>         #address-cells = <1>;
>         #size-cells = <1>;
> -       gpios = <&banka 1 0     /* rdy */
> -                &banka 2 0     /* nce */
> -                &banka 3 0     /* ale */
> -                &banka 4 0     /* cle */
> -                0              /* nwp */>;
> +       ale-gpios = <&banka 3 0>;
> +       cle-gpios = <&banka 4 0>;
> +       nce-gpios = <&banka 2 0>;
> +       rdy-gpios = <&banka 1 0>;

It would be nice to have a multichip NAND example, also.

Thanks,
Mark.



More information about the linux-mtd mailing list