Lost spidev after u-boot upgrade (2010.03 -> 2011.03)

Dear all,

I lost my spidev after I upgraded u-boot on my beagleboard. I hope someone knows what this is.

I can use my “I d/dev/spidev4.0” correctly with the beagle Trainer board on my beagleboard xM (B) when I use
U-Boot 2010.03 (Feb 20 2011 -30:15:58)
(From an Angstrom demo image)

And a patched kernel made with the Angstrom build system:
uImage-2.6.32-r100c+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155-beagleboard.multi-config-cpuidle-gether.bin

As next step I wanted to change my pinmux and I planned to do that with/in U-boot.

I compiled for that reason a new u-boot without any changes yet with the Angstrom build system
MACHINE=beagleboard ./oebb.sh bitbake u-boot
which resulted in the following file:
u-boot-beagleboard-2011.02+r75+gitrc7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8-r75.bin
(The filename does not 100% match with how u-boot announce it’s self)

But with this version are the entries under /dev/spidev* gone.

See my attached boot log of an unsuccessful situation.

Is there something changed with this U-boot? Does this version of u-boot expect that the pinmux is done in the Kernel?
Or should I have used a different recipe to build the correct u-boot for my beagle xM with the Trainer board?

Greetings,

Han

Full boot log:

Texas Instruments X-Loader 1.4.4ss (Feb 20 2011 - 20:16:03)
Beagle xM Rev A
Reading boot sector
Loading u-boot.bin from mmc

U-Boot 2011.03-rc1-00000-gc714eec-dirty (May 31 2011 - 21:58:57)

OMAP3630/3730-GP ES2.0, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

In: serial
Out: serial
Err: serial
Beagle xM Rev A
Recognized Tincantools Trainer board (rev 0 0)
Die ID #691400219ff80000015eeaa10201b027
Hit any key to stop autoboot: 3  2  1  0
The user button is currently NOT pressed.
SD/MMC found on device 0
reading uEnv.txt

** Unable to read “uEnv.txt” from mmc 0:1 **
Loading file “/boot/uImage” from mmc device 0:2 (xxa2)
3195988 bytes read
Booting from mmc …

Booting kernel from Legacy Image at 80200000 …

