[PATCH v2 4/7] tegra: fdt: Add NAND controller binding and definitions
Simon Glass
sjg at chromium.org
Sat Apr 14 05:01:43 EST 2012
Hi Scott,
On Fri, Apr 13, 2012 at 11:43 AM, Scott Wood <scottwood at freescale.com> wrote:
> 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)
Changed to flash at .
I am a little concerned that we are co-mingling the controller with
the device, but I think this is ok.
>
>> + #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.
Agreed, but trying to agree a binding in Linux in the absence of a
driver may be beyond my powers. Let's see if anyone picks up on this,
I could be wrong. I will add a comment in the meantime.
>
>> +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/
Done
>
> 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.
OK, will remove comment.
>
>> +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
Done, nvidia,nand-wp-gpios which seems to the the standard in Linux.
>
>> +nvidia,,width : bus width of the NAND device in bits
>
> s/,,width/,nand-width/
Done
>
>> +For now here is something specific to the Nvidia controller,
>
> Isn't this whole file specific to the nvidia controller?
Yes, removed.
>
> -Scott
>
Regards,
Simon
More information about the devicetree-discuss
mailing list