
Hi Jagan,
On Mon, Nov 1, 2021 at 12:12 AM Jagan Teki jagan@amarulasolutions.com wrote:
On Tue, Oct 26, 2021 at 1:07 AM Roman Bacik roman.bacik@broadcom.com wrote:
From: Rayagonda Kokatanur rayagonda.kokatanur@broadcom.com
IPROC qspi driver supports both BSPI and MSPI modes.
Signed-off-by: Rayagonda Kokatanur rayagonda.kokatanur@broadcom.com Signed-off-by: Bharat Gooty bharat.gooty@broadcom.com Acked-by: Rayagonda Kokatanur rayagonda.kokatanur@broadcom.com
Signed-off-by: Roman Bacik roman.bacik@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@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@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