I have inherited a Linux software project on a custom board using OMAP-L138.
How do I read, write SPI flash from OMAP-L138 ARM Linux user space?
Note that I can read, erase, write the SPI flash from U-boot.
u-boot sees the SPI flash as:
U-Boot > sf probe 0
16384 KiB M25P128 at 0:0 is now current device
Linux config:
root@arago:~# zcat /proc/config.gz | grep -i SPI | grep -iv spin
# CONFIG_SCSI_SPI_ATTRS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# SPI Master Controller Drivers
CONFIG_SPI_DAVINCI=y
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_DESIGNWARE is not set
# SPI Protocol Masters
# CONFIG_SPI_TLE62X0 is not set
# SPI GPIO expanders:
# SPI RTC drivers
root@arago:~# dmesg | grep -i spi
spi_davinci spi_davinci.1: DaVinci SPI driver in EDMA mode
spi_davinci spi_davinci.1: Controller at 0xfef0e000
I see no spi entries under /dev/spi* but I do see entries under /sys :
root@arago:~# find /dev | grep -i spi
root@arago:~# ls /dev/spi*
ls: /dev/spi*: No such file or directory
root@arago:~# find /sys/ | grep -i spi
/sys/devices/platform/spi_davinci.1
/sys/devices/platform/spi_davinci.1/uevent
/sys/devices/platform/spi_davinci.1/modalias
/sys/devices/platform/spi_davinci.1/subsystem
/sys/devices/platform/spi_davinci.1/driver
/sys/devices/platform/spi_davinci.1/spi_master
/sys/devices/platform/spi_davinci.1/spi_master/spi1
/sys/devices/platform/spi_davinci.1/spi_master/spi1/uevent
/sys/devices/platform/spi_davinci.1/spi_master/spi1/subsystem
/sys/devices/platform/spi_davinci.1/spi_master/spi1/device
/sys/devices/platform/spi_davinci.1/spi1.0
/sys/devices/platform/spi_davinci.1/spi1.0/uevent
/sys/devices/platform/spi_davinci.1/spi1.0/modalias
/sys/devices/platform/spi_davinci.1/spi1.0/subsystem
/sys/bus/platform/devices/spi_davinci.1
/sys/bus/platform/drivers/spi_davinci
/sys/bus/platform/drivers/spi_davinci/spi_davinci.1
/sys/bus/platform/drivers/spi_davinci/uevent
/sys/bus/spi
/sys/bus/spi/uevent
/sys/bus/spi/devices
/sys/bus/spi/devices/spi1.0
/sys/bus/spi/drivers
/sys/bus/spi/drivers_probe
/sys/bus/spi/drivers_autoprobe
/sys/class/spi_master
/sys/class/spi_master/spi1
root@arago:~# uname -a
Linux arago 2.6.33-rc4 #2 PREEMPT Fri Jan 13 10:57:59 CST 2012 armv5tejl unknown
The board is custom, with code ported from da850 evm.