diff mbox series

[v4,1/3] dt-bindings: spi: spi-fsl-qspi: Add ls2080a compatibility string to bindings

Message ID 1565691791-26167-1-git-send-email-Ashish.Kumar@nxp.com
State Not Applicable, archived
Headers show
Series [v4,1/3] dt-bindings: spi: spi-fsl-qspi: Add ls2080a compatibility string to bindings | expand

Commit Message

Ashish Kumar Aug. 13, 2019, 10:23 a.m. UTC
There are 2 version of QSPI-IP, according to which controller registers sets
can be big endian or little endian.There are some other minor changes like
RX fifo depth etc.

The big endian version uses driver compatible "fsl,ls1021a-qspi" and
little endian version uses driver compatible "fsl,ls2080a-qspi"

Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
Signed-off-by: Ashish Kumar <ashish.kumar@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Han Xu <han.xu@nxp.com>
---
v4:
-Rebase to spi.git,
-Add new patch to series.
-Previous versions reviewed here http://patchwork.ozlabs.org/patch/1118639/
v3:
Rebase to top
v2: 
Convert to patch series and rebasing done on top of tree

 Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Mark Brown Aug. 21, 2019, 11:06 a.m. UTC | #1
On Tue, Aug 13, 2019 at 03:53:09PM +0530, Ashish Kumar wrote:

> There are 2 version of QSPI-IP, according to which controller registers sets
> can be big endian or little endian.There are some other minor changes like
> RX fifo depth etc.
> 
> The big endian version uses driver compatible "fsl,ls1021a-qspi" and
> little endian version uses driver compatible "fsl,ls2080a-qspi"

I'm not seeing the corresponding code changes anywhere?  I'd at least
expect to see the compatibles added, and it sounds like some actual code
updates are needed.

