linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frieder Schrempf <frieder.schrempf@exceet.de>
To: Rob Herring <robh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, yogeshnarayan.gaur@nxp.com,
	boris.brezillon@bootlin.com, richard@nod.at,
	prabhakar.kushwaha@nxp.com, linux-kernel@vger.kernel.org,
	shawnguo@kernel.org, linux-spi@vger.kernel.org,
	marek.vasut@gmail.com, han.xu@nxp.com, broonie@kernel.org,
	linux-mtd@lists.infradead.org, miquel.raynal@bootlin.com,
	fabio.estevam@nxp.com, david.wolfe@nxp.com,
	computersforpeace@gmail.com, dwmw2@infradead.org
Subject: Re: [PATCH v2 05/12] dt-bindings: spi: Adjust the bindings for the FSL QSPI driver
Date: Thu, 12 Jul 2018 10:13:57 +0200	[thread overview]
Message-ID: <9fd871dd-3d10-044c-db80-d65df161a7d9@exceet.de> (raw)
In-Reply-To: <20180711160521.GA16884@rob-hp-laptop>

Hi Rob,

On 11.07.2018 18:05, Rob Herring wrote:
> On Thu, Jul 05, 2018 at 01:15:01PM +0200, Frieder Schrempf wrote:
>> Adjust the documentation of the new SPI memory interface based
>> driver to reflect the new drivers settings.
> 
> Bindings shouldn't change (other than new properties) due to driver
> changes.

Right, I added an explanation below, why I think the changes are necessary.

> 
>>
>> Signed-off-by: Frieder Schrempf <frieder.schrempf@exceet.de>
>> ---
>> Changes in v2:
>> ==============
>> * Split the moving and editing of the dt-bindings in two patches
>>
>>   .../devicetree/bindings/spi/spi-fsl-qspi.txt    | 22 ++++++++++----------
>>   1 file changed, 11 insertions(+), 11 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt
>> index 483e9cf..8b4eed7 100644
>> --- a/Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt
>> +++ b/Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt
>> @@ -3,9 +3,8 @@
>>   Required properties:
>>     - compatible : Should be "fsl,vf610-qspi", "fsl,imx6sx-qspi",
>>   		 "fsl,imx7d-qspi", "fsl,imx6ul-qspi",
>> -		 "fsl,ls1021a-qspi"
>> +		 "fsl,ls1021a-qspi", "fsl,ls2080a-qspi"
>>   		 or
>> -		 "fsl,ls2080a-qspi" followed by "fsl,ls1021a-qspi",
>>   		 "fsl,ls1043a-qspi" followed by "fsl,ls1021a-qspi"
> 
> So the 2080a h/w was compatible with the 1021a h/w, but now it is not?
> How did the h/w change?

I guess this should be posted as a separate fix. Formerly there was only 
"fsl,ls1021a-qspi" handled in the driver and the bindings here claimed 
that "fsl,ls2080a-qspi" is compatible.

Some time ago a separate entry for "fsl,ls2080a-qspi" was added to the 
driver [1] and it adds a quirk, that is not set for "fsl,ls1021a-qspi". 
That's why I concluded, that these two are actually not compatible.

