[PATCH v4] driver: spi: add bcm iproc qspi support.

Roman Bacik roman.bacik at broadcom.com
Tue Nov 2 00:27:19 CET 2021


Hi Jagan,

On Mon, Nov 1, 2021 at 12:12 AM Jagan Teki <jagan at amarulasolutions.com> wrote:
>
> On Tue, Oct 26, 2021 at 1:07 AM Roman Bacik <roman.bacik at broadcom.com> wrote:
> >
> > From: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>
> >
> > IPROC qspi driver supports both BSPI and MSPI modes.
> >
> > Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>
> > Signed-off-by: Bharat Gooty <bharat.gooty at broadcom.com>
> > Acked-by: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>
> >
> > Signed-off-by: Roman Bacik <roman.bacik at broadcom.com>
> > ---
> >
> > Changes in v4:
> > - move iproc_qspi.c from spi to mtd/spi
> > - remove iproc_qspi.h
> > - rename IPROC_QSPI to SPI_FLASH_IPROC
> >
> > Changes in v3:
> > - fix warning by including linux/delay.h
> > - change ofdata_to_platdata to of_to_plat
> > - change priv_auto_alloc_size to priv_auto
> >
> > Changes in v2:
> > - remove include spi-nor.h
> > - define and use named BITs for writing register values
> > - remove bspi_set_4byte_mode() method
> >
> >  drivers/mtd/spi/Kconfig      |   6 +
> >  drivers/mtd/spi/Makefile     |   1 +
> >  drivers/mtd/spi/iproc_qspi.c | 718 +++++++++++++++++++++++++++++++++++
> >  3 files changed, 725 insertions(+)
> >  create mode 100644 drivers/mtd/spi/iproc_qspi.c
>
> Look like you confused what I've mentioned before, your driver is
> flash specific so add a driver in UCLASS_SPI_FLASH. drivers with
> UCLASS_SPI to be in drivers/spi/
>
> Jagan.

This is a controller driver and it is currently meant to be used as follows:

qspi: spi at 370000 {
  compatible = "brcm,iproc-qspi";
  reg = <0x00370000 0x100>,
    <0x00370100 0x100>,
    <0x00370200 0x200>;
  reg-names = "bspi", "bspi_raf", "mspi";
  flash-iomap-addr = /bits/ 64 <0x70000000>;
  #address-cells = <1>;
  #size-cells = <0>;
  spi_nor_flash: spi_flash at 0 {
    compatible = "jedec,spi-nor";
    reg = <0>;
    spi-max-frequency = <12500000>;
    spi-cpol;
    spi-cpha;
    spi-tx-bus-width = <1>;
    spi-rx-bus-width = <4>;
  };
};

Can you please provide more details or point us to an example we can
use as a reference when asking us to switch from UCLASS_SPI to
UCLASS_SPI_FLASH? What will the new device tree look like? Do we need
to add read/write/erase methods (likely around our existing xfer
method), which are currently not needed or is there a way around it by
reusing existing code base?
Thanks,

Roman

-- 
This electronic communication and the information and any files transmitted 
with it, or attached to it, are confidential and are intended solely for 
the use of the individual or entity to whom it is addressed and may contain 
information that is confidential, legally privileged, protected by privacy 
laws, or otherwise restricted from disclosure to anyone else. If you are 
not the intended recipient or the person responsible for delivering the 
e-mail to the intended recipient, you are hereby notified that any use, 
copying, distributing, dissemination, forwarding, printing, or copying of 
this e-mail is strictly prohibited. If you received this e-mail in error, 
please return the e-mail to the sender, delete it from your computer, and 
destroy any printed copy of it.


More information about the U-Boot mailing list