All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: Simon Glass <sjg@chromium.org>
Cc: Devicetree@theia.denx.de,
	Discuss <devicetree-discuss@lists.ozlabs.org>,
	Jim Lin <jilin@nvidia.com>,
	U-Boot Mailing List <u-boot@lists.denx.de>,
	Jerry Van Baren <vanbaren@cideas.com>,
	Tom Warren <twarren@nvidia.com>
Subject: Re: [PATCH v3 4/7] tegra: fdt: Add NAND controller binding and definitions
Date: Tue, 17 Apr 2012 15:31:25 -0500	[thread overview]
Message-ID: <4F8DD31D.3040304@freescale.com> (raw)
In-Reply-To: <CAPnjgZ16bJJiq7qmTQ3br3kSmdTpZfcdtPDPNJ1=s1DPeDwE2g@mail.gmail.com>

On 04/17/2012 03:18 PM, Simon Glass wrote:
> +Jim, who wrote the driver originally
> 
> Hi Scott,
> 
> On Tue, Apr 17, 2012 at 12:06 PM, Scott Wood <scottwood@freescale.com> wrote:
>>> + - 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
>>
>> Do you really need this stuff to be in the device tree?  You should be
>> able to determine this information from the ID table.
> 
> I suspect so - the driver originally had a lot of CONFIGs for this.
> Maybe someone who wants to take it further could do this as part of
> supporting ONFI?
> 
> I will see if Jim Lin can take another look.

You don't need ONFI to get the page/spare size out of the ID table.

The generic NAND code should already be doing this for you (fills in
mtd->writesize and mtd->oobsize).  If you need it during setup, we now
have CONFIG_SYS_NAND_SELF_INIT that allows splitting up
nand_scan_ident() from nand_scan_tail().

>>> +Nvidia NAND Controller
>>> +----------------------
>>> +
>>> +The device node for a NAND flash controller is as follows:
>>> +
>>> +Optional properties:
>>> +
>>> +nvidia,wp-gpios : GPIO of write-protect line, three cells in the format:
>>> +             phandle, parameter, flags
>>
>> Doesn't the number of cells depend on the GPIO controller binding?
> 
> Yes, but this is the binding Tegra uses.

Still, it doesn't belong in the NAND binding.  Maybe a future chip wants
to use this NAND binding but a different GPIO binding.  If nothing else,
people tend to copy-and-paste such descriptions.  We've still got people
adding bindings for Freescale devices saying interrupts are encoded as a
pair of cells, even though the interrupt controller now uses four cells
per interrupt.

-Scott

WARNING: multiple messages have this Message-ID (diff)
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 4/7] tegra: fdt: Add NAND controller binding and definitions
Date: Tue, 17 Apr 2012 15:31:25 -0500	[thread overview]
Message-ID: <4F8DD31D.3040304@freescale.com> (raw)
In-Reply-To: <CAPnjgZ16bJJiq7qmTQ3br3kSmdTpZfcdtPDPNJ1=s1DPeDwE2g@mail.gmail.com>

On 04/17/2012 03:18 PM, Simon Glass wrote:
> +Jim, who wrote the driver originally
> 
> Hi Scott,
> 
> On Tue, Apr 17, 2012 at 12:06 PM, Scott Wood <scottwood@freescale.com> wrote:
>>> + - 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
>>
>> Do you really need this stuff to be in the device tree?  You should be
>> able to determine this information from the ID table.
> 
> I suspect so - the driver originally had a lot of CONFIGs for this.
> Maybe someone who wants to take it further could do this as part of
> supporting ONFI?
> 
> I will see if Jim Lin can take another look.

You don't need ONFI to get the page/spare size out of the ID table.

The generic NAND code should already be doing this for you (fills in
mtd->writesize and mtd->oobsize).  If you need it during setup, we now
have CONFIG_SYS_NAND_SELF_INIT that allows splitting up
nand_scan_ident() from nand_scan_tail().