> 
>>     - reg : the first contains the register location and length,
>>             the second contains the memory mapping address and length
>> @@ -15,14 +14,15 @@ Required properties:
>>     - clock-names : Should contain the name of the clocks: "qspi_en" and "qspi".
>>   
>>   Optional properties:
>> -  - fsl,qspi-has-second-chip: The controller has two buses, bus A and bus B.
>> -                              Each bus can be connected with two NOR flashes.
>> -			      Most of the time, each bus only has one NOR flash
>> -			      connected, this is the default case.
>> -			      But if there are two NOR flashes connected to the
>> -			      bus, you should enable this property.
>> -			      (Please check the board's schematic.)
> 
> You can't just remove properties without explanation. Why is this no
> longer needed? What about backwards compatibility with existing dtbs?

You're right, the explanation is missing here.

The "old" driver was using this property to select one of two dual chip 
setups (two chips on one bus or two chips on separate buses). And it 
used the order in which the subnodes are defined in the dt to select the 
CS, the chip is connected to.

Both methods are wrong and in fact the "reg" property should be used to 
determine which bus and CS a chip is connected to. This also enables us 
to use different setups than just single chip, or symmetric dual chip.

So the porting of the driver from the MTD to the SPI framework actually 
enforces the use of the "reg" properties and makes 
"fsl,qspi-has-second-chip" superfluous.

As all boards that have "fsl,qspi-has-second-chip" set, also have 
correct "reg" properties, the removal of this property shouldn't lead to 
any incompatibilities.

The only compatibility issues I can see are with imx6sx-sdb.dts and 
imx6sx-sdb-reva.dts, which have their reg properties set incorrectly 
(see explanation here: [2]), all other boards should stay compatible.

> 
>> -  - big-endian : That means the IP register is big endian
>> +  - big-endian : That means the IP registers format is big endian
> 
> This is a standard property so it doesn't really need to be redefined
> here, but just reference the definition.

So I will change that to:

	big-endian : See common-properties.txt for a definition

Thanks,
Frieder

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/mtd/spi-nor/fsl-quadspi.c?h=v4.18-rc4&id=d728a7ea9037c2df085bf9494d56e90d0ff69d7d
[2] https://patchwork.ozlabs.org/patch/922817/#1925445

> 
>> +
>> +Required SPI slave node properties:
>> +  - reg: There are two buses (A and B) with two chip selects each.
>> +	 This encodes to which bus and CS the flash is connected:
>> +		<0>: Bus A, CS 0
>> +		<1>: Bus A, CS 1
>> +		<2>: Bus B, CS 0
>> +		<3>: Bus B, CS 1
>>   
>>   Example:
>>   
>> @@ -40,7 +40,7 @@ qspi0: quadspi@40044000 {
>>   	};
>>   };
>>   
>> -Example showing the usage of two SPI NOR devices:
>> +Example showing the usage of two SPI NOR devices on bus A:
>>   
>>   &qspi2 {
>>   	pinctrl-names = "default";
>> -- 
>> 2.7.4
>>

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2018-07-12  8:13 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-05 11:14 [PATCH v2 00/12] Port the FSL QSPI driver to the SPI framework Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 01/12] spi: spi-mem: Extend the SPI mem interface to set a custom memory name Frieder Schrempf
2018-07-05 12:39   ` Boris Brezillon
2018-07-05 12:50     ` Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 02/12] mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name Frieder Schrempf
2018-07-05 12:56   ` Boris Brezillon
2018-07-05 13:06     ` Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 03/12] spi: Add a driver for the Freescale/NXP QuadSPI controller Frieder Schrempf
     [not found]   ` <7e95c72c-2cd1-f138-a687-6cca362c95b7@exceet.de>
2018-08-02 13:09     ` Questions about " Frieder Schrempf
2018-08-02 21:58       ` Han Xu
2018-08-04 13:37         ` Boris Brezillon
2018-09-03  9:02           ` Frieder Schrempf
2018-09-12 17:04             ` Han Xu
2018-09-12 18:40               ` Frieder Schrempf
2018-09-12 21:04                 ` Han Xu
2018-09-13  7:00                   ` Frieder Schrempf
2018-09-18 22:42                     ` Lukasz Majewski
2018-09-19  6:49                       ` Frieder Schrempf
2018-09-19 11:02                         ` Lukasz Majewski
2018-09-20  1:17                           ` Huang Shijie
2018-09-20 15:00                           ` Lukasz Majewski
2018-09-20 15:41                             ` Frieder Schrempf
2018-09-20 20:37                               ` Lukasz Majewski
2018-09-20 22:13                               ` Lukasz Majewski
2018-09-25  6:49                                 ` Frieder Schrempf
2018-09-25  8:53                                   ` Lukasz Majewski
2018-09-06 11:11           ` Yogesh Narayan Gaur
2018-09-06 11:36             ` Boris Brezillon
2018-09-06 12:22               ` Yogesh Narayan Gaur
2018-07-05 11:15 ` [PATCH v2 04/12] dt-bindings: spi: Move the bindings for the FSL QSPI driver Frieder Schrempf
2018-07-11 15:54   ` Rob Herring
2018-07-12  8:11     ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 05/12] dt-bindings: spi: Adjust " Frieder Schrempf
2018-07-11 16:05   ` Rob Herring
2018-07-12  8:13     ` Frieder Schrempf [this message]
2018-07-12 15:20       ` Rob Herring
2018-07-16  7:04         ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 06/12] ARM: dts: Reflect change of FSL QSPI driver and remove unused properties Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 07/12] arm64: " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 08/12] ARM: defconfig: Use the new FSL QSPI driver under the SPI framework Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 09/12] mtd: fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 10/12] ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip as it is not used Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 12/12] MAINTAINERS: Move the Freescale QSPI driver to the SPI framework Frieder Schrempf
2018-07-06  5:08 ` [PATCH v2 00/12] Port the FSL " Yogesh Narayan Gaur
2018-10-31 13:40 ` Boris Brezillon
2018-10-31 13:54   ` Schrempf Frieder
2018-10-31 14:31     ` Boris Brezillon
2018-10-31 16:03       ` Yogesh Narayan Gaur
2018-10-31 16:09         ` Schrempf Frieder
2018-11-08  8:15       ` Schrempf Frieder
2018-11-08  8:19         ` Boris Brezillon
2018-11-08  8:35           ` Schrempf Frieder
2018-11-08  8:57           ` Schrempf Frieder

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=9fd871dd-3d10-044c-db80-d65df161a7d9@exceet.de \
    --to=frieder.schrempf@exceet.de \
    --cc=boris.brezillon@bootlin.com \
    --cc=broonie@kernel.org \
    --cc=computersforpeace@gmail.com \
    --cc=david.wolfe@nxp.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=fabio.estevam@nxp.com \
    --cc=han.xu@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=marek.vasut@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=prabhakar.kushwaha@nxp.com \
    --cc=richard@nod.at \
    --cc=robh@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=yogeshnarayan.gaur@nxp.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).