I am using a OMAP-L137 EVM rev. 0
I can safely access Spi Flash Winbond W25X32 though U-Boot.
I need to access the chip through Linux MTD drivers (char and block) also.
I am using GIT kernel release 2.6.35
I believe the kernel configuration is O.K: the related .config is attached.
I tried to patch:
../arch/arm/mach-davinci/devices-da8xx.c
../arch/arm/mach-davinci/board-da830-evm.c
according to an example of spi_flash MTD usage for OMAP_L138 board found in Arago project,
addressing the chip through spi0, but with no success...
Simply nothing happens.....
Please note that no mtdparts info is provided to the kernel cmd line...(as for Montavista kernel) is it O.K. ?
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.35-07355-g939c222-dirty (venturi@linux-rs) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #15 PREEMPT Tue Oct 12 16:02:47 CEST 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DA830/OMAP-L137 EVM
Memory policy: ECC disabled, Data cache writethrough
DaVinci da830/omap-l137 rev1.0 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 6096
Kernel command line: console=ttyS2,115200n8 noinitrd rw root=/dev/nfs nfsroot=192.168.1.69:/mnt/omap-mv,nolock ip=192.168.1.72 netmask=255.255.255.0 mem=24M
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 24MB = 24MB total
Memory: 21200k/21200k available, 3376k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xff000000 - 0xffe00000 ( 14 MB)
vmalloc : 0xc2000000 - 0xfea00000 ( 970 MB)
lowmem : 0xc0000000 - 0xc1800000 ( 24 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0022000 ( 104 kB)
.text : 0xc0022000 - 0xc02c3000 (2692 kB)
.data : 0xc02d6000 - 0xc02f3280 ( 117 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 149.50 BogoMIPS (lpj=747520)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
DaVinci: 128 gpio irqs
NET: Registered protocol family 16
da830_evm_init starts... // my patches..
Spi Flash setup.... // my patches..
da830_evm_init ends... // my patches..
bio: create slab <bio-0> at 0
pcf857x: probe of 1-003f failed with error -121
Switching to clocksource timer0_0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
msgmni has been set to 41
io scheduler noop registered (default)
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a 16550A
serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a 16550A
serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a 16550A
console [ttyS2] enabled
brd: module loaded
loop: module loaded
console [netcon0] enabled
netconsole: network logging started
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
TCP cubic registered
NET: Registered protocol family 17
Clocks: disable unused spi0 // This sounds strange : it does not depends on my patch....
Clocks: disable unused emac
VFP support v0.3: not present
davinci_emac_probe: using random MAC addr: 7e:31:a5:4b:8c:40
emac-mii: probed
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, addr=192.168.1.72, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.1.72, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=192.168.1.69, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.69
Looking up port of RPC 100005/1 on 192.168.1.69
VFS: Mounted root (nfs filesystem) on device 0:14.
devtmpfs: mounted
Freeing init memory: 104K
INIT: version 2.86 booting
0
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
0
Activating swap...done.
Remounting root filesystem...done.
Starting mounting local filesystems: mount none on /var/run type tmpfs (rw)
none on /tmp type tmpfs (rw)
Setting up networking ...ln: /etc/network/run: Read-only file system
Starting hotplug subsystem:
pci
pci [success]
usb
usb [success]
isapnp
isapnp [success]
ide
ide [success]
input
input [success]
scsi
scsi [success]
done.
Starting portmap daemon: portmap.
INIT: Entering runlevel: 3
Starting internet superserver: inetd.
192.168.1.72 login: root
Moreover the MTD node files are missing in /dev.
# ls -l /sys/devices/platform
drwxr-xr-x 2 root root 0 Jan 1 00:00 davinci-mcasp.1
drwxr-xr-x 4 root root 0 Jan 1 00:00 davinci_emac.1
drwxr-xr-x 2 root root 0 Jan 1 00:00 davinci_mmc.0
drwxr-xr-x 2 root root 0 Jan 1 00:00 edma
drwxr-xr-x 3 root root 0 Jan 1 00:00 i2c_davinci.1
drwxr-xr-x 2 root root 0 Jan 1 00:00 ohci.0
drwxr-xr-x 2 root root 0 Jan 1 00:00 omap_rtc
drwxr-xr-x 2 root root 0 Jan 1 00:00 serial8250
drwxr-xr-x 3 root root 0 Jan 1 00:00 serial8250.0
drwxr-xr-x 2 root root 0 Jan 1 00:00 spi_davinci.0
-rw-r--r-- 1 root root 4096 Jan 1 00:15 uevent
drwxr-xr-x 2 root root 0 Jan 1 00:00 watchdog
# ls -l /sys/bus/spi/drivers/m25p80
--w------- 1 root root 4096 Jan 1 00:35 bind
--w------- 1 root root 4096 Jan 1 00:35 uevent
--w------- 1 root root 4096 Jan 1 00:35 unbind
#
Maybe a proven GIT kernel patch for this issue is pending ?
Thank you in advance for whichever suggestion in this subject.
Misha.