Image Name: Angstrom/2.6.32/beagleboard
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3195924 Bytes = 3 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.
[ 0.000000] Linux version 2.6.32 (koen@dominion) (gcc version 4.3.3 (GCC) ) #3 PREEMPT Mon Jan 24 17:19:47 CET 2011
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: OMAP3 Beagle Board
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] OMAP3630/DM3730 ES1.0 (l2cache iva sgx neon isp 192mhz_clk )
[ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000
[ 0.000000] Reserving 12582912 bytes SDRAM for VRAM
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: console=ttyS2,115200n8 mpurate=auto buddy=trainer camera=lbcm3m1 vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
[ 0.000000] Beagle expansionboard: trainer
[ 0.000000] Beagle cameraboard: lbcm3m1
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 256MB 256MB = 512MB total
[ 0.000000] Memory: 500352KB available (5900K code, 671K data, 204K init, 0K highmem)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:402
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[ 0.000000] Reprogramming SDRC clock to 332000000 Hz
[ 0.000000] GPMC revision 5.0
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[ 0.000000] Total of 96 interrupts on 1 active controller
[ 0.000000] OMAP GPIO hardware version 2.5
[ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Calibrating delay loop… 513.62 BogoMIPS (lpj=2007040)
[ 0.000000] Mount-cache hash table entries: 512
[ 0.000000] CPU: Testing write buffer coherency: ok
[ 0.000000] tmpfs: No value for mount option ‘mode’
[ 0.000000] devtmpfs: initialized
[ 0.000000] regulator: core version 0.5
[ 0.000000] NET: Registered protocol family 16
[ 0.000000] Beagle cameraboard: registering i2c2 bus for lbcm3m1
[ 0.000000] Beagle expansionboard: exporting GPIOs 130-141,162 to userspace
[ 0.000000] Found NAND on CS0
[ 0.000000] Registering NAND on CS0
[ 0.000000] Unable to get DVI reset GPIO
[ 0.000000] omap_init_mbox: platform not supported
[ 241.814605] OMAP DMA hardware revision 5.0
[ 241.820953] bio: create slab at 0
[ 241.822204] SCSI subsystem initialized
[ 241.823577] usbcore: registered new interface driver usbfs
[ 241.823730] usbcore: registered new interface driver hub
[ 241.823883] usbcore: registered new device driver usb
[ 241.824249] i2c_omap i2c_omap.1: bus 1 rev4.0 at 2600 kHz
[ 241.826904] twl4030: PIH (irq 7) chaining IRQs 368…375
[ 241.826934] twl4030: power (irq 373) chaining IRQs 376…383
[ 241.827209] twl4030: gpio (irq 368) chaining IRQs 384…401
[ 241.828948] regulator: VUSB1V5: 1500 mV normal standby
[ 241.829162] regulator: VUSB1V8: 1800 mV normal standby
[ 241.829376] regulator: VUSB3V1: 3100 mV normal standby
[ 241.830688] twl4030_usb twl4030_usb: Initialized TWL4030 USB module
[ 241.831115] regulator: VMMC1: 1850 ↔ 3150 mV normal standby
[ 241.831329] regulator: VDAC: 1800 mV normal standby
[ 241.831573] regulator: VPLL2: 1800 mV normal standby
[ 241.831817] regulator: VSIM: 1800 ↔ 3000 mV normal standby
[ 241.832122] regulator: VAUX3: 1800 mV normal standby
[ 241.832458] regulator: VAUX4: 1800 mV normal standby
[ 241.832611] i2c_omap i2c_omap.2: bus 2 rev4.0 at 400 kHz
[ 241.832946] i2c_omap i2c_omap.3: bus 3 rev4.0 at 100 kHz
[ 241.834228] Switching to clocksource 32k_counter
[ 241.843353] musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
[ 241.847412] musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
[ 241.847442] musb_hdrc musb_hdrc: MUSB HDRC host driver
[ 241.847564] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
[ 241.847717] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 241.847717] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 241.847747] usb usb1: Product: MUSB HDRC host driver
[ 241.847747] usb usb1: Manufacturer: Linux 2.6.32 musb-hcd
[ 241.847778] usb usb1: SerialNumber: musb_hdrc
[ 241.848388] hub 1-0:1.0: USB hub found
[ 241.848449] hub 1-0:1.0: 1 port detected
[ 241.849487] NET: Registered protocol family 2
[ 241.849700] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 241.850311] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[ 241.850677] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[ 241.850891] TCP: Hash tables configured (established 16384 bind 16384)
[ 241.850921] TCP reno registered
[ 241.850921] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 241.850952] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 241.851196] NET: Registered protocol family 1
[ 241.851623] RPC: Registered udp transport module.
[ 241.851654] RPC: Registered tcp transport module.
[ 241.851654] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 241.852508] omap-iommu omap-iommu.0: isp registered
[ 241.854248] VFS: Disk quotas dquot_6.5.2
[ 241.854339] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 241.855377] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 241.856170] JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 241.856994] msgmni has been set to 977
[ 241.860778] alg: No test for stdrng (krng)
[ 241.861053] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[ 241.861083] io scheduler noop registered
[ 241.861083] io scheduler deadline registered
[ 241.861236] io scheduler cfq registered (default)
[ 241.920440] OMAP DSS rev 2.0
[ 241.920471] OMAP DISPC rev 3.0
[ 241.920532] OMAP VENC rev 2
[ 241.920776] OMAP DSI rev 1.0
[ 242.257385] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 242.275756] serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654
[ 242.293457] serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654
[ 242.311096] serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654
[ 242.881439] console [ttyS2] enabled
[ 242.891693] brd: module loaded
[ 242.897949] loop: module loaded
[ 242.902465] omap2-nand driver initializing
[ 242.906921] No NAND device found!!!
[ 242.910552] No NAND device found!!!
[ 242.915069] usbcore: registered new interface driver catc
[ 242.920562] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
[ 242.926574] usbcore: registered new interface driver kaweth
[ 242.932220] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
[ 242.939849] usbcore: registered new interface driver pegasus
[ 242.945556] rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
[ 242.952575] usbcore: registered new interface driver rtl8150
[ 242.958343] usbcore: registered new interface driver asix
[ 242.963867] usbcore: registered new interface driver cdc_ether
[ 242.969848] usbcore: registered new interface driver dm9601
[ 242.975585] usbcore: registered new interface driver smsc95xx
[ 242.981414] usbcore: registered new interface driver gl620a
[ 242.987121] usbcore: registered new interface driver net1080
[ 242.992919] usbcore: registered new interface driver plusb
[ 242.998535] usbcore: registered new interface driver rndis_host
[ 243.004547] usbcore: registered new interface driver cdc_subset
[ 243.010589] usbcore: registered new interface driver zaurus
[ 243.016296] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 243.024383] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 243.031188] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
[ 243.037200] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2
[ 243.044799] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
[ 243.060943] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
[ 243.066833] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 243.073699] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 243.080963] usb usb2: Product: OMAP-EHCI Host Controller
[ 243.086334] usb usb2: Manufacturer: Linux 2.6.32 ehci_hcd
[ 243.091796] usb usb2: SerialNumber: ehci-omap.0
[ 243.097015] hub 2-0:1.0: USB hub found
[ 243.100860] hub 2-0:1.0: 3 ports detected
[ 243.131347] Initializing USB Mass Storage driver…
[ 243.136444] usbcore: registered new interface driver usb-storage
[ 243.142517] USB Mass Storage support registered.
[ 243.147552] mice: PS/2 mouse device common for all mice
[ 243.153198] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 243.161041] input: twl4030_pwrbutton as /devices/platform/i2c_omap.1/i2c-1/1-0049/twl4030_pwrbutton/input/input1
[ 243.171752] i2c /dev entries driver
[ 243.175842] Linux video capture interface: v2.00
[ 243.180816] omap-iommu omap-iommu.0: isp: version 1.1
[ 243.187225] vpfe_init
[ 243.190093] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[ 243.303497] mmci-omap-hs mmci-omap-hs.1: err -16 configuring card detect
[ 243.310546] Registered led device: beagleboard::usr0
[ 243.315704] Registered led device: beagleboard::usr1
[ 243.322235] Registered led device: beagleboard::pmu_stat
[ 243.329193] usbcore: registered new interface driver usbhid
[ 243.334869] usbhid: USB HID core driver
[ 243.338867] Advanced Linux Sound Architecture Driver Version 1.0.21.
[ 243.345794] usbcore: registered new interface driver snd-usb-audio
[ 243.406036] No device for DAI omap-mcbsp-dai-0
[ 243.410522] No device for DAI omap-mcbsp-dai-1
[ 243.415008] No device for DAI omap-mcbsp-dai-2
[ 243.419494] No device for DAI omap-mcbsp-dai-3
[ 243.423980] No device for DAI omap-mcbsp-dai-4
[ 243.428466] OMAP3 Beagle SoC init
[ 243.432586] asoc: twl4030 ↔ omap-mcbsp-dai-0 mapping ok
[ 243.444091] ALSA device list:
[ 243.447082] #0: omap3beagle (twl4030)
[ 243.451049] oprofile: using arm/armv7
[ 243.454986] TCP cubic registered
[ 243.458251] NET: Registered protocol family 17
[ 243.462829] NET: Registered protocol family 15
[ 243.467407] lib80211: common routines for IEEE802.11 drivers
[ 243.473114] ThumbEE CPU extension supported.
[ 243.477447] Power Management for TI OMAP3.
[ 243.481933] usb 2-2: new high speed USB device using ehci-omap and address 2
[ 243.489501] SmartReflex driver initialized
[ 243.493835] omap3beaglelmb: Driver registration complete
[ 243.506988] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 243.515380] registered taskstats version 1
[ 243.520355] fbcvt: 640x480@60: CVT Name - .307M3-R
[ 243.537353] Console: switching to colour frame buffer device 80x30
[ 243.553955] regulator_init_complete: incomplete constraints, leaving VAUX4 on
[ 243.561340] regulator_init_complete: incomplete constraints, leaving VAUX3 on
[ 243.568817] regulator_init_complete: incomplete constraints, leaving VDAC on
[ 243.576660] omap_vout omap_vout: probed for an unknown device
[ 243.582855] Waiting for root device /dev/mmcblk0p2…
[ 243.639465] usb 2-2: New USB device found, idVendor=0424, idProduct=9514
[ 243.646240] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 243.654235] hub 2-2:1.0: USB hub found
[ 243.658203] hub 2-2:1.0: 5 ports detected
[ 243.693878] mmc0: new high speed SDHC card at address e795
[ 243.699768] mmcblk0: mmc0:e795 SD04G 3.69 GiB
[ 243.704620] mmcblk0: p1 p2
[ 243.807128] kjournald starting. Commit interval 5 seconds
[ 243.951690] usb 2-2.1: new high speed USB device using ehci-omap and address 3
[ 244.051879] EXT3-fs (mmcblk0p2): using internal journal
[ 244.057189] EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
[ 244.064453] VFS: Mounted root (ext3 filesystem) on device 179:2.
[ 244.072753] devtmpfs: mounted
[ 244.075805] Freeing init memory: 204K
[ 244.092834] usb 2-2.1: New USB device found, idVendor=0424, idProduct=ec00
[ 244.099792] usb 2-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 244.110565] smsc95xx v1.0.4
[ 244.164031] usb0: register ‘smsc95xx’ at usb-ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, ea:db:7d:0e:21:a2
INIT: version 2.86 booting
Please wait: booting…
Starting udev
[ 245.795043] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
Remounting root file system…
Caching udev devnodes
Populating dev cache
[ 255.031951] Bluetooth: Core ver 2.15
[ 255.036773] NET: Registered protocol family 31
[ 255.041351] Bluetooth: HCI device and connection manager initialized
[ 255.047760] Bluetooth: HCI socket layer initialized
[ 255.073822] Bluetooth: L2CAP ver 2.14
[ 255.077606] Bluetooth: L2CAP socket layer initialized
[ 255.103149] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 255.262420] NET: Registered protocol family 10
[ 255.304473] Bluetooth: RFCOMM TTY layer initialized
[ 255.309417] Bluetooth: RFCOMM socket layer initialized
[ 255.314727] Bluetooth: RFCOMM ver 1.11
logger: mount error: could not resolve address for kumo: Name or service not known
logger: No ip address specified and hostname not found
ALSA: Restoring mixer settings…
Configuring network interfaces… ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
eth0 No such device

