From: Marek Vasut <marex@denx.de>
To: Sourav Poddar <sourav.poddar@ti.com>
Cc: devicetree@vger.kernel.org, linux-omap@vger.kernel.org,
balbi@ti.com, linux-spi@vger.kernel.org, broonie@kernel.org,
linux-mtd@lists.infradead.org, bcousson@baylibre.com,
computersforpeace@gmail.com, dwmw2@infradead.org
Subject: Re: [PATCHv2 03/10] spi/qspi: Add support to switc to memory mapped operation.
Date: Tue, 10 Dec 2013 13:54:43 +0100 [thread overview]
Message-ID: <201312101354.43674.marex@denx.de> (raw)
In-Reply-To: <1386339891-32717-4-git-send-email-sourav.poddar@ti.com>
On Friday, December 06, 2013 at 03:24:44 PM, Sourav Poddar wrote:
> These add apis that can be used to switch to memory mapped operatons
> by configuring control module and qspi registers.
> It also add "master->mmap" property to show that qspi
> supports memory mapped operation.
Please fix the 'switc' in the subject, should be 'switch' :)
> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
> ---
> v1->v2:
> Squash a patch to add mater->mmap here itself.
> drivers/spi/spi-ti-qspi.c | 29 +++++++++++++++++++++++++++++
> 1 files changed, 29 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
> index a0cee08..48294d1 100644
> --- a/drivers/spi/spi-ti-qspi.c
> +++ b/drivers/spi/spi-ti-qspi.c
> @@ -113,6 +113,10 @@ struct ti_qspi {
> #define QSPI_CSPOL(n) (1 << (1 + n * 8))
> #define QSPI_CKPOL(n) (1 << (n * 8))
>
> +#define MM_SWITCH (1 << 0)
> +#define MEM_CS (1 << 8)
> +#define MEM_CS_DIS (0 << 8)
You might want to be consistent here, I'd use MEM_CS_EN and MEM_CS_DIS. But
please see below first as MEM_CS_DIS won't be needed, so MEM_CS can be preserved
as is and MEM_CS_DIS removed altogether.
> +
> #define QSPI_FRAME 4096
>
> #define QSPI_AUTOSUSPEND_TIMEOUT 2000
> @@ -129,6 +133,30 @@ static inline void ti_qspi_write(struct ti_qspi *qspi,
> writel(val, qspi->base + reg);
> }
>
> +static void enable_qspi_memory_mapped(struct ti_qspi *qspi)
> +{
> + u32 val;
> +
> + ti_qspi_write(qspi, MM_SWITCH, QSPI_SPI_SWITCH_REG);
> + if (qspi->ctrl_mod) {
> + val = readl(qspi->ctrl_base);
> + val |= MEM_CS;
> + writel(val, qspi->ctrl_base);
> + }
> +}
> +
> +static void disable_qspi_memory_mapped(struct ti_qspi *qspi)
> +{
> + u32 val;
> +
> + ti_qspi_write(qspi, ~MM_SWITCH, QSPI_SPI_SWITCH_REG);
> + if (qspi->ctrl_mod) {
> + val = readl(qspi->ctrl_base);
> + val &= MEM_CS_DIS;
This will likely break once SWITCH_REG contains more than one bit, you can fix
this by using "val &= ~MEM_CS;" instead, which will also get rid of the
MEM_CS_DIS bit.
> + writel(val, qspi->ctrl_base);
> + }
> +}
> +
> static int ti_qspi_setup(struct spi_device *spi)
> {
> struct ti_qspi *qspi = spi_master_get_devdata(spi->master);
> @@ -459,6 +487,7 @@ static int ti_qspi_probe(struct platform_device *pdev)
> master->transfer_one_message = ti_qspi_start_transfer_one;
> master->dev.of_node = pdev->dev.of_node;
> master->bits_per_word_mask = BIT(32 - 1) | BIT(16 - 1) | BIT(8 - 1);
> + master->mmap = true;
>
> if (!of_property_read_u32(np, "num-cs", &num_cs))
> master->num_chipselect = num_cs;
Best regards,
Marek Vasut
WARNING: multiple messages have this Message-ID (diff)
From: Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>
To: Sourav Poddar <sourav.poddar-l0cyMroinI0@public.gmane.org>
Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org,
balbi-l0cyMroinI0@public.gmane.org
Subject: Re: [PATCHv2 03/10] spi/qspi: Add support to switc to memory mapped operation.
Date: Tue, 10 Dec 2013 13:54:43 +0100 [thread overview]
Message-ID: <201312101354.43674.marex@denx.de> (raw)
In-Reply-To: <1386339891-32717-4-git-send-email-sourav.poddar-l0cyMroinI0@public.gmane.org>
On Friday, December 06, 2013 at 03:24:44 PM, Sourav Poddar wrote:
> These add apis that can be used to switch to memory mapped operatons
> by configuring control module and qspi registers.
> It also add "master->mmap" property to show that qspi
> supports memory mapped operation.
Please fix the 'switc' in the subject, should be 'switch' :)
> Signed-off-by: Sourav Poddar <sourav.poddar-l0cyMroinI0@public.gmane.org>
> ---
> v1->v2:
> Squash a patch to add mater->mmap here itself.
> drivers/spi/spi-ti-qspi.c | 29 +++++++++++++++++++++++++++++
> 1 files changed, 29 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
> index a0cee08..48294d1 100644
> --- a/drivers/spi/spi-ti-qspi.c
> +++ b/drivers/spi/spi-ti-qspi.c
> @@ -113,6 +113,10 @@ struct ti_qspi {
> #define QSPI_CSPOL(n) (1 << (1 + n * 8))
> #define QSPI_CKPOL(n) (1 << (n * 8))
>
> +#define MM_SWITCH (1 << 0)
> +#define MEM_CS (1 << 8)
> +#define MEM_CS_DIS (0 << 8)
You might want to be consistent here, I'd use MEM_CS_EN and MEM_CS_DIS. But
please see below first as MEM_CS_DIS won't be needed, so MEM_CS can be preserved
as is and MEM_CS_DIS removed altogether.
> +
> #define QSPI_FRAME 4096
>
> #define QSPI_AUTOSUSPEND_TIMEOUT 2000
> @@ -129,6 +133,30 @@ static inline void ti_qspi_write(struct ti_qspi *qspi,
> writel(val, qspi->base + reg);
> }
>
> +static void enable_qspi_memory_mapped(struct ti_qspi *qspi)
> +{
> + u32 val;
> +
> + ti_qspi_write(qspi, MM_SWITCH, QSPI_SPI_SWITCH_REG);
> + if (qspi->ctrl_mod) {
> + val = readl(qspi->ctrl_base);
> + val |= MEM_CS;
> + writel(val, qspi->ctrl_base);
> + }
> +}
> +
> +static void disable_qspi_memory_mapped(struct ti_qspi *qspi)
> +{
> + u32 val;
> +
> + ti_qspi_write(qspi, ~MM_SWITCH, QSPI_SPI_SWITCH_REG);
> + if (qspi->ctrl_mod) {
> + val = readl(qspi->ctrl_base);
> + val &= MEM_CS_DIS;
This will likely break once SWITCH_REG contains more than one bit, you can fix
this by using "val &= ~MEM_CS;" instead, which will also get rid of the
MEM_CS_DIS bit.
> + writel(val, qspi->ctrl_base);
> + }
> +}
> +
> static int ti_qspi_setup(struct spi_device *spi)
> {
> struct ti_qspi *qspi = spi_master_get_devdata(spi->master);
> @@ -459,6 +487,7 @@ static int ti_qspi_probe(struct platform_device *pdev)
> master->transfer_one_message = ti_qspi_start_transfer_one;
> master->dev.of_node = pdev->dev.of_node;
> master->bits_per_word_mask = BIT(32 - 1) | BIT(16 - 1) | BIT(8 - 1);
> + master->mmap = true;
>
> if (!of_property_read_u32(np, "num-cs", &num_cs))
> master->num_chipselect = num_cs;
Best regards,
Marek Vasut
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" 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:[~2013-12-10 15:13 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-06 14:24 [PATCHv2 00/10] Add memory mapped support for ti qspi, m25p80 serial flash Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` [PATCHv2 01/10] spi/spi.h: Add get_buf/put_buf support in spi master Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-19 13:31 ` Mark Brown
2013-12-19 13:31 ` Mark Brown
2013-12-06 14:24 ` [PATCHv2 02/10] spi/qspi: parse register by name Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-19 13:34 ` Mark Brown
2013-12-19 13:34 ` Mark Brown
2013-12-06 14:24 ` [PATCHv2 03/10] spi/qspi: Add support to switc to memory mapped operation Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-10 12:54 ` Marek Vasut [this message]
2013-12-10 12:54 ` Marek Vasut
2013-12-06 14:24 ` [PATCHv2 04/10] spi/qspi: configure set up register for memory map Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-10 12:57 ` Marek Vasut
2013-12-10 12:57 ` Marek Vasut
2013-12-10 17:13 ` Sourav Poddar
2013-12-10 17:13 ` Sourav Poddar
2013-12-10 17:13 ` Sourav Poddar
2013-12-06 14:24 ` [PATCHv2 05/10] spi/qspi: Add api for get_buf/put_buf Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-10 12:58 ` Marek Vasut
2013-12-10 12:58 ` Marek Vasut
2013-12-10 17:10 ` Sourav Poddar
2013-12-10 17:10 ` Sourav Poddar
2013-12-10 17:10 ` Sourav Poddar
2013-12-06 14:24 ` [PATCHv2 06/10] drivers: mtd: m25p80: Add api to configure master register Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` [PATCHv2 07/10] drivers: mtd: m25p80: Adapt driver to support memory mapped read Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-12 7:55 ` Huang Shijie
2013-12-12 7:55 ` Huang Shijie
2013-12-12 8:15 ` Sourav Poddar
2013-12-12 8:15 ` Sourav Poddar
2013-12-12 8:15 ` Sourav Poddar
2013-12-12 8:31 ` Huang Shijie
2013-12-12 8:31 ` Huang Shijie
2013-12-06 14:24 ` [PATCHv2 08/10] Documentation: bindings: ti-qspi: update binding information Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-19 13:34 ` Mark Brown
2013-12-19 13:34 ` Mark Brown
2013-12-06 14:24 ` [PATCHv2 09/10] arm: dts: dra7: Add qspi device Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-09 17:42 ` Tony Lindgren
2013-12-09 17:42 ` Tony Lindgren
2013-12-10 4:25 ` Sourav Poddar
2013-12-10 4:25 ` Sourav Poddar
2013-12-10 4:25 ` Sourav Poddar
2013-12-10 10:31 ` Mark Brown
2013-12-10 10:31 ` Mark Brown
2013-12-10 10:45 ` Sourav Poddar
2013-12-10 10:45 ` Sourav Poddar
2013-12-10 10:45 ` Sourav Poddar
2013-12-12 4:20 ` Sourav Poddar
2013-12-12 4:20 ` Sourav Poddar
2013-12-06 14:24 ` [PATCHv2 10/10] arm: dts: am43x-epos: " Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-06 14:24 ` Sourav Poddar
2013-12-10 12:49 ` [PATCHv2 00/10] Add memory mapped support for ti qspi, m25p80 serial flash Marek Vasut
2013-12-10 12:49 ` Marek Vasut
2013-12-10 16:11 ` Mark Brown
2013-12-10 16:11 ` Mark Brown
2013-12-10 18:22 ` Marek Vasut
2013-12-10 18:22 ` Marek Vasut
2013-12-10 18:29 ` Mark Brown
2013-12-10 18:29 ` Mark Brown
2013-12-10 18:34 ` Marek Vasut
2013-12-10 18:34 ` Marek Vasut
2013-12-11 4:37 ` Sourav Poddar
2013-12-11 4:37 ` Sourav Poddar
2013-12-11 4:37 ` Sourav Poddar
2013-12-11 4:19 ` Sourav Poddar
2013-12-11 4:19 ` Sourav Poddar
2013-12-11 4:19 ` Sourav Poddar
2013-12-11 4:18 ` Sourav Poddar
2013-12-11 4:18 ` Sourav Poddar
2013-12-11 4:18 ` Sourav Poddar
2013-12-11 10:44 ` Marek Vasut
2013-12-11 10:44 ` Marek Vasut
2013-12-11 12:01 ` Mark Brown
2013-12-11 12:01 ` Mark Brown
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=201312101354.43674.marex@denx.de \
--to=marex@denx.de \
--cc=balbi@ti.com \
--cc=bcousson@baylibre.com \
--cc=broonie@kernel.org \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=sourav.poddar@ti.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.