[PATCH v2 4/7] tegra: fdt: Add NAND controller binding and definitions
Scott Wood
scottwood at freescale.com
Sat Apr 14 04:43:29 EST 2012
On 04/13/2012 01:29 PM, Simon Glass wrote:
> Add a NAND controller along with a bindings file for review.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> Changes in v2:
> - Update NAND binding to add "nvidia," prefix
>
> arch/arm/dts/tegra20.dtsi | 6 ++
> doc/device-tree-bindings/nand/nvidia-nand.txt | 68 +++++++++++++++++++++++++
> 2 files changed, 74 insertions(+), 0 deletions(-)
> create mode 100644 doc/device-tree-bindings/nand/nvidia-nand.txt
>
> diff --git a/arch/arm/dts/tegra20.dtsi b/arch/arm/dts/tegra20.dtsi
> index bc64f42..7be0462 100644
> --- a/arch/arm/dts/tegra20.dtsi
> +++ b/arch/arm/dts/tegra20.dtsi
> @@ -200,4 +200,10 @@
> reg = <0x7000f400 0x200>;
> };
>
> + nand: nand-controller at 0x70008000 {
s/nand-controller@/flash@/ (or "nand@" if you really want -- there's
enough of that in use already)
> + #address-cells = <0>;
> + #size-cells = <0>;
> + compatible = "nvidia,tegra20-nand";
> + reg = <0x70008000 0x100>;
> + };
> };
> diff --git a/doc/device-tree-bindings/nand/nvidia-nand.txt b/doc/device-tree-bindings/nand/nvidia-nand.txt
> new file mode 100644
> index 0000000..b19ce8e
> --- /dev/null
> +++ b/doc/device-tree-bindings/nand/nvidia-nand.txt
> @@ -0,0 +1,68 @@
> +NAND Flash
> +----------
> +
> +(there isn't yet a generic binding in Linux, so this describes what is in
> +U-Boot)
Ideally the binding should not be Linux-specific or U-Boot specific --
it's just the binding that describes this hardware.
> +The device node for a NAND flash device is as described in the document
> +"Open Firmware Recommended Practice : Universal Serial Bus" with the
> +following modifications and additions :
> +
> +Required properties :
> + - compatible : Should be "manufacture,device", "nand-flash"
s/manufacture/manufacturer/
No "nand-flash" compatible, as there's no standard "nand-flash" binding.
You might want something like "nvidia,tegra20-nand-chip".
> + - nvidia,page-data-bytes : Number of bytes in the data area
> + - nvidia,page-spare-bytes : * Number of bytes in spare area
> + spare area = skipped-spare-bytes + data-ecc-bytes + tag-bytes
> + + tag-ecc-bytes
> + - nvidia,skipped-spare-bytes : Number of bytes to skip at start of spare area
> + (these are typically used for bad block maintenance)
> + - nvidia,data-ecc-bytes : Number of ECC bytes for data area
> + - nvidia,tag-bytes :Number of tag bytes in spare area
> + - nvidia,tag-ecc-bytes : Number ECC bytes to be generated for tag bytes
> +
> +(replace -bytes with -size or -length?)
I like bytes -- makes the unit clear.
> +Nvidia NAND Controller
> +----------------------
> +
> +The device node for a NAND flash controller is as described in the document
> +"Open Firmware Recommended Practice : Universal Serial Bus" with the
> +following modifications and additions :
> +
> +Optional properties:
> +
> +wp-gpio : GPIO of write-protect line, three cells in the format:
> + phandle, parameter, flags
nvidia,nand-wp-gpio
> +nvidia,,width : bus width of the NAND device in bits
s/,,width/,nand-width/
> +For now here is something specific to the Nvidia controller,
Isn't this whole file specific to the nvidia controller?
-Scott
More information about the devicetree-discuss
mailing list