Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Niklas Cassel <Niklas.Cassel@wdc.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	linux-riscv <linux-riscv@lists.infradead.org>,
	Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH v2] riscv: dts: canaan: Fix SPI3 bus width
Date: Tue, 5 Apr 2022 13:02:52 +0000	[thread overview]
Message-ID: <Ykw9+03YFl2Yd982@x1-carbon> (raw)
In-Reply-To: <CAMuHMdW4BKSxucwgZS0TUAKd26kmrWbpsMbDmDYSs9yo5tWH=A@mail.gmail.com>

On Tue, Apr 05, 2022 at 02:26:53PM +0200, Geert Uytterhoeven wrote:
> Hi Niklas,
> 
> On Tue, Mar 8, 2022 at 2:30 PM Niklas Cassel <Niklas.Cassel@wdc.com> wrote:
> > From: Niklas Cassel <niklas.cassel@wdc.com>
> > According to the K210 Standalone SDK Programming guide:
> > https://canaan-creative.com/wp-content/uploads/2020/03/kendryte_standalone_programming_guide_20190311144158_en.pdf
> >
> > Section 15.4.3.3:
> > SPI0 and SPI1 supports: standard, dual, quad and octal transfers.
> > SPI3 supports: standard, dual and quad transfers (octal is not supported).
> >
> > In order to support quad transfers (Quad SPI), SPI3 must have four IO wires
> > connected to the SPI flash.
> >
> > Update the device tree to specify the correct bus width.
> >
> > Tested on maix bit, maix dock and maixduino, which all have the same
> > SPI flash (gd25lq128d) connected to SPI3. maix go is untested, but it
> > would not make sense for this k210 board to be designed differently.
> >
> > Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
> > ---
> > Changes since v1:
> > -Add the new properties directly after spi-max-frequency for all DT board
> >  files.
> 
> Thanks for your patch, which is now commit 6846d656106add3a ("riscv:
> dts: canaan: Fix SPI3 bus width") in v5.18-rc1.
> 
> > --- a/arch/riscv/boot/dts/canaan/sipeed_maix_bit.dts
> > +++ b/arch/riscv/boot/dts/canaan/sipeed_maix_bit.dts
> > @@ -203,6 +203,8 @@ flash@0 {
> >                 compatible = "jedec,spi-nor";
> >                 reg = <0>;
> >                 spi-max-frequency = <50000000>;
> > +               spi-tx-bus-width = <4>;
> > +               spi-rx-bus-width = <4>;
> >                 m25p,fast-read;
> >                 broken-flash-reset;
> >         };
> 
> On MAiX BiT, I get:
> 
>     +spi spi1.0: setup: ignoring unsupported mode bits a00
>      spi-nor spi1.0: gd25lq128d (16384 Kbytes)

Hello Geert,

The device tree is supposed to describe the hardware.

The Synopsys SPI controller and the Gigadevice SPI flash both support quad
transfers.

It would be incorrect to adapt the device tree based on current limitations
of the drivers/spi/spi-dw-core.c driver.

Likewise, we shouldn't need to update the device tree if the dwc driver
ever adds support for quad transfers.

However, I do agree that it is a bit weird that the kernel outputs a
warning for this case.

I understand that the warning is supposed to be there to warn that a
controller does not support a mode required by the driver, but if it
is the driver and not the controller that lacks support, is a warning
really warranted? I'm not so sure.

Adding Mark Brown to hopefully hear his opinion.


Kind regards,
Niklas

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2022-04-05 13:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-08 13:28 [PATCH v2] riscv: dts: canaan: Fix SPI3 bus width Niklas Cassel
2022-03-09  4:38 ` Damien Le Moal
2022-03-24  8:44 ` Niklas Cassel
2022-03-31  5:52 ` Palmer Dabbelt
2022-04-05 12:26 ` Geert Uytterhoeven
2022-04-05 13:02   ` Niklas Cassel [this message]
2022-04-05 13:09     ` Geert Uytterhoeven
2022-04-05 13:21       ` Niklas Cassel

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=Ykw9+03YFl2Yd982@x1-carbon \
    --to=niklas.cassel@wdc.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=broonie@kernel.org \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh+dt@kernel.org \
    /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