linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vignesh R <vigneshr@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Brian Norris <computersforpeace@gmail.com>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Russell King <linux@arm.linux.org.uk>,
	"hramrach@gmail.com" <hramrach@gmail.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>
Subject: Re: [PATCH v4 4/5] ARM: dts: DRA7: add entry for qspi mmap region
Date: Thu, 3 Dec 2015 15:51:28 +0530	[thread overview]
Message-ID: <566017A8.5040106@ti.com> (raw)
In-Reply-To: <20151201163950.GR23396@atomide.com>



On 12/01/2015 10:09 PM, Tony Lindgren wrote:
> * Vignesh R <vigneshr@ti.com> [151130 20:46]:
>> On 12/01/2015 04:04 AM, Tony Lindgren wrote:
>>>
>>> Actually none of the IO areas above are within the same interconnect target:
>>>
>>> 0x4b300000  QSPI0 address space in L3 main interconnect
>>> 0x5c000000  QSPI1 address space in L3 main interconnect
>>
>>
>> First address range (configuration port: 0x4b300000) corresponds to QSPI
>> registers space. These registers alone are sufficient for generic SPI
>> communication (serial flash as well as non-flash SPI devices).
> 
> OK
> 
>> In order to speed up SPI flash reads SFI_MM_IF(SPI memory mapped
>> interface) is provided by QSPI IP. This _cannot_ be used with non-flash
>> devices.
> 
> OK
> 
>> The second address range (0x5c000000) corresponds to memory-mapped
>> region of SFI_MM_IF, through which SPI flash memories can be read as if
>> though they were RAM addresses (i.e using readl/memcpy). The SFI_MM_IF
>> block that takes care of communicating over SPI bus and getting the data
>> from flash device.
> 
> OK
> 
>> But SFI_MM_IF block needs to know some flash specific information(such
>> as read opcode, address bytes, dummy bytes, mode). This information must
>> first be populated in QSPI_SPI_SETUP*_REG(0x4B300054-60) before
>> accessing SFI_MM_IF address range via readl.
>> Both addresses space belong to same instance of the driver, one
>> corresponds to register space and other is memory-mapped region.
>> Therefore both regions are claimed by the same driver.
> 
> OK
> 
>>> 0x4a002558  CTRL_CORE_CONTROL_IO_2 in System Control Module (SCM) in L4_CFG
>>>
>>> The first two address spaces should be two separate instances of this driver.
>>
>> Not actually two instances.
> 
> OK. They are both on L3 main so that won't cause any issues for separate
> interconnect driver instances. As they are still separate targets flushing
> a posted write to one area will not flush anything to the other.
> 

I didn't quite understand what you meant by interconnect driver instance.
qspi_base and qspi_mmap region are tightly bound to each other and both
needs to be accessed by ti-qspi driver (though different targets).
Besides qspi_mmap region is only used to read data, there will not be
any write accesses to this target. Are you saying this binding is not
viable?

>>> The CTRL_CORE_CONTROL_IO_2 needs seems like a shared clock register that
>>> needs to be accessed using the clock framework most likely.
>>>
>>
>> Not shared clock.
>> The CTRL_CORE_CONTROL_IO_2[10:8] QSPI_MEMMAPPED_CS bit fields provides a
>> functionality for remapping the previously described address space which
>> starts at 0x5C000000 L3_MAIN address to one of the four supported chip
>> selects.
>> How about using syscon to access CTRL_CORE_CONTROL_IO_2?
> 
> A separate driver implementing some Linux generic framework would be idael :)
> 
> But if that does not fit, yeah then syscon makes sense as that IO range
> will be on separate interconnect driver (and clock and possibly power domain)
> instances eventually.
> 

I will go ahead with syscon for accessing CTRL_CORE_CONTROL_IO_2 register.

-- 
Regards
Vignesh

  reply	other threads:[~2015-12-03 10:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-30  5:15 [PATCH v4 0/5] Add memory mapped read support for ti-qspi Vignesh R
2015-11-30  5:15 ` [PATCH v4 1/5] spi: introduce accelerated read support for spi flash devices Vignesh R
2015-12-02 19:41   ` Mark Brown
     [not found]   ` <1448860515-28336-2-git-send-email-vigneshr-l0cyMroinI0@public.gmane.org>
2016-02-09 19:43     ` Applied "spi: introduce accelerated read support for spi flash devices" to the spi tree Mark Brown
2015-11-30  5:15 ` [PATCH v4 2/5] spi: spi-ti-qspi: add mmap mode read support Vignesh R
     [not found]   ` <1448860515-28336-3-git-send-email-vigneshr-l0cyMroinI0@public.gmane.org>
2015-11-30 22:35     ` Felipe Balbi
2015-12-01  7:44       ` Vignesh R
     [not found] ` <1448860515-28336-1-git-send-email-vigneshr-l0cyMroinI0@public.gmane.org>
2015-11-30  5:15   ` [PATCH v4 3/5] mtd: devices: m25p80: add support for mmap read request Vignesh R
2015-12-03  9:42     ` Cyrille Pitchen
2015-12-03 11:23       ` Vignesh R
2015-11-30  5:15   ` [PATCH v4 4/5] ARM: dts: DRA7: add entry for qspi mmap region Vignesh R
     [not found]     ` <1448860515-28336-5-git-send-email-vigneshr-l0cyMroinI0@public.gmane.org>
2015-11-30 22:01       ` Tony Lindgren
     [not found]         ` <20151130220102.GG23396-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-11-30 22:34           ` Tony Lindgren
2015-11-30 22:34     ` Tony Lindgren
2015-12-01  4:45       ` Vignesh R
2015-12-01 16:39         ` Tony Lindgren
2015-12-03 10:21           ` Vignesh R [this message]
     [not found]             ` <566017A8.5040106-l0cyMroinI0@public.gmane.org>
2015-12-10  5:04               ` Vignesh R
     [not found]                 ` <566907D7.6040003-l0cyMroinI0@public.gmane.org>
2015-12-10 17:44                   ` Tony Lindgren
2015-11-30  5:15 ` [PATCH v4 5/5] ARM: dts: AM4372: " Vignesh R

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=566017A8.5040106@ti.com \
    --to=vigneshr@ti.com \
    --cc=broonie@kernel.org \
    --cc=computersforpeace@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hramrach@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=robh+dt@kernel.org \
    --cc=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).