ifconfig: SIOCGIFFLAGS: No such device
usb0 no wireless extensions.

udhcpc (v1.13.2) started
run-parts: /etc/udhcpc.d/00avahi-autoipd exited with code 1
Sending discover…
[ 259.842102] usb0: link up, 100Mbps, full-duplex, lpa 0x45E1
Sending discover…
Sending select for 192.168.10.28…
Lease of 192.168.10.28 obtained, lease time 86400
run-parts: /etc/udhcpc.d/00avahi-autoipd exited with code 1
adding dns 192.168.10.1
done.
Starting portmap daemon: portmap.
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
vm.min_free_kbytes = 8192
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting Hardware abstraction layer hald
Starting Dropbear SSH server: dropbear.
Starting advanced power management daemon: No APM support in kernel
(failed.)
Starting Vixie-cron.
Starting Samba: smbd nmbd.
Starting syslogd/klogd: done
Starting internet superserver: xinetd.

  • Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
    [ ok ]
    Starting Network connection manager daemon: NetworkManager.
    Loading kernel modules for gstreamer-ti…
    Running /usr/share/ti/gst/omap3530/loadmodules.sh[ 271.254943] CMEMK module: built on Jan 25 2011 at 21:07:57
    [ 271.263885] Reference Linux version 2.6.32
    [ 271.270843] File /OE/angstrom-dev/work/beagleboard-angstrom-linux-gnueabi/ti-linuxutils-1_2_25_05_11-r100d/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    [ 271.299957] CMEM Range Overlaps Kernel Physical - allowing overlap
    [ 271.309539] CMEM phys_start (0x86300000) overlaps kernel (0x80000000 → 0xa0000000)
    [ 271.318328] CMEMK Error: Failed to request_mem_region(0x86300000, 16777216)
    FATAL: Error inserting cmemk (/lib/modules/2.6.32/kernel/drivers/dsp/cmemk.ko): Bad address
    [ 271.398773] DSPLINK Module (1.65.00.03) created on Date: Jan 25 2011 Time: 20:51:12
    [ 271.521728] SDMAK module: built on Jan 25 2011 at 21:08:00
    [ 271.531524] Reference Linux version 2.6.32
    [ 271.535858] File /OE/angstrom-dev/work/beagleboard-angstrom-linux-gnueabi/ti-linuxutils-1_2_25_05_11-r100d/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
    done
    Starting PVR
    Starting GNOME Display Manager gdm

