Hello,
I've been having issues getting the PowerVR driver working with the latest 06.00.00.00 SDK on a Beaglebone white. Here is break down of the steps I've taken so far:
Compiling TI EZSDK 06.00.00.00 for BeagleBone White with LCD7 Cape
1. Install Sitara SDK (ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install)
2. Clone sitara-board-linux git tree
• git clone git://gitorious.org/sitara-board-port/sitara-board-port-linux.git
3. Pull template, MMC/SD support, Ethernet, and LCD support tags
• git checkout 06.00.00.00-template
• git checkout 06.00.00.00-mmc
• git checkout 06.00.00.00-ethernet
• git checkout 06.00.00.00-touchscreen
4. Configure make
• make ARCH=arm CROSS_COMPILE=/home/sitara/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- tisdk_am335x-evm_defconfig
5. Build Kernel
• make ARCH=arm CROSS_COMPILE=/home/sitara/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- uImage
6. Build Modules
• make ARCH=arm CROSS_COMPILE=/home/sitara/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- modules
7. Install Modules
• sudo make ARCH=arm INSTALL_MOD_PATH=/home/sitara/ti-sdk-am335x-evm-06.00.00.00/targetNFS modules_install
8. Install Graphics SDK
• /home/sitara/ti-sdk-am335x-evm-06.00.00.00/Graphics_SDK_setuplinux_4_09_00_01_hardfp_minimal_demos.bin
• Install es8.x drivers to /home/sitara/Graphics_SDK_4_09_00_01
9. Modify Rules.make file to call out file locations per below:
• HOME=/home/sitara/
• CSTOOL_DIR=/home/sitara/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/
• CSTOOL_PREFIX=arm-linux-gnueabihf-
• KERNEL_INSTALL_DIR=/home/sitara/board-port/sitara-board-port-linux
• TARGETFS_INSTALL_DIR=/home/sitara/ti-sdk-am335x-evm-06.00.00.00/targetNFS
• GRAPHICS_INSTALL_DIR=/home/sitara/Graphics_SDK_4_09_00_01
10. Set source environment
• export ARCH=arm
11. Build graphics SDK
• make BUILD=release OMAPES=8.x all
12. Install graphics SDK
• make BUILD=release OMAPES=8.x all install
13. Rebuild Kernel, Modules, and install modules (Steps 5,6,7)
14. Copy built uImage to /home/sitara/image
• cp /home/sitara/board-port/sitara-board-port-linux/arch/arm/boot/uImage /home/sitara/image/uImage-board-port
15. Copy MLO and u-boot from prebuilt folder
• cp /home/sitara/ti-sdk-am335x-evm-06.00.00.00/board-support/prebuilt-images/MLO-am335x-evm /home/sitara/image/MLO-board-port
• cp /home/sitara/ti-sdk-am335x-evm-06.00.00.00/board-support/prebuilt-images/u-boot-am335x-evm.img /home/sitara/image/u-boot-board-port
16. Create SD card using create_sdcard script in SDK installation dir
Here is the what I get while booting:
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Linux version 3.2.0+ (sitara@sitara-VM) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #8 Wed Jul 3 08:53:20 CDT 2013
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: am335xevm
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] AM335X ES1.0 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 256MB = 256MB total
[ 0.000000] Memory: 253296k/253296k available, 8848k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0595000 (5684 kB)
[ 0.000000] .init : 0xc0595000 - 0xc05d0000 ( 236 kB)
[ 0.000000] .data : 0xc05d0000 - 0xc0638918 ( 419 kB)
[ 0.000000] .bss : 0xc063893c - 0xc0667624 ( 188 kB)
[ 0.000000] NR_IRQS:396
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[ 0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000122] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[ 0.058532] pid_max: default: 32768 minimum: 301
[ 0.058654] Security Framework initialized
[ 0.058746] Mount-cache hash table entries: 512
[ 0.059143] CPU: Testing write buffer coherency: ok
[ 0.079650] omap_hwmod: pruss: failed to hardreset
[ 0.080841] print_constraints: dummy:
[ 0.081207] NET: Registered protocol family 16
[ 0.083343] OMAP GPIO hardware version 0.1
[ 0.085937] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.088439] da8xx_lcdc.0: alias fck already exists
[ 0.088775] _omap_mux_get_by_name: Could not find signal ain0.ain0
[ 0.088806] _omap_mux_get_by_name: Could not find signal ain1.ain1
[ 0.088806] _omap_mux_get_by_name: Could not find signal ain2.ain2
[ 0.088836] _omap_mux_get_by_name: Could not find signal ain3.ain3
[ 0.088836] _omap_mux_get_by_name: Could not find signal vrefp.vrefp
[ 0.088867] _omap_mux_get_by_name: Could not find signal vrefn.vrefn
[ 0.089263] omap_hsmmc.0: alias fck already exists
[ 0.090362] omap2_mcspi.1: alias fck already exists
[ 0.090606] omap2_mcspi.2: alias fck already exists
[ 0.091522] edma.0: alias fck already exists
[ 0.091522] edma.0: alias fck already exists
[ 0.091552] edma.0: alias fck already exists
[ 0.118682] bio: create slab <bio-0> at 0
[ 0.120941] SCSI subsystem initialized
[ 0.122558] usbcore: registered new interface driver usbfs
[ 0.122863] usbcore: registered new interface driver hub
[ 0.123077] usbcore: registered new device driver usb
[ 0.125030] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.126129] Switching to clocksource gp timer
[ 0.141571] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.141967] NET: Registered protocol family 2
[ 0.142181] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.142486] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.142639] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.142730] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.142730] TCP reno registered
[ 0.142761] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.142791] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.143005] NET: Registered protocol family 1
[ 0.143249] RPC: Registered named UNIX socket transport module.
[ 0.143280] RPC: Registered udp transport module.
[ 0.143280] RPC: Registered tcp transport module.
[ 0.143280] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.143554] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.155548] VFS: Disk quotas dquot_6.5.2
[ 0.155609] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.156158] msgmni has been set to 494
[ 0.159454] alg: No test for stdrng (krng)
[ 0.160125] io scheduler noop registered
[ 0.160156] io scheduler deadline registered
[ 0.160217] io scheduler cfq registered (default)
[ 0.161560] da8xx_lcdc da8xx_lcdc.0: GLCD: Found TFC_S9700RTWV35TR_01B panel
[ 0.172943] Console: switching to colour frame buffer device 100x30
[ 0.179840] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 0.674224] console [ttyO0] enabled
[ 0.678497] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[ 0.686309] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[ 0.694122] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[ 0.701904] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[ 0.709655] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[ 0.717926] omap4_rng omap4_rng: OMAP4 Random Number Generator ver. 2.00
[ 0.734283] brd: module loaded
[ 0.742401] loop: module loaded
[ 0.745880] i2c-core: driver [tsl2550] using legacy suspend method
[ 0.752380] i2c-core: driver [tsl2550] using legacy resume method
[ 0.761108] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 0.768280] omap2-nand driver initializing
[ 0.772735] OneNAND driver initializing
[ 0.778015] CAN device driver interface
[ 0.782043] CAN bus driver for Bosch D_CAN controller 1.0
[ 0.836669] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[ 0.843139] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[ 0.850341] davinci_mdio.0: probed
[ 0.853912] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
[ 0.862823] usbcore: registered new interface driver zd1201
[ 0.868927] usbcore: registered new interface driver cdc_ether
[ 0.875183] usbcore: registered new interface driver cdc_eem
[ 0.881256] usbcore: registered new interface driver dm9601
[ 0.887145] cdc_ncm: 04-Aug-2011
[ 0.890655] usbcore: registered new interface driver cdc_ncm
[ 0.896575] Initializing USB Mass Storage driver...
[ 0.901855] usbcore: registered new interface driver usb-storage
[ 0.908111] USB Mass Storage support registered.
[ 0.913391] mousedev: PS/2 mouse device common for all mice
[ 0.920135] input: ti-tsc as /devices/platform/omap/ti_tscadc/tsc/input/input0
[ 0.928710] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0
[ 0.935729] am33xx-rtc: already running
[ 0.939910] i2c /dev entries driver
[ 0.943725] Linux video capture interface: v2.00
[ 0.948883] usbcore: registered new interface driver uvcvideo
[ 0.954864] USB Video Class driver (1.1.1)
[ 0.960083] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 0.966613] _regulator_get: deviceless supply vdd_mpu not found, using dummy regulator
[ 0.975341] cpuidle: using governor ladder
[ 0.980163] cpuidle: using governor menu
[ 0.986541] omap4_aes_mod_init: loading AM33X AES driver
[ 0.992248] omap4-aes omap4-aes: AM33X AES hw accel rev: 3.02
[ 0.999023] omap4_aes_probe: probe() done
[ 1.003417] omap4_sham_mod_init: loading AM33X SHA/MD5 driver
[ 1.009582] omap4-sham omap4-sham: AM33X SHA/MD5 hw accel rev: 4.03
[ 1.027557] omap4_sham_probe: probe() done
[ 1.034240] usbcore: registered new interface driver usbhid
[ 1.040100] usbhid: USB HID core driver
[ 1.044891] usbcore: registered new interface driver snd-usb-audio
[ 1.053131] ALSA device list:
[ 1.056243] No soundcards found.
[ 1.059814] oprofile: hardware counters not available
[ 1.065063] oprofile: using timer interrupt.
[ 1.069580] nf_conntrack version 0.5.0 (3957 buckets, 15828 max)
[ 1.076324] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.082031] TCP cubic registered
[ 1.085418] NET: Registered protocol family 17
[ 1.090087] can: controller area network core (rev 20090105 abi 8)
[ 1.096618] NET: Registered protocol family 29
[ 1.101257] can: raw protocol (rev 20090105)
[ 1.105712] can: broadcast manager protocol (rev 20090105 t)
[ 1.111663] Registering the dns_resolver key type
[ 1.116668] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 1.124694] ThumbEE CPU extension supported.
[ 1.129211] mux: Failed to setup hwmod io irq -22
[ 1.134826] Power Management for AM33XX family
[ 1.139709] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[ 1.146392] Copied the M3 firmware to UMEM
[ 1.150756] Cortex M3 Firmware Version = 0x181
[ 1.156036] sr_init: platform driver register failed
[ 1.166625] clock: disabling unused clocks to save power
[ 1.185485] Detected MACID=50:56:63:c6:e6:94
[ 1.190704] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.199737] cpsw: Detected MACID = 50:56:63:c6:e6:95
[ 1.205474] mmc0: new high speed SDHC card at address 0007
[ 1.212463] omap_rtc am33xx-rtc: setting system clock to 2013-06-25 23:48:55 UTC (1372204135)
[ 1.221862] mmcblk0: mmc0:0007 SD08G 7.21 GiB
[ 1.228790] mmcblk0: p1 p2
[ 1.237335] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
[ 1.244415] EXT3-fs (mmcblk0p2): write access will be enabled during recovery
[ 10.683624] kjournald starting. Commit interval 5 seconds
[ 10.689483] EXT3-fs (mmcblk0p2): recovery complete
[ 10.703155] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[ 10.710418] VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
[ 10.717987] Freeing init memory: 236K
INIT: version 2.88 booting
Starting udev
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
bootlogd.
[ 13.826629] EXT3-fs (mmcblk0p2): using internal journal
ALSA: Restoring mixer settings...
Configuring network interfaces... /usr/sbin/alsactl: load_state:1686: No soundcards found...
[ 14.491119] net eth0: CPSW phy found : id is : 0x7c0f1
udhcpc (v1.20.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
done.
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting Dropbear SSH server: dropbear.
Starting telnet daemon.
Performing wifi calibration...
rm: can't remove '/lib/firmware/ti-connectivity/wl1271-nvs.bin': No such file or directory
Error: Module wl12xx_sdio is not currently loaded
nl80211 not found.
FATAL: Module wl12xx_sdio not found.
Starting network benchmark server: netserver.
Starting syslogd/klogd: done
Starting thttpd.
Starting PVR
[ 24.616607] Disabling lock debugging due to kernel taint
[ 24.655670] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 24.664215] pgd = cf490000
[ 24.667022] [00000000] *pgd=8e05b831, *pte=00000000, *ppte=00000000
[ 24.673614] Internal error: Oops: 17 [#1]
[ 24.677795] Modules linked in: omaplfb(O+) pvrsrvkm(O)
[ 24.683166] CPU: 0 Tainted: G O (3.2.0+ #8)
[ 24.688934] PC is at AllocateDeviceID+0xc/0x54 [pvrsrvkm]
[ 24.694580] LR is at PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm]
[ 24.701110] pc : [<bf006ad4>] lr : [<bf0029a0>] psr: 40000013
[ 24.701141] sp : cf4e9e18 ip : cf4e9e28 fp : cf4e9e24
[ 24.713104] r10: bf037428 r9 : bf0371e0 r8 : bf037094
[ 24.718566] r7 : cf5b307c r6 : 00000000 r5 : cf5b3004 r4 : 00000000
[ 24.725372] r3 : cf4c6bc0 r2 : 00000001 r1 : cf4c6bc8 r0 : 00000000
[ 24.732177] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 24.739624] Control: 10c5387d Table: 8f490019 DAC: 00000015
[ 24.745605] Process modprobe (pid: 1312, stack limit = 0xcf4e82f0)
[ 24.752075] Stack: (0xcf4e9e18 to 0xcf4ea000)
[ 24.756622] 9e00: cf4e9e4c cf4e9e28
[ 24.765167] 9e20: bf0029a0 bf006ad4 ce07d140 cf4c6bc0 cf5b3000 bf03902c bf0370bc bf0370a8
[ 24.773681] 9e40: cf4e9e8c cf4e9e50 bf037cf8 bf0028b0 c01cc150 cf5c6010 cf5c6000 00000004
[ 24.782226] 9e60: 00000000 bf038ef8 bf038ef8 c0638940 cf4e8000 0000001c c0069754 bf03b000
[ 24.790771] 9e80: cf4e9e9c cf4e9e90 bf03b010 bf0379b0 cf4e9ef4 cf4e9ea0 c000876c bf03b00c
[ 24.799316] 9ea0: cf4e9ec4 cf4e9eb0 00000002 00000000 cf1e0300 d090d000 cf4e9ee4 cf4e9ec8
[ 24.807830] 9ec0: bf038ef8 bf038ef8 ce07d240 bf038ef8 bf038ef8 ce07d240 00000001 0000001c
[ 24.816375] 9ee0: c0069754 000007ed cf4e9fa4 cf4e9ef8 c006abec c0008650 bf038f04 c001a654
[ 24.824920] 9f00: 00000000 c0069854 d090f880 d0912904 00000000 bf038f40 cf6cf240 c05781b0
[ 24.833465] 9f20: 00000000 00000000 00000000 00000000 00000000 00000000 d090d000 00007da9
[ 24.842010] 9f40: d091242c d09122f5 d09145bc cf4c6bc0 00002034 000025c4 00000000 00000000
[ 24.850524] 9f60: 0000001e 0000001f 0000000f 0000000d 0000000c 00000000 00000002 00021f68
[ 24.859069] 9f80: 00000000 00021d80 00000080 c00148e8 cf4e8000 00000000 00000000 cf4e9fa8
[ 24.867614] 9fa0: c0014740 c006a814 00021f68 00000000 402c0000 00007da9 401d3230 00000002
[ 24.876159] 9fc0: 00021f68 00000000 00021d80 00000080 00021e80 00007da9 401d3230 00000000
[ 24.884674] 9fe0: 44baf5a0 be959980 401cbb24 44baf5b0 80000010 402c0000 fd030800 00086a02
[ 24.893218] Backtrace:
[ 24.895843] [<bf006ac8>] (AllocateDeviceID+0x0/0x54 [pvrsrvkm]) from [<bf0029a0>] (PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm])
[ 24.908142] [<bf0028a4>] (PVRSRVRegisterDCDeviceKM+0x0/0x188 [pvrsrvkm]) from [<bf037cf8>] (OMAPLFBInit+0x354/0x54c [omaplfb])
[ 24.920013] r7:bf0370a8 r6:bf0370bc r5:bf03902c r4:cf5b3000
[ 24.925964] [<bf0379a4>] (OMAPLFBInit+0x0/0x54c [omaplfb]) from [<bf03b010>] (OMAPLFB_Init+0x10/0x34 [omaplfb])
[ 24.936523] [<bf03b000>] (OMAPLFB_Init+0x0/0x34 [omaplfb]) from [<c000876c>] (do_one_initcall+0x128/0x1a8)
[ 24.946594] [<c0008644>] (do_one_initcall+0x0/0x1a8) from [<c006abec>] (sys_init_module+0x3e4/0x1b68)
[ 24.956237] [<c006a808>] (sys_init_module+0x0/0x1b68) from [<c0014740>] (ret_fast_syscall+0x0/0x30)
[ 24.965698] Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5902000)
[ 24.972106] ---[ end trace 6bc764c963660d5e ]---
/etc/rc5.d/S30pvr-init: line 42: 1312 Segmentation fault modprobe omaplfb
FATAL: Module bufferclass_ti not found.
[ 25.080566] Unhandled fault: external abort on non-linefetch (0x1018) at 0x4012a014
/usr/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=4)
Starting Lighttpd Web Server: 2013-06-25 23:49:18: (log.c.166) server started
lighttpd.
/
Starting Matrix GUI application.
ERROR: could not insert 'g_mass_storage': No such device
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Any help or ideas would be greatly appreciated!
-Pat