[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] drivers/mtd/chips/jedec_probe.c MTD M25P16 SPI Flash Problems



Hi Eldin,

Smajic Eldin wrote:
Hi Folks,

I'm trying to mount the SPI Flash M25P16 on my filesystem but I have some problems in compiling the kernel when I add "Support for ST (Advanced Architecture) flash chips" in "RAM/ROM/Flash chip drivers". The MTD SPI driver for ST M25Pxx flash chips exists already in the PetaLinux tree and should work also for the M25P16 Chip. Am I right?

I'm using a simple XPS design where I have connected the SPI Flash over PLB Bus with the MicroBlaze. The SPI Flash Selftest works correctly, so the XPS design seems to be ok. I printed the error massages below.
Does somebody has an idea how to configure the kernel in order to detect the SPI Flash Device? I'm working with EDK 9.2 and on the Spartan-3A Starter Kit.

I tried enabling it here, and it builds OK, but wasn't able to boot test due to lack of suitable hardware.

Options I enabled were

drivers -> SPI -> SPI master and SPI bitbang
drivers -> MTD -> self contained -> M25P80

There is one more complication, the xilinx_spoi driver in drivers/char/xilinx_spi is a raw character device, and doesn't hook into the Kernel SPI bus infrastructure. So, it will not work with this MTD driver.

However, at git.xilinx.org there is a drivers/spi/xilinx_spi.c driver, which has the necessary plumbing.

Pulling that driver out of the Xilinx Git tree and plugging in to PetaLinux should be pretty straight forward. Don't forget the relevant bits of the drivers/spi/Makefile and Kconfig.

Have a go and see if you can do it.

As for the build errors you sw, I expect you've enabled more MTD options than strictly necessary - here's the MTD config fragment from my successfull build:

CONFIG_MTD=y
CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
CONFIG_MTD_RAM=y
CONFIG_MTD_UCLINUX=y
CONFIG_MTD_UCLINUX_EBSS=y
CONFIG_MTD_M25P80=y

Regards,

John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/