Please use subject lines matching the style for the subsystem.  This
makes it easier for people to identify relevant patches.
Ashish Kumar Aug. 22, 2019, 6:39 a.m. UTC | #2
> -----Original Message-----
> From: devicetree-owner@vger.kernel.org <devicetree-
> owner@vger.kernel.org> On Behalf Of Ashish Kumar
> Sent: Wednesday, August 21, 2019 7:49 PM
> To: Mark Brown <broonie@kernel.org>; shawnguo@kernel.org
> Cc: linux-kernel@vger.kernel.org; linux-spi@vger.kernel.org;
> devicetree@vger.kernel.org; robh+dt@kernel.org; mark.rutland@arm.com;
> linux-next@vger.kernel.org; Kuldeep Singh <kuldeep.singh@nxp.com>
> Subject: RE: [EXT] Re: [Patch v4 1/3] dt-bindings: spi: spi-fsl-qspi: Add ls2080a
> compatibility string to bindings
> 
> Caution: EXT Email
> 
> > -----Original Message-----
> > From: Mark Brown <broonie@kernel.org>
> > Sent: Wednesday, August 21, 2019 4:37 PM
> > To: Ashish Kumar <ashish.kumar@nxp.com>
> > Cc: linux-kernel@vger.kernel.org; linux-spi@vger.kernel.org;
> > devicetree@vger.kernel.org; robh+dt@kernel.org;
> mark.rutland@arm.com;
> > linux-next@vger.kernel.org; Kuldeep Singh <kuldeep.singh@nxp.com>
> > Subject: [EXT] Re: [Patch v4 1/3] dt-bindings: spi: spi-fsl-qspi: Add
> > ls2080a compatibility string to bindings
> >
> > On Tue, Aug 13, 2019 at 03:53:09PM +0530, Ashish Kumar wrote:
> >
> > > There are 2 version of QSPI-IP, according to which controller
> > > registers sets can be big endian or little endian.There are some
> > > other minor changes like RX fifo depth etc.
> > >
> > > The big endian version uses driver compatible "fsl,ls1021a-qspi" and
> > > little endian version uses driver compatible "fsl,ls2080a-qspi"
> >
> > I'm not seeing the corresponding code changes anywhere?  I'd at least
> > expect to see the compatibles added, and it sounds like some actual
> > code updates are needed.
> Hi Mark,
> 
> Snippet from driver spi-fsl-qspi.c
> static const struct of_device_id fsl_qspi_dt_ids[] = {
>         { .compatible = "fsl,vf610-qspi", .data = &vybrid_data, },
>         { .compatible = "fsl,imx6sx-qspi", .data = &imx6sx_data, },
>         { .compatible = "fsl,imx7d-qspi", .data = &imx7d_data, },
>         { .compatible = "fsl,imx6ul-qspi", .data = &imx6ul_data, },
>         { .compatible = "fsl,ls1021a-qspi", .data = &ls1021a_data, },
>         { .compatible = "fsl,ls2080a-qspi", .data = &ls2080a_data, },
>         { /* sentinel */ }
> };
> I had previously sent dts patch based out of Shawn's tree with dependency
> on these dt binding patch. To which Shawn had replied to get dependency
> patch accepted first before sending this dts change.
> Reference conversion can be viewed here [1],[2].
> 
> This compatible can be seen here: file arch/arm64/boot/dts/freescale/fsl-
> ls208xa.dtsi
> 
> Snippet from previous dts patch based on Shawn tree, I will send next
> version on this patch after dt-bindings are updated
> arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-) diff --git
> a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> index d7e78dcd153d..8e5ba513b24f 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> @@ -606,7 +606,7 @@
> 
>                 qspi: spi@20c0000 {
>                         status = "disabled";
> -                       compatible = "fsl,ls2080a-qspi", "fsl,ls1021a-qspi";
> +                       compatible = "fsl,ls2080a-qspi";
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <0x0 0x20c0000 0x0 0x10000>,
> >
> > Please use subject lines matching the style for the subsystem.  This
> > makes it easier for people to identify relevant patches.
Hi Mark,

After looking at some patch in Documentation/devicetree/bindings/spi/
I think I should update subject line to
dt-bindings: spi: Add ls2080-qspi compatible string for FSL QSPI driver
or 
doc: qspi: Add ls2080-qspi compatible to DT bindings for FSL QSPI driver

Please suggest, if you think these are good or still need change.
Regards
Ashish 

> Could you please guide more, or point to documentation to follow sub-
> system style.
> dt-bindings: spi: spi-fsl-qspi: Add ls2080a-qspi compatibility string to bindings
> Is this a better now? if yes, I will send next version
> 
> [1]:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
> .spinics.net%2Flists%2Farm-
> kernel%2Fmsg727403.html&amp;data=02%7C01%7Cashish.kumar%40nxp.co
> m%7C5922d2067b004c8f8f2c08d72642800c%7C686ea1d3bc2b4c6fa92cd99c5c
> 301635%7C0%7C0%7C637019939369034444&amp;sdata=HsumTqK0SiaBjzmbK
> 9r5dfpNtWHiZ%2FcB9e%2Bwy7SW160%3D&amp;reserved=0
> [2]:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch
> work.kernel.org%2Fpatch%2F10192103%2F&amp;data=02%7C01%7Cashish.k
> umar%40nxp.com%7C5922d2067b004c8f8f2c08d72642800c%7C686ea1d3bc2b
> 4c6fa92cd99c5c301635%7C0%7C0%7C637019939369034444&amp;sdata=2xRb
> YdJHTibb1BM0iNSJ00P69s2RKj9SLNFNUsneT8I%3D&amp;reserved=0
> 
> Regards
> Ashish
Mark Brown Aug. 22, 2019, 6:49 p.m. UTC | #3
On Thu, Aug 22, 2019 at 06:39:18AM +0000, Ashish Kumar wrote:

> > > Please use subject lines matching the style for the subsystem.  This
> > > makes it easier for people to identify relevant patches.
> Hi Mark,

> After looking at some patch in Documentation/devicetree/bindings/spi/
> I think I should update subject line to
> dt-bindings: spi: Add ls2080-qspi compatible string for FSL QSPI driver
> or 
> doc: qspi: Add ls2080-qspi compatible to DT bindings for FSL QSPI driver

Drop the dt-bindings:.
Mark Brown Aug. 22, 2019, 7:05 p.m. UTC | #4
On Wed, Aug 21, 2019 at 02:18:43PM +0000, Ashish Kumar wrote:

Please fix your mail client to word wrap within paragraphs at something
substantially less than 80 columns.  Doing this makes your messages much
easier to read and reply to.

> Snippet from driver spi-fsl-qspi.c
> static const struct of_device_id fsl_qspi_dt_ids[] = {
>         { .compatible = "fsl,vf610-qspi", .data = &vybrid_data, },
>         { .compatible = "fsl,imx6sx-qspi", .data = &imx6sx_data, },
>         { .compatible = "fsl,imx7d-qspi", .data = &imx7d_data, },
>         { .compatible = "fsl,imx6ul-qspi", .data = &imx6ul_data, },
>         { .compatible = "fsl,ls1021a-qspi", .data = &ls1021a_data, },
>         { .compatible = "fsl,ls2080a-qspi", .data = &ls2080a_data, },
>         { /* sentinel */ }
> };

> I had previously sent dts patch based out of Shawn's tree with
> dependency on these dt binding patch. To which Shawn had
> replied to get dependency patch accepted first before sending
> this dts change.

Right, there appears to be an entry for patch 1 which was added
without the binding doc being updated - patch 2 looks to not have
the compatibles in the driver though?
Ashish Kumar Aug. 26, 2019, 6:19 a.m. UTC | #5
> -----Original Message-----
> From: Mark Brown <broonie@kernel.org>
> Sent: Friday, August 23, 2019 12:35 AM
> To: Ashish Kumar <ashish.kumar@nxp.com>
> Cc: shawnguo@kernel.org; linux-kernel@vger.kernel.org; linux-
> spi@vger.kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
> mark.rutland@arm.com; linux-next@vger.kernel.org; Kuldeep Singh
> <kuldeep.singh@nxp.com>
> Subject: Re: [EXT] Re: [Patch v4 1/3] dt-bindings: spi: spi-fsl-qspi: Add ls2080a
> compatibility string to bindings
> 
> On Wed, Aug 21, 2019 at 02:18:43PM +0000, Ashish Kumar wrote:
> 
> Please fix your mail client to word wrap within paragraphs at something
> substantially less than 80 columns.  Doing this makes your messages much
> easier to read and reply to.
> 
> > Snippet from driver spi-fsl-qspi.c
> > static const struct of_device_id fsl_qspi_dt_ids[] = {
> >         { .compatible = "fsl,vf610-qspi", .data = &vybrid_data, },
> >         { .compatible = "fsl,imx6sx-qspi", .data = &imx6sx_data, },
> >         { .compatible = "fsl,imx7d-qspi", .data = &imx7d_data, },
> >         { .compatible = "fsl,imx6ul-qspi", .data = &imx6ul_data, },
> >         { .compatible = "fsl,ls1021a-qspi", .data = &ls1021a_data, },
> >         { .compatible = "fsl,ls2080a-qspi", .data = &ls2080a_data, },
> >         { /* sentinel */ }
> > };
> 
> > I had previously sent dts patch based out of Shawn's tree with
> > dependency on these dt binding patch. To which Shawn had replied to
> > get dependency patch accepted first before sending this dts change.
> 
> Right, there appears to be an entry for patch 1 which was added without the
> binding doc being updated - patch 2 looks to not have the compatibles in the
> driver though?
Hi Mark,

For Patch-2, I intended to use this in arm64/boot/dts/freescale/fsl-ls1088a.dtsi (please see below), since both ls1088 and ls2080 has same QSPI controller.
So I had introduced new compatible
+                "fsl,ls1012a-qspi" followed by "fsl,ls1021a-qspi"
+                "fsl,ls1088a-qspi" followed by "fsl,ls2080a-qspi"

Now the dtsi will look like this:
               qspi: spi@20c0000 {
                        compatible = "fsl,ls2080a-qspi", "fsl,ls1088a-qspi";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x0 0x20c0000 0x0 0x10000>,
                              <0x0 0x20000000 0x0 0x10000000>;
                        reg-names = "QuadSPI", "QuadSPI-memory";
                        interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                        clock-names = "qspi_en", "qspi";
                        clocks = <&clockgen 4 3>, <&clockgen 4 3>;
                        status = "disabled";
                };

If you think this is incorrect, then I can add this in driver
{ .compatible = "fsl,ls1088a-qspi", .data = &ls2080a_data, },

Regards
Ashish
Rob Herring Aug. 27, 2019, 3:50 p.m. UTC | #6
On Thu, Aug 22, 2019 at 07:49:27PM +0100, Mark Brown wrote:
> On Thu, Aug 22, 2019 at 06:39:18AM +0000, Ashish Kumar wrote:
> 
> > > > Please use subject lines matching the style for the subsystem.  This
> > > > makes it easier for people to identify relevant patches.
> > Hi Mark,
> 
> > After looking at some patch in Documentation/devicetree/bindings/spi/
> > I think I should update subject line to
> > dt-bindings: spi: Add ls2080-qspi compatible string for FSL QSPI driver
> > or 
> > doc: qspi: Add ls2080-qspi compatible to DT bindings for FSL QSPI driver
> 
> Drop the dt-bindings:.

If you do 'git log --oneline Documentation/devicetree/bindings/' you'll 
notice that SPI and ASoC are the oddballs now. I don't really care
except it does add to tribal knowledge needed regarding maintainers' 
requirements.

Rob
Mark Brown Aug. 27, 2019, 6:03 p.m. UTC | #7
On Mon, Aug 26, 2019 at 06:19:53AM +0000, Ashish Kumar wrote:

> For Patch-2, I intended to use this in arm64/boot/dts/freescale/fsl-ls1088a.dtsi (please see below), since both ls1088 and ls2080 has same QSPI controller.
> So I had introduced new compatible
> +                "fsl,ls1012a-qspi" followed by "fsl,ls1021a-qspi"
> +                "fsl,ls1088a-qspi" followed by "fsl,ls2080a-qspi"

Even if the compatible is supposed to be used in conjunction with
other fallbacks it should still explicitly be there in case
someone forgets or decides not to do that for some reason.
Mark Brown Aug. 27, 2019, 7:56 p.m. UTC | #8
On Tue, Aug 27, 2019 at 10:50:05AM -0500, Rob Herring wrote:
> On Thu, Aug 22, 2019 at 07:49:27PM +0100, Mark Brown wrote:

> > Drop the dt-bindings:.

> If you do 'git log --oneline Documentation/devicetree/bindings/' you'll 
> notice that SPI and ASoC are the oddballs now. I don't really care
> except it does add to tribal knowledge needed regarding maintainers' 
> requirements.

Well, you have been pushing people to change over to using
dt-bindings: so I guess you do care :(  It really does cause me
to miss stuff, especially where people don't even include the
subsystem name in the header.  I get quite a lot of CCs for
things where I once reviewed a patch for a subsystem that made
use of some subsystem I do maintain or where one patch in a
series (perhaps even an already applied one) was relevant at some
point so I'm doing quite a bit of triage that's purely based on
the subject lines.
Ashish Kumar Aug. 28, 2019, 6:20 a.m. UTC | #9
> -----Original Message-----
> From: Mark Brown <broonie@kernel.org>
> Sent: Tuesday, August 27, 2019 11:33 PM
> To: Ashish Kumar <ashish.kumar@nxp.com>
> Cc: shawnguo@kernel.org; linux-kernel@vger.kernel.org; linux-
> spi@vger.kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
> mark.rutland@arm.com; linux-next@vger.kernel.org; Kuldeep Singh
> <kuldeep.singh@nxp.com>
> Subject: Re: [EXT] Re: [Patch v4 1/3] dt-bindings: spi: spi-fsl-qspi: Add ls2080a
> compatibility string to bindings
> 
> On Mon, Aug 26, 2019 at 06:19:53AM +0000, Ashish Kumar wrote:
> 
> > For Patch-2, I intended to use this in arm64/boot/dts/freescale/fsl-
> ls1088a.dtsi (please see below), since both ls1088 and ls2080 has same QSPI
> controller.
> > So I had introduced new compatible
> > +                "fsl,ls1012a-qspi" followed by "fsl,ls1021a-qspi"
> > +                "fsl,ls1088a-qspi" followed by "fsl,ls2080a-qspi"
> 
> Even if the compatible is supposed to be used in conjunction with other
> fallbacks it should still explicitly be there in case someone forgets or decides
> not to do that for some reason.
Thanks Mark, I will update the spi-fsl-qspi.c to include ls1088, ls1012 in driver data.

Regards
Ashish
Rob Herring Aug. 28, 2019, 8:01 p.m. UTC | #10
On Tue, Aug 27, 2019 at 2:56 PM Mark Brown <broonie@kernel.org> wrote:
>
> On Tue, Aug 27, 2019 at 10:50:05AM -0500, Rob Herring wrote:
> > On Thu, Aug 22, 2019 at 07:49:27PM +0100, Mark Brown wrote:
>
> > > Drop the dt-bindings:.
>
> > If you do 'git log --oneline Documentation/devicetree/bindings/' you'll
> > notice that SPI and ASoC are the oddballs now. I don't really care
> > except it does add to tribal knowledge needed regarding maintainers'
> > requirements.
>
> Well, you have been pushing people to change over to using
> dt-bindings: so I guess you do care :(

Well, yes. In the absence of any sort of pattern, I have pushed for
some consistency. And to get rid of subjects like this:

Documentation/devicetree/bindings: Add the DT binding documentation for foo-bar

If subsystems are consistent with their own standard as you are, then
as a maintainer I don't really care. My point was in regard to what
submitters need to know and follow.

> It really does cause me
> to miss stuff, especially where people don't even include the
> subsystem name in the header.  I get quite a lot of CCs for
> things where I once reviewed a patch for a subsystem that made
> use of some subsystem I do maintain or where one patch in a
> series (perhaps even an already applied one) was relevant at some
> point so I'm doing quite a bit of triage that's purely based on
> the subject lines.

I can't imagine filtering on subjects will ever be that reliable
unless we add subject prefixes to MAINTAINERS and have checkpatch
check commits against those. Filtering on the diffstat is the only
thing that's kept things to a sane list for me (MAINTAINERS for DT
used to tag of_* functions which just meant getting copied on *every*
driver). This is done on the patchwork server side for me, but I
imagine one could do it on the client side too.

Rob
Mark Brown Aug. 28, 2019, 9:20 p.m. UTC | #11
On Wed, Aug 28, 2019 at 03:01:15PM -0500, Rob Herring wrote:
> On Tue, Aug 27, 2019 at 2:56 PM Mark Brown <broonie@kernel.org> wrote:
> > On Tue, Aug 27, 2019 at 10:50:05AM -0500, Rob Herring wrote:

> > Well, you have been pushing people to change over to using
> > dt-bindings: so I guess you do care :(

> Well, yes. In the absence of any sort of pattern, I have pushed for
> some consistency. And to get rid of subjects like this:

> Documentation/devicetree/bindings: Add the DT binding documentation for foo-bar

> If subsystems are consistent with their own standard as you are, then
> as a maintainer I don't really care. My point was in regard to what
> submitters need to know and follow.

I agree that things should be more consistent.

> > It really does cause me
> > to miss stuff, especially where people don't even include the
> > subsystem name in the header.  I get quite a lot of CCs for

> I can't imagine filtering on subjects will ever be that reliable
> unless we add subject prefixes to MAINTAINERS and have checkpatch
> check commits against those. Filtering on the diffstat is the only
> thing that's kept things to a sane list for me (MAINTAINERS for DT
> used to tag of_* functions which just meant getting copied on *every*
> driver). This is done on the patchwork server side for me, but I
> imagine one could do it on the client side too.

Part of the problem for me here is that stuff that's flagged as just a
binding has a very high chance of being misdirected, I'm unlikely to
have much input unless it's for a driver or subsystem I maintain and I
get a lot of bindings docs for things like other bits of MFDs that have
a regulator on them or where there was some interesting interaction with
one of my subsystems that hasn't yet filtered out of get_maintainers'
view.

The other trick here is that sometimes I am actually being asked about
the thing that I'm getting CCed on so I don't want to actually filter
stuff out of my inbox, it's more of a scoring system thing with lots of
guessing going on.  I say filtering but it's more a strong signal than
strictly a filter.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt
index e8f1d62..6d7c9ec 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"
   - reg : the first contains the register location and length,
           the second contains the memory mapping address and length