From: Frieder Schrempf <frieder.schrempf@exceet.de>
To: Rob Herring <robh@kernel.org>
Cc: "MTD Maling List" <linux-mtd@lists.infradead.org>,
"Boris Brezillon" <boris.brezillon@bootlin.com>,
linux-spi <linux-spi@vger.kernel.org>,
"David Woodhouse" <dwmw2@infradead.org>,
"Brian Norris" <computersforpeace@gmail.com>,
"Marek Vašut" <marek.vasut@gmail.com>,
"Richard Weinberger" <richard@nod.at>,
"Miquèl Raynal" <miquel.raynal@bootlin.com>,
"Mark Brown" <broonie@kernel.org>,
david.wolfe@nxp.com, "Fabio Estevam" <fabio.estevam@nxp.com>,
"Prabhakar Kushwaha" <prabhakar.kushwaha@nxp.com>,
"Yogesh Gaur" <yogeshnarayan.gaur@nxp.com>,
"Han Xu" <han.xu@nxp.com>, "Shawn Guo" <shawnguo@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 05/12] dt-bindings: spi: Adjust the bindings for the FSL QSPI driver
Date: Mon, 16 Jul 2018 09:04:12 +0200 [thread overview]
Message-ID: <ef0e2cba-a060-0495-98ac-7a78b480281e@exceet.de> (raw)
In-Reply-To: <CAL_JsqLYiiLNabGWnriL7UoUpVmYfAii+3y-o8od6wU7=xpz1A@mail.gmail.com>
Hi Rob,
On 12.07.2018 17:20, Rob Herring wrote:
> On Thu, Jul 12, 2018 at 2:14 AM Frieder Schrempf
> <frieder.schrempf@exceet.de> wrote:
>>
>> 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.
>
> So before the driver change, the driver didn't work at all on the
> ls2080a? If so, then removing is appropriate. If not, then removing
> breaks all kernel versions before the change if you use a newer DT.
Before the driver change it couldn't work fully on the ls2080a, as the
quirk was missing. At least that's what I deduce from the driver.
>
>
>>>> - 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.
>
> Add this to the commit msg.
Ok.
>
>>>> - - 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
>
> You can drop "for a definition"
Ok.
Thanks,
Frieder
next prev parent reply other threads:[~2018-07-16 7:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1530789310-16254-1-git-send-email-frieder.schrempf@exceet.de>
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
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
2018-07-12 15:20 ` Rob Herring
2018-07-16 7:04 ` Frieder Schrempf [this message]
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
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=ef0e2cba-a060-0495-98ac-7a78b480281e@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