From: Boris BREZILLON <b.brezillon.dev@gmail.com>
To: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: devicetree@vger.kernel.org, Russell King <linux@arm.linux.org.uk>,
Arnd Bergmann <arnd@arndb.de>,
linux-doc@vger.kernel.org, dev@linux-sunxi.org,
linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org,
Rob Landley <rob@landley.net>,
Grant Likely <grant.likely@linaro.org>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Brian Norris <computersforpeace@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH v2 08/14] mtd: nand: add sunxi NAND flash controller support
Date: Wed, 29 Jan 2014 20:02:52 +0100 [thread overview]
Message-ID: <52E9505C.8080001@gmail.com> (raw)
In-Reply-To: <20140129175641.GF1427@obsidianresearch.com>
Le 29/01/2014 18:56, Jason Gunthorpe a écrit :
> On Wed, Jan 29, 2014 at 03:34:18PM +0100, Boris BREZILLON wrote:
>
>> +static int sunxi_nand_chip_init_timings(struct sunxi_nand_chip *chip,
>> + struct device_node *np)
>> +{
>> + const struct nand_sdr_timings *timings;
>> + u32 min_clk_period = 0;
>> + int ret;
>> +
>> + ret = onfi_get_async_timing_mode(&chip->nand);
>> + if (ret == ONFI_TIMING_MODE_UNKNOWN) {
>> + ret = of_get_nand_onfi_timing_mode(np);
>> + if (ret < 0)
>> + return ret;
>> + }
> [..]
>
>> +static int sunxi_nand_chip_init(struct device *dev, struct sunxi_nfc *nfc,
> [..]
>> + ret = sunxi_nand_chip_init_timings(chip, np);
>> + if (ret)
>> + return ret;
> [..]
>> + ret = nand_scan_ident(mtd, nsels, NULL);
> This ordering looks a bit problematic, will onfi_get_async_timing_mode
> ever return anything other than ONFI_TIMING_MODE_UNKNOWN if it is
> called before nand_scan_ident ?
Indeed. I haven't tested this part as I don't own any board with an ONFI
compatible chip.
> What sets clk_rate to non-zero if there
> is no DT property?
It is set to 20 MHz by default, but it should definitely be set to the
rate fulfilling mode 0.
I'll fix this.
>
> For a flow that uses onfi_get_async_timing_mode rather than DT the
> driver should set the interface to timing mode 0 (slowest) and then
> call nand_scan_ident, and then reset the interface to the detected
> timing mode.
Absolutely.
>
> Maybe this should be implemented in the core code through a new
> callback (nand->set_timing_mode ?)
>
> Regards,
> Jason
WARNING: multiple messages have this Message-ID (diff)
From: b.brezillon.dev@gmail.com (Boris BREZILLON)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 08/14] mtd: nand: add sunxi NAND flash controller support
Date: Wed, 29 Jan 2014 20:02:52 +0100 [thread overview]
Message-ID: <52E9505C.8080001@gmail.com> (raw)
In-Reply-To: <20140129175641.GF1427@obsidianresearch.com>
Le 29/01/2014 18:56, Jason Gunthorpe a ?crit :
> On Wed, Jan 29, 2014 at 03:34:18PM +0100, Boris BREZILLON wrote:
>
>> +static int sunxi_nand_chip_init_timings(struct sunxi_nand_chip *chip,
>> + struct device_node *np)
>> +{
>> + const struct nand_sdr_timings *timings;
>> + u32 min_clk_period = 0;
>> + int ret;
>> +
>> + ret = onfi_get_async_timing_mode(&chip->nand);
>> + if (ret == ONFI_TIMING_MODE_UNKNOWN) {
>> + ret = of_get_nand_onfi_timing_mode(np);
>> + if (ret < 0)
>> + return ret;
>> + }
> [..]
>
>> +static int sunxi_nand_chip_init(struct device *dev, struct sunxi_nfc *nfc,
> [..]
>> + ret = sunxi_nand_chip_init_timings(chip, np);
>> + if (ret)
>> + return ret;
> [..]
>> + ret = nand_scan_ident(mtd, nsels, NULL);
> This ordering looks a bit problematic, will onfi_get_async_timing_mode
> ever return anything other than ONFI_TIMING_MODE_UNKNOWN if it is
> called before nand_scan_ident ?
Indeed. I haven't tested this part as I don't own any board with an ONFI
compatible chip.
> What sets clk_rate to non-zero if there
> is no DT property?
It is set to 20 MHz by default, but it should definitely be set to the
rate fulfilling mode 0.
I'll fix this.
>
> For a flow that uses onfi_get_async_timing_mode rather than DT the
> driver should set the interface to timing mode 0 (slowest) and then
> call nand_scan_ident, and then reset the interface to the detected
> timing mode.
Absolutely.
>
> Maybe this should be implemented in the core code through a new
> callback (nand->set_timing_mode ?)
>
> Regards,
> Jason
WARNING: multiple messages have this Message-ID (diff)
From: Boris BREZILLON <b.brezillon.dev@gmail.com>
To: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>,
Rob Landley <rob@landley.net>,
Russell King <linux@arm.linux.org.uk>,
David Woodhouse <dwmw2@infradead.org>,
Grant Likely <grant.likely@linaro.org>,
Brian Norris <computersforpeace@gmail.com>,
Arnd Bergmann <arnd@arndb.de>,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mtd@lists.infradead.org, dev@linux-sunxi.org
Subject: Re: [RFC PATCH v2 08/14] mtd: nand: add sunxi NAND flash controller support
Date: Wed, 29 Jan 2014 20:02:52 +0100 [thread overview]
Message-ID: <52E9505C.8080001@gmail.com> (raw)
In-Reply-To: <20140129175641.GF1427@obsidianresearch.com>
Le 29/01/2014 18:56, Jason Gunthorpe a écrit :
> On Wed, Jan 29, 2014 at 03:34:18PM +0100, Boris BREZILLON wrote:
>
>> +static int sunxi_nand_chip_init_timings(struct sunxi_nand_chip *chip,
>> + struct device_node *np)
>> +{
>> + const struct nand_sdr_timings *timings;
>> + u32 min_clk_period = 0;
>> + int ret;
>> +
>> + ret = onfi_get_async_timing_mode(&chip->nand);
>> + if (ret == ONFI_TIMING_MODE_UNKNOWN) {
>> + ret = of_get_nand_onfi_timing_mode(np);
>> + if (ret < 0)
>> + return ret;
>> + }
> [..]
>
>> +static int sunxi_nand_chip_init(struct device *dev, struct sunxi_nfc *nfc,
> [..]
>> + ret = sunxi_nand_chip_init_timings(chip, np);
>> + if (ret)
>> + return ret;
> [..]
>> + ret = nand_scan_ident(mtd, nsels, NULL);
> This ordering looks a bit problematic, will onfi_get_async_timing_mode
> ever return anything other than ONFI_TIMING_MODE_UNKNOWN if it is
> called before nand_scan_ident ?
Indeed. I haven't tested this part as I don't own any board with an ONFI
compatible chip.
> What sets clk_rate to non-zero if there
> is no DT property?
It is set to 20 MHz by default, but it should definitely be set to the
rate fulfilling mode 0.
I'll fix this.
>
> For a flow that uses onfi_get_async_timing_mode rather than DT the
> driver should set the interface to timing mode 0 (slowest) and then
> call nand_scan_ident, and then reset the interface to the detected
> timing mode.
Absolutely.
>
> Maybe this should be implemented in the core code through a new
> callback (nand->set_timing_mode ?)
>
> Regards,
> Jason
next prev parent reply other threads:[~2014-01-29 19:02 UTC|newest]
Thread overview: 179+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-29 14:34 [RFC PATCH v2 00/14] mtd: nand: add sunxi NAND Flash Controller support Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
[not found] ` < 1391006064-28890-4-git-send-email-b.brezillon.dev@gmail.com>
2014-01-29 14:34 ` [RFC PATCH v2 01/14] mtd: nand: retrieve ECC requirements from Hynix READ ID byte 4 Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 02/14] of: mtd: add NAND ECC level requirements retrieval Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 03/14] of: mtd: add documentation for nand-ecc-level property Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 17:53 ` Ezequiel Garcia
2014-01-29 17:53 ` Ezequiel Garcia
2014-01-29 17:53 ` Ezequiel Garcia
2014-01-29 18:39 ` Boris BREZILLON
2014-01-29 18:39 ` Boris BREZILLON
2014-01-29 18:39 ` Boris BREZILLON
2014-02-05 11:15 ` Grant Likely
2014-02-05 11:15 ` Grant Likely
2014-02-05 11:15 ` Grant Likely
2014-02-05 13:34 ` Boris BREZILLON
2014-02-05 13:34 ` Boris BREZILLON
2014-02-05 13:34 ` Boris BREZILLON
2014-02-05 13:34 ` Boris BREZILLON
2014-02-05 14:19 ` Ezequiel Garcia
2014-02-05 14:19 ` Ezequiel Garcia
2014-02-05 14:19 ` Ezequiel Garcia
2014-02-17 16:43 ` Grant Likely
2014-02-17 16:43 ` Grant Likely
2014-02-17 16:43 ` Grant Likely
2014-02-17 18:19 ` Ezequiel Garcia
2014-02-17 18:19 ` Ezequiel Garcia
2014-02-17 18:19 ` Ezequiel Garcia
2014-01-29 14:34 ` [RFC PATCH v2 04/14] mtd: nand: define struct nand_timings Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-03-10 13:44 ` Boris BREZILLON
2014-03-10 13:44 ` Boris BREZILLON
2014-03-10 13:44 ` Boris BREZILLON
2014-03-11 18:55 ` Jason Gunthorpe
2014-03-11 18:55 ` Jason Gunthorpe
2014-03-11 18:55 ` Jason Gunthorpe
2014-03-12 16:46 ` Boris BREZILLON
2014-03-12 16:46 ` Boris BREZILLON
2014-03-12 16:46 ` Boris BREZILLON
2014-03-12 16:46 ` Boris BREZILLON
2014-03-12 19:07 ` Jason Gunthorpe
2014-03-12 19:07 ` Jason Gunthorpe
2014-03-12 19:07 ` Jason Gunthorpe
2014-03-12 20:18 ` Warner Losh
2014-03-12 20:18 ` Warner Losh
2014-03-12 20:18 ` Warner Losh
2014-01-29 14:34 ` [RFC PATCH v2 05/14] mtd: nand: add ONFI timing mode to nand_timings converter Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 06/14] of: mtd: add NAND timing mode retrieval support Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 07/14] of: mtd: add documentation for the ONFI NAND timing mode property Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 08/14] mtd: nand: add sunxi NAND flash controller support Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 17:56 ` Jason Gunthorpe
2014-01-29 17:56 ` Jason Gunthorpe
2014-01-29 17:56 ` Jason Gunthorpe
2014-01-29 18:46 ` Ezequiel Garcia
2014-01-29 18:46 ` Ezequiel Garcia
2014-01-29 18:46 ` Ezequiel Garcia
2014-01-29 18:46 ` Ezequiel Garcia
2014-01-29 19:10 ` Jason Gunthorpe
2014-01-29 19:10 ` Jason Gunthorpe
2014-01-29 19:10 ` Jason Gunthorpe
2014-01-29 19:10 ` Jason Gunthorpe
2014-01-30 8:57 ` [linux-sunxi] " Boris BREZILLON
2014-01-30 8:57 ` Boris BREZILLON
2014-01-30 8:57 ` [linux-sunxi] " Boris BREZILLON
2014-03-10 11:17 ` Boris BREZILLON
2014-03-10 11:17 ` Boris BREZILLON
2014-03-10 11:17 ` Boris BREZILLON
2014-03-10 11:17 ` [linux-sunxi] " Boris BREZILLON
2014-03-10 11:37 ` Lucas Stach
2014-03-10 11:37 ` Lucas Stach
2014-03-10 11:37 ` Lucas Stach
2014-03-10 11:37 ` Lucas Stach
2014-03-11 18:45 ` Jason Gunthorpe
2014-03-11 18:45 ` Jason Gunthorpe
2014-03-11 18:45 ` Jason Gunthorpe
2014-03-11 18:45 ` [linux-sunxi] " Jason Gunthorpe
2014-01-29 19:02 ` Boris BREZILLON [this message]
2014-01-29 19:02 ` Boris BREZILLON
2014-01-29 19:02 ` Boris BREZILLON
2014-01-30 11:22 ` Boris BREZILLON
2014-01-30 11:22 ` Boris BREZILLON
2014-01-30 11:22 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 09/14] mtd: nand: add sunxi NFC dt bindings doc Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 17:11 ` Rob Herring
2014-01-29 17:11 ` Rob Herring
2014-01-29 17:11 ` Rob Herring
2014-01-29 17:11 ` Rob Herring
2014-01-29 17:12 ` Rob Herring
2014-01-29 17:12 ` Rob Herring
2014-01-29 17:12 ` Rob Herring
2014-01-29 17:12 ` Rob Herring
2014-01-29 18:01 ` Boris BREZILLON
2014-01-29 18:01 ` Boris BREZILLON
2014-01-29 18:01 ` Boris BREZILLON
2014-01-29 18:02 ` Gupta, Pekon
2014-01-29 18:02 ` Gupta, Pekon
2014-01-29 18:02 ` Gupta, Pekon
[not found] ` <20980858CB6D3A4BAE95CA194937D5E73EA6C01D-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2014-01-29 18:30 ` Boris BREZILLON
2014-01-29 18:33 ` Boris BREZILLON
2014-01-29 18:33 ` Boris BREZILLON
2014-01-29 18:36 ` Gupta, Pekon
2014-01-29 18:36 ` Gupta, Pekon
2014-01-29 18:36 ` Gupta, Pekon
2014-01-29 22:37 ` [linux-sunxi] " Henrik Nordström
2014-01-29 22:37 ` Henrik Nordström
2014-01-29 22:37 ` Henrik Nordström
2014-01-29 22:37 ` [linux-sunxi] " Henrik Nordström
2014-01-30 8:38 ` boris brezillon dev
2014-01-30 8:38 ` boris brezillon dev
2014-01-30 8:38 ` boris brezillon dev
2014-01-30 8:38 ` [linux-sunxi] " boris brezillon dev
2014-01-30 8:46 ` boris brezillon dev
2014-01-30 8:46 ` boris brezillon dev
2014-01-30 8:46 ` boris brezillon dev
2014-01-30 8:46 ` [linux-sunxi] " boris brezillon dev
2014-01-29 14:34 ` [RFC PATCH v2 10/14] ARM: dt/sunxi: add NFC node to Allwinner A20 SoC Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 11/14] ARM: dt/sunxi: add NFC pinctrl pin definitions Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 12/14] ARM: sunxi/dt: enable NAND on cubietruck board Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 13/14] mtd: nand: add sunxi HW ECC support Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` [RFC PATCH v2 14/14] ARM: sunxi/dt: enable HW ECC on cubietruck board Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-29 14:34 ` Boris BREZILLON
2014-01-30 13:39 ` [RFC PATCH pre-v3 08/14] mtd: nand: add sunxi NAND flash controller support Boris BREZILLON
2014-01-30 13:39 ` Boris BREZILLON
2014-01-30 13:39 ` Boris BREZILLON
2014-01-30 13:39 ` Boris BREZILLON
2014-01-30 14:36 ` Russell King - ARM Linux
2014-01-30 14:36 ` Russell King - ARM Linux
2014-01-30 14:36 ` Russell King - ARM Linux
2014-01-30 15:04 ` Boris BREZILLON
2014-01-30 15:04 ` Boris BREZILLON
2014-01-30 15:04 ` Boris BREZILLON
2014-01-30 15:04 ` Boris BREZILLON
2014-01-30 13:41 ` [RFC PATCH pre-v3 13/14] mtd: nand: add sunxi HW ECC support Boris BREZILLON
2014-01-30 13:41 ` Boris BREZILLON
2014-01-30 13:41 ` Boris BREZILLON
2014-01-30 13:41 ` Boris BREZILLON
2014-01-30 13:46 ` [RFC PATCH pre-v3 07/14] of: mtd: add documentation for the ONFI NAND timing mode property Boris BREZILLON
2014-01-30 13:46 ` Boris BREZILLON
2014-01-30 13:46 ` Boris BREZILLON
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=52E9505C.8080001@gmail.com \
--to=b.brezillon.dev@gmail.com \
--cc=arnd@arndb.de \
--cc=computersforpeace@gmail.com \
--cc=dev@linux-sunxi.org \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=grant.likely@linaro.org \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=maxime.ripard@free-electrons.com \
--cc=rob@landley.net \
/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.