From: Marek Vasut <marex@denx.de>
To: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: linux-mtd@lists.infradead.org,
Graham Moore <grmoore@opensource.altera.com>,
Alan Tull <atull@opensource.altera.com>,
Brian Norris <computersforpeace@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
"R, Vignesh" <vigneshr@ti.com>,
"Yves Vandervennet" <yvanderv@opensource.altera.com>,
devicetree@vger.kernel.org
Subject: Re: [PATCH V10 2/2] mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller.
Date: Mon, 11 Jan 2016 17:32:42 +0100 [thread overview]
Message-ID: <201601111732.42507.marex@denx.de> (raw)
In-Reply-To: <5693D3B4.2090304@opensource.altera.com>
On Monday, January 11, 2016 at 05:09:24 PM, Dinh Nguyen wrote:
> On 01/10/2016 10:34 PM, Marek Vasut wrote:
> > From: Graham Moore <grmoore@opensource.altera.com>
> >
> > Add support for the Cadence QSPI controller. This controller is
> > present in the Altera SoCFPGA SoCs and this driver has been tested
> > on the Cyclone V SoC.
> >
> > Signed-off-by: Graham Moore <grmoore@opensource.altera.com>
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Alan Tull <atull@opensource.altera.com>
> > Cc: Brian Norris <computersforpeace@gmail.com>
> > Cc: David Woodhouse <dwmw2@infradead.org>
> > Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
> > Cc: Graham Moore <grmoore@opensource.altera.com>
> > Cc: "R, Vignesh" <vigneshr@ti.com>
> > Cc: Yves Vandervennet <yvanderv@opensource.altera.com>
> > Cc: devicetree@vger.kernel.org
> > ---
> >
> > drivers/mtd/spi-nor/Kconfig | 11 +
> > drivers/mtd/spi-nor/Makefile | 1 +
> > drivers/mtd/spi-nor/cadence-quadspi.c | 1280
> > +++++++++++++++++++++++++++++++++ 3 files changed, 1292 insertions(+)
> > create mode 100644 drivers/mtd/spi-nor/cadence-quadspi.c
> >
> > V2: use NULL instead of modalias in spi_nor_scan call
> > V3: Use existing property is-decoded-cs instead of creating duplicate.
> > V4: Support Micron quad mode by snooping command stream for EVCR command
> >
> > and subsequently configuring Cadence controller for quad mode.
> >
> > V5: Clean up sparse and smatch complaints. Remove snooping of Micron
> >
> > quad mode. Add comment on XIP mode bit and dummy clock cycles. Set
> > up SRAM partition at 1:1 during init.
> >
> > V6: Remove dts patch that was included by mistake. Incorporate Vikas's
> >
> > comments regarding fifo width, SRAM partition setting, and trigger
> > address. Trigger address was added as an unsigned int, as it is not
> > an IO resource per se, and does not need to be mapped. Also add
> > Marek Vasut's workaround for picking up OF properties on subnodes.
> >
> > V7: - Perform coding-style cleanup and type fixes. Remove ugly QSPI_*()
> >
> > macros and replace them with functions. Get rid of unused
> > variables.
> >
> > - Implement support for nor->set_protocol() to handle Quad-command,
> >
> > this patch now depends on the following patch:
> > mtd: spi-nor: notify (Q)SPI controller about protocol change
> >
> > - Replace that cqspi_fifo_read() disaster with plain old readsl()
> >
> > and cqspi_fifo_write() tentacle horror with pretty writesl().
> >
> > - Remove CQSPI_SUPPORT_XIP_CHIPS, which is broken.
> > - Get rid of cqspi_find_chipselect() mess, instead just place the
> >
> > struct cqspi_st and chipselect number into struct cqspi_flash_pdata
> > and set nor->priv to the struct cqspi_flash_pdata of that
> > particular chip.
> >
> > - Replace the odd math in calculate_ticks_for_ns() with
> > DIV_ROUND_UP(). - Make variables const where applicable.
> >
> > V8: - Implement a function to wait for bit being set/unset for a given
> >
> > period of time and use it to replace the ad-hoc bits of code.
> >
> > - Configure the write underflow watermark to be 1/8 if FIFO size.
> > - Extract out the SPI NOR flash probing code into separate function
> >
> > to clearly mark what will soon be considered a boilerplate code.
> >
> > - Repair the handling of mode bits, which caused instability in V7.
> > - Clean up the interrupt handling
> > - Fix Kconfig help text and make the patch depend on OF and
> > COMPILE_TEST.
> >
> > V9: - Rename CQSPI_REG_IRQ_IND_RD_OVERFLOW to CQSPI_REG_IRQ_IND_SRAM_FULL
> >
> > - Merge cqspi_controller_disable() into cqspi_controller_enable() and
> >
> > make the mode selectable via parameter.
> >
> > V10: - Update against Cyrille's new patchset and changes to linux-mtd.
> >
> > - Repair problem with multiple QSPI NOR devices having the same
> > mtd->name,
> >
> > they are now named devname.cs , where cs is the chipselect ID.
> >
> > diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
> > index 43bafde..7e29050 100644
> > --- a/drivers/mtd/spi-nor/Kconfig
> > +++ b/drivers/mtd/spi-nor/Kconfig
> > @@ -50,4 +50,15 @@ config SPI_NXP_SPIFI
> >
> > Flash. Enable this option if you have a device with a SPIFI
> > controller and want to access the Flash as a mtd device.
> >
> > +config SPI_CADENCE_QUADSPI
> > + tristate "Cadence Quad SPI controller"
> > + depends on OF && (ARCH_SOCFPGA || COMPILE_TEST)
>
> I think you can remove the ARCH_SOCFPGA dependency as this driver is
> used on a TI EVM as well.
Yeah, that's a good point, thanks!
Best regards,
Marek Vasut
WARNING: multiple messages have this Message-ID (diff)
From: Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>
To: Dinh Nguyen <dinguyen-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Graham Moore
<grmoore-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>,
Alan Tull
<atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>,
Brian Norris
<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
"R, Vignesh" <vigneshr-l0cyMroinI0@public.gmane.org>,
Yves Vandervennet
<yvanderv-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH V10 2/2] mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller.
Date: Mon, 11 Jan 2016 17:32:42 +0100 [thread overview]
Message-ID: <201601111732.42507.marex@denx.de> (raw)
In-Reply-To: <5693D3B4.2090304-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
On Monday, January 11, 2016 at 05:09:24 PM, Dinh Nguyen wrote:
> On 01/10/2016 10:34 PM, Marek Vasut wrote:
> > From: Graham Moore <grmoore-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
> >
> > Add support for the Cadence QSPI controller. This controller is
> > present in the Altera SoCFPGA SoCs and this driver has been tested
> > on the Cyclone V SoC.
> >
> > Signed-off-by: Graham Moore <grmoore-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
> > Signed-off-by: Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>
> > Cc: Alan Tull <atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
> > Cc: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> > Cc: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
> > Cc: Dinh Nguyen <dinguyen-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
> > Cc: Graham Moore <grmoore-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
> > Cc: "R, Vignesh" <vigneshr-l0cyMroinI0@public.gmane.org>
> > Cc: Yves Vandervennet <yvanderv-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org>
> > Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > ---
> >
> > drivers/mtd/spi-nor/Kconfig | 11 +
> > drivers/mtd/spi-nor/Makefile | 1 +
> > drivers/mtd/spi-nor/cadence-quadspi.c | 1280
> > +++++++++++++++++++++++++++++++++ 3 files changed, 1292 insertions(+)
> > create mode 100644 drivers/mtd/spi-nor/cadence-quadspi.c
> >
> > V2: use NULL instead of modalias in spi_nor_scan call
> > V3: Use existing property is-decoded-cs instead of creating duplicate.
> > V4: Support Micron quad mode by snooping command stream for EVCR command
> >
> > and subsequently configuring Cadence controller for quad mode.
> >
> > V5: Clean up sparse and smatch complaints. Remove snooping of Micron
> >
> > quad mode. Add comment on XIP mode bit and dummy clock cycles. Set
> > up SRAM partition at 1:1 during init.
> >
> > V6: Remove dts patch that was included by mistake. Incorporate Vikas's
> >
> > comments regarding fifo width, SRAM partition setting, and trigger
> > address. Trigger address was added as an unsigned int, as it is not
> > an IO resource per se, and does not need to be mapped. Also add
> > Marek Vasut's workaround for picking up OF properties on subnodes.
> >
> > V7: - Perform coding-style cleanup and type fixes. Remove ugly QSPI_*()
> >
> > macros and replace them with functions. Get rid of unused
> > variables.
> >
> > - Implement support for nor->set_protocol() to handle Quad-command,
> >
> > this patch now depends on the following patch:
> > mtd: spi-nor: notify (Q)SPI controller about protocol change
> >
> > - Replace that cqspi_fifo_read() disaster with plain old readsl()
> >
> > and cqspi_fifo_write() tentacle horror with pretty writesl().
> >
> > - Remove CQSPI_SUPPORT_XIP_CHIPS, which is broken.
> > - Get rid of cqspi_find_chipselect() mess, instead just place the
> >
> > struct cqspi_st and chipselect number into struct cqspi_flash_pdata
> > and set nor->priv to the struct cqspi_flash_pdata of that
> > particular chip.
> >
> > - Replace the odd math in calculate_ticks_for_ns() with
> > DIV_ROUND_UP(). - Make variables const where applicable.
> >
> > V8: - Implement a function to wait for bit being set/unset for a given
> >
> > period of time and use it to replace the ad-hoc bits of code.
> >
> > - Configure the write underflow watermark to be 1/8 if FIFO size.
> > - Extract out the SPI NOR flash probing code into separate function
> >
> > to clearly mark what will soon be considered a boilerplate code.
> >
> > - Repair the handling of mode bits, which caused instability in V7.
> > - Clean up the interrupt handling
> > - Fix Kconfig help text and make the patch depend on OF and
> > COMPILE_TEST.
> >
> > V9: - Rename CQSPI_REG_IRQ_IND_RD_OVERFLOW to CQSPI_REG_IRQ_IND_SRAM_FULL
> >
> > - Merge cqspi_controller_disable() into cqspi_controller_enable() and
> >
> > make the mode selectable via parameter.
> >
> > V10: - Update against Cyrille's new patchset and changes to linux-mtd.
> >
> > - Repair problem with multiple QSPI NOR devices having the same
> > mtd->name,
> >
> > they are now named devname.cs , where cs is the chipselect ID.
> >
> > diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
> > index 43bafde..7e29050 100644
> > --- a/drivers/mtd/spi-nor/Kconfig
> > +++ b/drivers/mtd/spi-nor/Kconfig
> > @@ -50,4 +50,15 @@ config SPI_NXP_SPIFI
> >
> > Flash. Enable this option if you have a device with a SPIFI
> > controller and want to access the Flash as a mtd device.
> >
> > +config SPI_CADENCE_QUADSPI
> > + tristate "Cadence Quad SPI controller"
> > + depends on OF && (ARCH_SOCFPGA || COMPILE_TEST)
>
> I think you can remove the ARCH_SOCFPGA dependency as this driver is
> used on a TI EVM as well.
Yeah, that's a good point, thanks!
Best regards,
Marek Vasut
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-01-11 17:04 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-11 4:34 [PATCH V8 1/2] mtd: spi-nor: Bindings for Cadence Quad SPI Flash Controller driver Marek Vasut
2016-01-11 4:34 ` Marek Vasut
2016-01-11 4:34 ` [PATCH V10 2/2] mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller Marek Vasut
2016-01-11 4:34 ` Marek Vasut
2016-01-11 16:09 ` Dinh Nguyen
2016-01-11 16:09 ` Dinh Nguyen
2016-01-11 16:32 ` Marek Vasut [this message]
2016-01-11 16:32 ` Marek Vasut
2016-01-12 4:41 ` Vignesh R
2016-01-12 4:41 ` Vignesh R
2016-01-12 13:49 ` Marek Vasut
2016-01-12 13:49 ` Marek Vasut
2016-04-06 16:55 ` R, Vignesh
2016-04-06 16:55 ` R, Vignesh
2016-04-06 19:30 ` Marek Vasut
2016-04-06 19:30 ` Marek Vasut
2016-04-07 4:55 ` Vignesh R
2016-04-07 4:55 ` Vignesh R
2016-04-13 10:27 ` Marek Vasut
2016-04-13 10:27 ` Marek Vasut
2016-04-13 15:06 ` Marek Vasut
2016-04-13 15:06 ` Marek Vasut
2016-04-14 16:41 ` R, Vignesh
2016-04-14 16:41 ` R, Vignesh
2016-04-14 17:46 ` Marek Vasut
2016-04-14 17:46 ` Marek Vasut
2016-05-13 0:00 ` Trent Piepho
2016-05-13 0:00 ` Trent Piepho
2016-05-13 0:24 ` Marek Vasut
2016-05-13 0:24 ` Marek Vasut
2016-05-13 20:43 ` Trent Piepho
2016-05-13 20:43 ` Trent Piepho
2016-05-25 23:08 ` Marek Vasut
2016-05-25 23:08 ` Marek Vasut
2016-05-25 23:02 ` Marek Vasut
2016-05-25 23:02 ` Marek Vasut
2016-01-11 16:06 ` [PATCH V8 1/2] mtd: spi-nor: Bindings for Cadence Quad SPI Flash Controller driver Dinh Nguyen
2016-01-11 16:06 ` Dinh Nguyen
2016-01-11 16:32 ` Marek Vasut
2016-01-11 16:32 ` Marek Vasut
2016-01-11 17:03 ` Dinh Nguyen
2016-01-11 17:03 ` Dinh Nguyen
2016-01-11 17:27 ` Marek Vasut
2016-01-11 17:27 ` Marek Vasut
2016-01-13 2:26 ` Rob Herring
2016-01-13 2:26 ` Rob Herring
2016-01-13 2:39 ` Marek Vasut
2016-01-13 2:39 ` Marek Vasut
2016-02-01 21:03 ` Brian Norris
2016-02-01 21:03 ` Brian Norris
2016-02-01 21:13 ` Marek Vasut
2016-02-01 21:13 ` Marek Vasut
2016-02-04 7:38 ` Vignesh R
2016-02-04 7:38 ` Vignesh R
2016-02-04 11:25 ` Marek Vasut
2016-02-04 11:25 ` Marek Vasut
2016-02-04 17:04 ` Dinh Nguyen
2016-02-04 17:04 ` Dinh Nguyen
2016-02-06 7:42 ` Marek Vasut
2016-02-06 7:42 ` Marek Vasut
2016-02-04 17:30 ` R, Vignesh
2016-02-04 17:30 ` R, Vignesh
2016-02-06 7:42 ` Marek Vasut
2016-02-06 7:42 ` Marek Vasut
2016-02-08 11:19 ` Vignesh R
2016-02-08 11:19 ` Vignesh R
2016-02-08 15:27 ` Marek Vasut
2016-02-08 15:27 ` Marek Vasut
2016-02-10 16:10 ` Graham Moore
2016-02-10 16:10 ` Graham Moore
2016-02-10 16:17 ` Marek Vasut
2016-02-10 16:17 ` Marek Vasut
2016-03-10 20:55 ` Graham Moore
2016-03-10 20:55 ` Graham Moore
2016-03-10 21:10 ` Marek Vasut
2016-03-10 21:10 ` Marek Vasut
2016-03-14 18:17 ` Graham Moore
2016-03-14 18:17 ` Graham Moore
2016-03-14 22:47 ` Marek Vasut
2016-03-14 22:47 ` Marek Vasut
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=201601111732.42507.marex@denx.de \
--to=marex@denx.de \
--cc=atull@opensource.altera.com \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dinguyen@opensource.altera.com \
--cc=dwmw2@infradead.org \
--cc=grmoore@opensource.altera.com \
--cc=linux-mtd@lists.infradead.org \
--cc=vigneshr@ti.com \
--cc=yvanderv@opensource.altera.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.