>>> +Nvidia NAND Controller
>>> +----------------------
>>> +
>>> +The device node for a NAND flash controller is as follows:
>>> +
>>> +Optional properties:
>>> +
>>> +nvidia,wp-gpios : GPIO of write-protect line, three cells in the format:
>>> +             phandle, parameter, flags
>>
>> Doesn't the number of cells depend on the GPIO controller binding?
> 
> Yes, but this is the binding Tegra uses.

Still, it doesn't belong in the NAND binding.  Maybe a future chip wants
to use this NAND binding but a different GPIO binding.  If nothing else,
people tend to copy-and-paste such descriptions.  We've still got people
adding bindings for Freescale devices saying interrupts are encoded as a
pair of cells, even though the interrupt controller now uses four cells
per interrupt.

-Scott

  reply	other threads:[~2012-04-17 20:31 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-17 18:50 [U-Boot] [PATCH v3 0/7] tegra: Add NAND flash support Simon Glass
2012-04-17 18:50 ` [U-Boot] [PATCH v3 1/7] nand: Try to align the default buffers Simon Glass
2012-04-17 18:50 ` [PATCH v3 2/7] fdt: Add debugging to fdtdec_get_int/addr() Simon Glass
2012-04-17 18:50   ` [U-Boot] " Simon Glass
2012-04-17 18:50 ` [U-Boot] [PATCH v3 3/7] tegra: Add NAND support to funcmux Simon Glass
2012-04-17 18:50 ` [PATCH v3 4/7] tegra: fdt: Add NAND controller binding and definitions Simon Glass
2012-04-17 18:50   ` [U-Boot] " Simon Glass
2012-04-17 19:06   ` Scott Wood
2012-04-17 19:06     ` [U-Boot] " Scott Wood
2012-04-17 20:18     ` Simon Glass
2012-04-17 20:18       ` [U-Boot] " Simon Glass
2012-04-17 20:31       ` Scott Wood [this message]
2012-04-17 20:31         ` Scott Wood
2012-04-17 20:36         ` Simon Glass
2012-04-17 20:36           ` [U-Boot] " Simon Glass
2012-04-17 20:49           ` Scott Wood
2012-04-17 20:49             ` [U-Boot] " Scott Wood
     [not found] ` <1334688614-4977-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-04-17 18:50   ` [PATCH v3 5/7] tegra: fdt: Add NAND definitions to fdt Simon Glass
2012-04-17 18:50     ` [U-Boot] " Simon Glass
2012-04-17 18:50 ` [U-Boot] [PATCH v3 6/7] tegra: nand: Add Tegra NAND driver Simon Glass
2012-04-25 22:17   ` Scott Wood
     [not found]     ` <4B9C9637D5087840A465BDCB251780E9E2D5582388@HKMAIL02.nvidia.com>
2012-05-21 15:47       ` Scott Wood
2012-05-22 20:04         ` Simon Glass
2012-05-22 20:06           ` Scott Wood
2012-05-22 20:24             ` Simon Glass
2012-05-22 20:29             ` Scott Wood
     [not found]     ` <4B9C9637D5087840A465BDCB251780E9E2D6EDA3FA@HKMAIL02.nvidia.com>
2012-07-06  1:28       ` Scott Wood
2012-07-06 15:40         ` Stephen Warren
2012-04-17 18:50 ` [U-Boot] [PATCH v3 7/7] tegra: Enable NAND on Seaboard Simon Glass
2012-04-26 10:50 ` [U-Boot] [PATCH v3 0/7] tegra: Add NAND flash support Thierry Reding
2012-04-26 15:13   ` Stephen Warren
2012-04-26 18:32     ` Thierry Reding
2012-04-26 19:20       ` Stephen Warren
2012-04-27  5:10         ` Thierry Reding
2012-04-27 15:37           ` Stephen Warren
2012-04-28 11:39             ` Thierry Reding

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=4F8DD31D.3040304@freescale.com \
    --to=scottwood@freescale.com \
    --cc=Devicetree@theia.denx.de \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=jilin@nvidia.com \
    --cc=sjg@chromium.org \
    --cc=twarren@nvidia.com \
    --cc=u-boot@lists.denx.de \
    --cc=vanbaren@cideas.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.