.-------.

.-.

-----.-----.-----.| | .----…-----.-----.
__ | —'| ‘–.| .-’| | |

— || --‘| | | ’ | | | |
‘—’—’–‘–’–. |-----‘’----‘’–’ ‘-----’-‘-’-’
-’ |
‘—’

The Angstrom Distribution beagleboard ttyS2

Angstrom 2010.7-test-20110220 beagleboard ttyS2

beagleboard login: root
Password:
root@beagleboard:~# ls /dev/spi*
ls: /dev/spi*: No such file or directory
root@beagleboard:~#

Check you kernel config file whether spidev is enabled.
To the best of my knowledge, uboot can't do anything to spidev. It's a
Linux kernel
module..

That was what I thought as well. But the facts learns me that there is a influence of u-boot. I keep my kernel (uImage) between the change of u-boot the same.
(Linux beagleboard 2.6.32 #3 PREEMPT Mon Jan 24 17:19:47 CET 2011 armv7l unknown)

I was able to compile the old good working version of u-boot with the angstrom / open embedded frame work:

checkout 079995a40b582d1fb76267dd37830dccae62798b
gives me: u-boot-beagleboard-2010.03+r72+gitrca6e1c136ddb720c3bb2cc043b99f7f06bc46c55-r72.bin
With a working spidev.

checkout 30ebf8b488d1ab310cebb52e2750fee883cb84e9
gives me: u-boot-beagleboard-2011.02+r73+gitrc7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8-r73.bin
And with this version of u-boot is spidev already gone. And I get an kernel panic when I connect the OTG port.

See log dump at the end of this message.

There is clearly something changed between how u-boot 2010.3 and u-boot 2011.2 configures the SOC.
Maybe it has to do with a kind of clock setting to a sub system or a kind of power management related setting, which effectively disables the spi subsystem.

I should try what happens with a newer kernel in combination with this newer u-boot.
And I have to try if it makes a difference when I have a uEnv.txt (which is used by this newer u-boot)

It is strange that I am the only person with this problem… this probably means that I do something wrong.

Greetings,

Han

[32797.790954] Unable to handle kernel NULL pointer dereference at virtual address 00000014
[32797.799102] pgd = c0004000
[32797.801818] [00000014] *pgd=00000000
[32797.805419] Internal error: Oops: 17 [#1] PREEMPT
[32797.810150] last sysfs file: /sys/devices/virtual/gpio/gpio162/direction
[32797.816894] Modules linked in: bufferclass_ti omaplfb pvrsrvkm sdmak lpm_omap3530 dsplinkk rfcomm ipv6 hidp l2cap bluetooth rfkill minix rtc_twl mt9t112 rtc_core
[32797.831542] CPU: 0 Not tainted (2.6.32 #3)
[32797.836029] PC is at musb_interrupt+0x9f8/0xbb8
[32797.840576] LR is at musb_interrupt+0x9e4/0xbb8
[32797.845153] pc : [] lr : [] psr: 60000193
[32797.845153] sp : c0627ee0 ip : c0627f18 fp : 000000f0
[32797.856689] r10: 00000000 r9 : 00000099 r8 : 00000009
[32797.861938] r7 : 00000000 r6 : df81f108 r5 : 00000001 r4 : 00000000
[32797.868499] r3 : 00000000 r2 : 00000000 r1 : fa0ab000 r0 : df81f108
[32797.875061] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
[32797.882507] Control: 10c5387d Table: 9f0cc019 DAC: 00000017
[32797.888275] Process swapper (pid: 0, stack limit = 0xc06262f0)
[32797.894134] Stack: (0xc0627ee0 to 0xc0628000)
[32797.898529] 7ee0: 00000000 033f0013 44aaa449 00000000 440555eb df81f108 60000113 df8958c0
[32797.906768] 7f00: c0626000 0000005c 00000000 00000000 c066dac0 c03419a0 c0627f48 df8958c0
[32797.914978] 7f20: c063b148 c00a4328 00000000 df8958c0 c063b148 0000005c 00000002 00000001
[32797.923217] 7f40: c0626000 0000001f 00000000 c00a64f0 0000005c 00000000 c0629e84 c003b074
[32797.931457] 7f60: c003b078 ffffffff fa200000 c003bb44 00000000 80000013 80000013 00000000
[32797.939666] 7f80: c0626000 c0629fe0 c0629e84 c0671acc 8002f154 413fc082 0000001f 00000000
[32797.947906] 7fa0: c0639138 c0627fbc c004ba8c c004c2e4 60000013 ffffffff 60000013 c003cfc4
[32797.956115] 7fc0: 00000000 c06b8ba0 c0671a90 c0031010 c0629e78 c0008984 c0008498 00000000
[32797.964355] 7fe0: 00000000 c0031010 10c53c7d c0671b20 c0031414 80008034 00000000 00000000
[32797.972595] [] (musb_interrupt+0x9f8/0xbb8) from [] (generic_interrupt+0x64/0xa8)
[32797.981903] [] (generic_interrupt+0x64/0xa8) from [] (handle_IRQ_event+0xac/0x1ec)
[32797.991271] [] (handle_IRQ_event+0xac/0x1ec) from [] (handle_level_irq+0xbc/0x148)
[32798.000640] [] (handle_level_irq+0xbc/0x148) from [] (asm_do_IRQ+0x74/0x98)
[32798.009399] [] (asm_do_IRQ+0x74/0x98) from [] (__irq_svc+0x44/0xa8)
[32798.017425] Exception stack(0xc0627f70 to 0xc0627fb8)
[32798.022521] 7f60: 00000000 80000013 80000013 00000000
[32798.030731] 7f80: c0626000 c0629fe0 c0629e84 c0671acc 8002f154 413fc082 0000001f 00000000
[32798.038970] 7fa0: c0639138 c0627fbc c004ba8c c004c2e4 60000013 ffffffff
[32798.045623] [] (__irq_svc+0x44/0xa8) from [] (omap3_pm_idle+0x4c/0x50)
[32798.053955] [] (omap3_pm_idle+0x4c/0x50) from [<00000000>] (0x0)
[32798.060882] Code: e3530003 13a02000 05963078 05933018 (05d33014)
[32798.067047] —[ end trace 4c5f29ed62f27dea ]—
[32798.071716] Kernel panic - not syncing: Fatal exception in interrupt

Atleast with the "Connect to OTG port and boot" part of your message,
it seems to be an issue with the 2.6.32 kernel. I have seen this
myself, and didn't think it was U-boot as it didn't occur with the
newer 2.6.39 kernels

If I'm right, this problem has to do with the OTG autodetect code in
the 2.6.32 kernel that panics before a USB gadget module is loaded, I
haven't explored this problem much further.

thanks,
Joel

Atleast with the “Connect to OTG port and boot” part of your message,
it seems to be an issue with the 2.6.32 kernel. I have seen this
myself, and didn’t think it was U-boot as it didn’t occur with the
newer 2.6.39 kernels

If I’m right, this problem has to do with the OTG autodetect code in
the 2.6.32 kernel that panics before a USB gadget module is loaded, I
haven’t explored this problem much further.

thanks,
Joel

I don’t think that this is 100% a kernel issue. With the old u-boot (version 2010.3) is this OTG usb gadget problem not happening and are the SPI devices available.

With the same Kernel and the newer u-boot (version 2011.2) are the SPI devices gone and is my OTG usb gadget giving this kernel crash.

I am not an expert, but I think that the old U-boot is configuring the SOC better than the new one.
The new U-boot configures just the necessary parts and relies on a more advanced kernel to do the complete configuration of the SOC.
I do think that the new method is better; u-boot is just a boot loader and the kernel should take responsibility for the configuration of the parts it want to use. But with the current Angstrom configuration I am stuck to the 2.6.32 kernel, which is not able to do the complete configuration…

If the above is the case, then the needed kernel version in the Angstrom-2008.1.conf configuration should be increased. (Or U-boot version decreased, but that is not really easily possible with the u-boot_git.bb recipe).

I did not find time yet;
I still have to check what the newer kernels of Angstrom / openembedded for the beagleboard are doing with the latest u-boot recipe.
And I should see what happens if I just go to the Angstrom-2010.x.conf version.

Greetings,

Han

Dear all,

I could solve this problem myself. It was actually a stupid mistake from me:

  • U-boot 2010.03 takes the uImage from the first (FAT) partition
  • U-boot 2011.03 takes the uImage from the /boot directory on the rootfs.
    So every time that I used the newer U-boot version I actually started an old “stray” kernel, which did not the include the changes I made to activate the SPIDEV.

After I copied my new kernel to the first partition and the /boot directory on the roofs is the behaviour independent from the u-boot version. The spidev works always.

Greetings,

Han