This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PVR/SGX kernel module not working

Other Parts Discussed in Thread: TVP5150

Hi there,


I am using an AM437x GP EVM with Ubuntu 14.04 LTS and TI-Kernel 4.1.16 installed. I want to use the SGX/EGL graphics for Qt development including video processing. Unfortunatly the omapdrm_prv module does not work as expected. The module loads but does not present the device node /dev/pvrsrvkm. So pvrsrvinit fails with the following error message:

# pvrsrvinit
PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (129) [37, /srvinit.c]
PVR:(Error): main: SrvInit failed (129) [47, /pvrsrvinit.c]

Can you help me getting the PowerVR module to work?

Thank you in advance

  • Hi Steffen,

    Latest officially released kernel from TI is v4.1.13: software-dl.ti.com/.../index_FDS.html Have you tried if there is any problem with it?
  • I have tried 4.1.13 as well as the Graphics_SDK_5_01_01_02 and ti-processor-sdk-linux-am437x-evm-02.00.00.00
  • OK, thanks Steffen. I have asked the software team to help on this.
  • Hello Steffen,

    Could you attach the full boot log?

    Best regards,
    Kemal
  • Hi Kemal,


    I've atteched the boot log.


    Regards


    Steffen

    boot.log
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.1.13-g8dc6617 (root@det-workstation) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 4.9-2015.05) ) #1 PREEMPT Tue Feb 2 15:38:17 CET 2016
    [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine model: TI AM437x GP EVM
    [    0.000000] cma: Reserved 24 MiB at 0xfe400000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] On node 0 totalpages: 524287
    [    0.000000] free_area_init_node: node 0, pgdat c08f7148, node_mem_map ee5f9000
    [    0.000000]   Normal zone: 1710 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 194560 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 329727 pages, LIFO batch:31
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM437x ES1.1 (sgx neon )
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0 
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 522577
    [    0.000000] Kernel command line: console=ttyO0,115200n8 video=HDMI-A-1:800x600 consoleblank=0 root=PARTUUID=00000000-02 rw rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 2043532K/2097148K available (6423K kernel code, 268K rwdata, 2184K rodata, 276K init, 231K bss, 29040K reserved, 24576K cma-reserved, 1294332K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc087005c   (8609 kB)
    [    0.000000]       .init : 0xc0871000 - 0xc08b6000   ( 276 kB)
    [    0.000000]       .data : 0xc08b6000 - 0xc08f9128   ( 269 kB)
    [    0.000000]        .bss : 0xc08fc000 - 0xc0935d08   ( 232 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000] 	Additional per-CPU info printed with stalls.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [    0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [    0.000000] OMAP L2C310: ROM does not support power control setting
    [    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
    [    0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [    0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [    0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x7e430000
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000011] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000027] clocksource timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000036] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000173] Console: colour dummy device 80x30
    [    0.000196] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [    0.000201] This ensures that you still see kernel messages. Please
    [    0.000205] update your kernel commandline.
    [    0.000220] Calibrating delay loop... 1993.93 BogoMIPS (lpj=9969664)
    [    0.059154] pid_max: default: 32768 minimum: 301
    [    0.059253] Security Framework initialized
    [    0.059293] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.059302] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.059935] Initializing cgroup subsys blkio
    [    0.059957] Initializing cgroup subsys memory
    [    0.060002] Initializing cgroup subsys devices
    [    0.060015] Initializing cgroup subsys freezer
    [    0.060027] Initializing cgroup subsys perf_event
    [    0.060054] CPU: Testing write buffer coherency: ok
    [    0.060393] Setting up static identity map for 0x80008200 - 0x80008270
    [    0.062142] devtmpfs: initialized
    [    0.075993] device-tree: Duplicate name in base, renamed to "__symbols__#1"
    [    0.076062] device-tree: Duplicate name in base, renamed to "__local_fixups__#1"
    [    0.076669] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.090676] omap_hwmod: tptc0 using broken dt data from edma
    [    0.090822] omap_hwmod: tptc1 using broken dt data from edma
    [    0.090936] omap_hwmod: tptc2 using broken dt data from edma
    [    0.149814] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.151507] pinctrl core: initialized pinctrl subsystem
    [    0.152577] NET: Registered protocol family 16
    [    0.153878] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.179200] cpuidle: using governor ladder
    [    0.209191] cpuidle: using governor menu
    [    0.213157] omap_gpio 44e07000.gpio: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/gpio0_pins, deferring probe
    [    0.213589] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
    [    0.213819] OMAP GPIO hardware version 0.1
    [    0.214425] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
    [    0.215023] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
    [    0.215495] omap_gpio 48322000.gpio: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/display_mux_pins, deferring probe
    [    0.218878] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nand_flash_x8_default, deferring probe
    [    0.223242] No ATAGs?
    [    0.223274] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [    0.223284] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.255708] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.256209] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-v3_3d[0]'
    [    0.256548] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator-vtt[0]' - status (-517)
    [    0.256629] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator-mmcwl[0]' - status (0)
    [    0.259894] vgaarb: loaded
    [    0.260308] SCSI subsystem initialized
    [    0.260869] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins, deferring probe
    [    0.260914] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/i2c1_pins_default, deferring probe
    [    0.261054] media: Linux media interface: v0.10
    [    0.261107] Linux video capture interface: v2.00
    [    0.261153] pps_core: LinuxPPS API ver. 1 registered
    [    0.261158] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.261184] PTP clock support registered
    [    0.261827] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.262105] Advanced Linux Sound Architecture Driver Initialized.
    [    0.262736] Switched to clocksource timer1
    [    0.270879] NET: Registered protocol family 2
    [    0.271545] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.271619] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.271692] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.271831] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.271852] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.272004] NET: Registered protocol family 1
    [    0.272315] RPC: Registered named UNIX socket transport module.
    [    0.272327] RPC: Registered udp transport module.
    [    0.272332] RPC: Registered tcp transport module.
    [    0.272337] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.272370] PCI: CLS 0 bytes, default 64
    [    0.274385] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.274464] audit: initializing netlink subsys (disabled)
    [    0.274515] audit: type=2000 audit(0.260:1): initialized
    [    0.279539] VFS: Disk quotas dquot_6.6.0
    [    0.279702] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.281344] NFS: Registering the id_resolver key type
    [    0.281396] Key type id_resolver registered
    [    0.281403] Key type id_legacy registered
    [    0.281460] jffs2: version 2.2. (NAND) (SUMMARY)  \xffffffc2\xffffffa9\xffffffa9 2001-2006 Red Hat, Inc.
    [    0.283750] NET: Registered protocol family 38
    [    0.283848] bounce: pool size: 64 pages
    [    0.283864] io scheduler noop registered
    [    0.283874] io scheduler deadline registered
    [    0.283933] io scheduler cfq registered (default)
    [    0.285904] pinctrl-single 44e10800.pinmux: 199 pins at pa f9e10800 size 796
    [    0.288511] pwm-backlight backlight: GPIO lookup for consumer enable
    [    0.288528] pwm-backlight backlight: using device tree for GPIO lookup
    [    0.288540] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
    [    0.288548] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
    [    0.288555] pwm-backlight backlight: using lookup tables for GPIO lookup
    [    0.288564] pwm-backlight backlight: lookup for GPIO enable failed
    [    0.288582] backlight supply power not found, using dummy regulator
    [    0.290179] 4832a000.dss supply vdda_video not found, using dummy regulator
    [    0.290284] OMAP DSS rev 2.0
    [    0.290717] omapdss_dss 4832a000.dss: bound 4832a400.dispc (ops dispc_component_ops)
    [    0.291872] panel-dpi display: GPIO lookup for consumer enable
    [    0.291885] panel-dpi display: using device tree for GPIO lookup
    [    0.291897] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/display[0]'
    [    0.291906] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/display[0]'
    [    0.291913] panel-dpi display: using lookup tables for GPIO lookup
    [    0.291922] panel-dpi display: lookup for GPIO enable failed
    [    0.292503] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [    0.293685] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.296018] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [    0.296037] omap8250 44e09000.serial: GPIO lookup for consumer enable
    [    0.296045] omap8250 44e09000.serial: using device tree for GPIO lookup
    [    0.296057] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/ocp/serial@44e09000[0]'
    [    0.296067] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/ocp/serial@44e09000[0]'
    [    0.296074] omap8250 44e09000.serial: using lookup tables for GPIO lookup
    [    0.296083] omap8250 44e09000.serial: lookup for GPIO enable failed
    [    0.296455] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 25, base_baud = 3000000) is a 8250
    [    1.078817] console [ttyS0] enabled
    [    1.082803] omap8250 481a6000.serial: No clock speed specified: using default: 48000000
    [    1.090854] omap8250 481a6000.serial: GPIO lookup for consumer enable
    [    1.090863] omap8250 481a6000.serial: using device tree for GPIO lookup
    [    1.090874] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/ocp/serial@481a6000[0]'
    [    1.090883] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/ocp/serial@481a6000[0]'
    [    1.090890] omap8250 481a6000.serial: using lookup tables for GPIO lookup
    [    1.090899] omap8250 481a6000.serial: lookup for GPIO enable failed
    [    1.091226] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 26, base_baud = 3000000) is a 8250
    [    1.101038] [drm] Initialized drm 1.1.0 20060810
    [    1.115795] brd: module loaded
    [    1.123361] loop: module loaded
    [    1.127403] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.192794] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    1.198929] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
    [    1.205955] libphy: 4a101000.mdio: probed
    [    1.209998] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Micrel KSZ9031 Gigabit PHY
    [    1.220384] cpsw 4a100000.ethernet: Detected MACID = 34:b1:f7:30:f0:ea
    [    1.228630] mousedev: PS/2 mouse device common for all mice
    [    1.234381] i2c /dev entries driver
    [    1.239138] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    1.239153] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.239207] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (-517)
    [    1.239217] omap_hsmmc 48060000.mmc: lookup for GPIO cd failed
    [    1.239428] omap_hsmmc 47810000.mmc: GPIO lookup for consumer cd
    [    1.239439] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
    [    1.239450] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@47810000[0]'
    [    1.239458] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@47810000[0]'
    [    1.239466] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
    [    1.239475] omap_hsmmc 47810000.mmc: lookup for GPIO cd failed
    [    1.239486] omap_hsmmc 47810000.mmc: GPIO lookup for consumer wp
    [    1.239493] omap_hsmmc 47810000.mmc: using device tree for GPIO lookup
    [    1.239501] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@47810000[0]'
    [    1.239508] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@47810000[0]'
    [    1.239516] omap_hsmmc 47810000.mmc: using lookup tables for GPIO lookup
    [    1.239523] omap_hsmmc 47810000.mmc: lookup for GPIO wp failed
    [    1.273200] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.282664] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [    1.289774] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [    1.296986] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [    1.304976]  remoteproc0: wkup_m3 is available
    [    1.309450]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    1.319689]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    1.330301]  remoteproc0: Direct firmware load for am335x-pm-firmware.elf failed with error -2
    [    1.341477] oprofile: no performance counters
    [    1.345981]  remoteproc0: Falling back to user helper
    [    1.351273] oprofile: using timer interrupt.
    [    1.355939] Initializing XFRM netlink socket
    [    1.360279] NET: Registered protocol family 17
    [    1.364845] NET: Registered protocol family 15
    [    1.369405] Key type dns_resolver registered
    [    1.373910] omap_voltage_late_init: Voltage driver support not added
    [    1.380629] cpu cpu0: of_pm_voltdm_notifier_register: Failed to get cpu0 regulator/voltdm: -517
    [    1.389428] cpu cpu0: cpu0 clock notifier not ready, retry
    [    1.395261] ThumbEE CPU extension supported.
    [    1.399568] Registering SWP/SWPB emulation handler
    [    1.406909] omapdrm omapdrm.0: DMM not available, disable DMM support
    [    1.414271] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    1.420923] [drm] No driver support for vblank timestamp query.
    [    1.472318] Console: switching to colour frame buffer device 100x30
    [    1.495435] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    1.501381] omapdrm omapdrm.0: registered panic notifier
    [    1.532768] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
    [    1.539326] GPIO line 119 (SelEMMCorNAND) hogged as output/low
    [    1.545396] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
    [    1.546075] GPIO line 136 (SelLCDorHDMI) hogged as output/high
    [    1.552029] gpiochip_add: registered GPIOs 128 to 159 on device: gpio
    [    1.552542] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [    1.557772] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.563910] gpiochip_find_base: found new base at 510
    [    1.564044] gpiochip_add: registered GPIOs 510 to 511 on device: omap-gpmc
    [    1.564787] omap2-nand 8000000.nand: GPIO lookup for consumer ready
    [    1.564802] omap2-nand 8000000.nand: using device tree for GPIO lookup
    [    1.564816] of_get_named_gpiod_flags: can't parse 'ready-gpios' property of node '/ocp/gpmc@50000000/nand@0,0[0]'
    [    1.564854] of_get_named_gpiod_flags: parsed 'ready-gpio' property of node '/ocp/gpmc@50000000/nand@0,0[0]' - status (0)
    [    1.565002] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
    [    1.571386] nand: Micron MT29F4G08ABAEAWP
    [    1.575471] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
    [    1.583204] using OMAP_ECC_BCH16_CODE_HW ECC scheme
    [    1.588172] 10 ofpart partitions found on MTD device 8000000.nand
    [    1.594310] Creating 10 MTD partitions on "8000000.nand":
    [    1.599738] 0x000000000000-0x000000040000 : "NAND.SPL"
    [    1.605821] 0x000000040000-0x000000080000 : "NAND.SPL.backup1"
    [    1.612367] 0x000000080000-0x0000000c0000 : "NAND.SPL.backup2"
    [    1.619011] 0x0000000c0000-0x000000100000 : "NAND.SPL.backup3"
    [    1.625677] 0x000000100000-0x000000180000 : "NAND.u-boot-spl-os"
    [    1.632461] 0x000000180000-0x000000280000 : "NAND.u-boot"
    [    1.638742] 0x000000280000-0x0000002c0000 : "NAND.u-boot-env"
    [    1.645276] 0x0000002c0000-0x000000300000 : "NAND.u-boot-env.backup1"
    [    1.652398] 0x000000300000-0x000000a00000 : "NAND.kernel"
    [    1.659178] 0x000000a00000-0x000020000000 : "NAND.file-system"
    [    1.709938] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator-vtt[0]' - status (0)
    [    1.738204] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [    1.745145] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.751791] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    1.751808] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.751854] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (0)
    [    1.751872] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    1.756608] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [    1.756619] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    1.756630] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [    1.756639] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [    1.756647] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    1.756655] omap_hsmmc 48060000.mmc: lookup for GPIO wp failed
    [    1.793381] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22
    [    1.803613] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating voltage latency[950000<->1325000]:-22
    [    1.815213] hctosys: unable to open rtc device (rtc0)
    [    1.826409] vmmcwl_fixed: disabling
    [    1.830114] ALSA device list:
    [    1.833210]   No soundcards found.
    [    1.840225] Waiting for root device PARTUUID=00000000-02...
    [    1.870609] mmc1: host does not support reading read-only switch, assuming write-enable
    [    1.880852] mmc1: new high speed SDHC card at address 0007
    [    1.886847] mmcblk0: mmc1:0007 SD4GB 3.70 GiB 
    [    1.892879]  mmcblk0: p1 p2
    [    1.971842] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.980150] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    1.990457] devtmpfs: mounted
    [    1.993979] Freeing unused kernel memory: 276K (c0871000 - c08b6000)
    [    2.482925] random: init urandom read with 18 bits of entropy available
    [    2.827481] init: plymouth-upstart-bridge main process (76) terminated with status 1
    [    2.850796] init: plymouth-upstart-bridge main process ended, respawning
    [    2.969079] init: plymouth-upstart-bridge main process (86) terminated with status 1
    [    2.981395] init: plymouth-upstart-bridge main process ended, respawning
    [    2.998991] init: ureadahead main process (79) terminated with status 5
    [    3.511806] init: mounted-proc main process (102) terminated with status 1
    [    4.938912] systemd-udevd[219]: starting version 204
    [    5.379893]  remoteproc0: failed to load am335x-pm-firmware.elf
    [    5.419421]  remoteproc0: powering up wkup_m3
    [    5.420985]  remoteproc0: Direct firmware load for am335x-pm-firmware.elf failed with error -2
    [    5.421001]  remoteproc0: Falling back to user helper
    [    5.583408] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    5.604099] omap_rtc 44e3e000.rtc: already running
    [    5.604954] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    5.706133] of_get_named_gpiod_flags: can't parse 'gpio-reset' property of node '/ocp/i2c@4802a000/tlv320aic3106@1b[0]'
    [    5.717562] pixcir_ts 1-005c: GPIO lookup for consumer attb
    [    5.717581] pixcir_ts 1-005c: using device tree for GPIO lookup
    [    5.717595] of_get_named_gpiod_flags: can't parse 'attb-gpios' property of node '/ocp/i2c@4802a000/pixcir_ts@5c[0]'
    [    5.717624] of_get_named_gpiod_flags: parsed 'attb-gpio' property of node '/ocp/i2c@4802a000/pixcir_ts@5c[0]' - status (0)
    [    5.717689] pixcir_ts 1-005c: GPIO lookup for consumer reset
    [    5.717698] pixcir_ts 1-005c: using device tree for GPIO lookup
    [    5.717707] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@4802a000/pixcir_ts@5c[0]'
    [    5.717715] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@4802a000/pixcir_ts@5c[0]'
    [    5.717722] pixcir_ts 1-005c: using lookup tables for GPIO lookup
    [    5.717731] pixcir_ts 1-005c: lookup for GPIO reset failed
    [    5.746397] input: pixcir_tangoc as /devices/platform/44000000.ocp/4802a000.i2c/i2c-1/1-005c/input/input0
    [    5.764695] ov2659 1-0030: GPIO lookup for consumer pwrdn
    [    5.764714] ov2659 1-0030: using device tree for GPIO lookup
    [    5.764728] of_get_named_gpiod_flags: can't parse 'pwrdn-gpios' property of node '/ocp/i2c@4802a000/ov2659@30[0]'
    [    5.764737] of_get_named_gpiod_flags: can't parse 'pwrdn-gpio' property of node '/ocp/i2c@4802a000/ov2659@30[0]'
    [    5.764744] ov2659 1-0030: using lookup tables for GPIO lookup
    [    5.764753] ov2659 1-0030: lookup for GPIO pwrdn failed
    [    5.830704] CAN device driver interface
    [    5.839589] ov2659 1-0030: Found OV2656 sensor
    [    5.841222] ov2659 1-0030: ov2659 1-0030 sensor driver registered !!
    [    5.886857] c_can_platform 481cc000.can: c_can_platform device registered (regs=fa1cc000, irq=157)
    [    5.895159] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=158)
    [    5.927693] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    5.949311]  remoteproc0: request_firmware failed: -11
    [    5.967919]  remoteproc0: rproc_boot failed
    [    6.459068] of_get_named_gpiod_flags: parsed 'row-gpios' property of node '/matrix_keypad@0[0]' - status (0)
    [    6.459101] of_get_named_gpiod_flags: parsed 'row-gpios' property of node '/matrix_keypad@0[1]' - status (0)
    [    6.459124] of_get_named_gpiod_flags: parsed 'row-gpios' property of node '/matrix_keypad@0[2]' - status (0)
    [    6.459137] of_get_named_gpiod_flags: parsed 'col-gpios' property of node '/matrix_keypad@0[0]' - status (0)
    [    6.459154] of_get_named_gpiod_flags: parsed 'col-gpios' property of node '/matrix_keypad@0[1]' - status (0)
    [    6.459885] input: matrix_keypad@0 as /devices/platform/matrix_keypad@0/input/input1
    [    6.506000] PM: bootloader does not support rtc-only!
    [    6.611039] of_get_named_gpiod_flags: can't parse 'simple-audio-card,hp-det-gpio' property of node '/sound@0[0]'
    [    6.611058] of_get_named_gpiod_flags: can't parse 'simple-audio-card,mic-det-gpio' property of node '/sound@0[0]'
    [    6.614206] asoc-simple-card sound@0: tlv320aic3x-hifi <-> 4803c000.mcasp mapping ok
    [    8.219802] init: avahi-cups-reload main process (325) terminated with status 1
    [    8.603856] NET: Registered protocol family 10
    [    8.800504] net eth0: initializing cpsw version 1.15 (0)
    [    8.873112] net eth0: phy found : id is : 0x221622
    [    8.880906] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   11.296523] usbcore: registered new interface driver usbfs
    [   11.298250] usbcore: registered new interface driver hub
    [   11.300010] usbcore: registered new device driver usb
    [   11.406134] dwc3 48390000.usb: otg: primary host xhci-hcd.0.auto registered
    [   11.406160] dwc3 48390000.usb: otg: shared host xhci-hcd.0.auto registered
    [   11.406170] dwc3 48390000.usb: otg: can't start till gadget registers
    [   11.406309] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   11.406344] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    [   11.407174] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f06d hci version 0x100 quirks 0x00210010
    [   11.407233] xhci-hcd xhci-hcd.1.auto: irq 263, io mem 0x483d0000
    [   11.409834] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   11.409853] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.409861] usb usb1: Product: xHCI Host Controller
    [   11.409869] usb usb1: Manufacturer: Linux 4.1.13-g8dc6617 xhci-hcd
    [   11.409877] usb usb1: SerialNumber: xhci-hcd.1.auto
    [   11.421196] hub 1-0:1.0: USB hub found
    [   11.421696] hub 1-0:1.0: 1 port detected
    [   11.423818] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   11.423850] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    [   11.425289] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.425417] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [   11.425428] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.425437] usb usb2: Product: xHCI Host Controller
    [   11.425444] usb usb2: Manufacturer: Linux 4.1.13-g8dc6617 xhci-hcd
    [   11.425452] usb usb2: SerialNumber: xhci-hcd.1.auto
    [   11.428000] hub 2-0:1.0: USB hub found
    [   11.429096] hub 2-0:1.0: 1 port detected
    [   11.733038] usb 1-1: new low-speed USB device number 2 using xhci-hcd
    [   11.873978] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [   11.874103] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   11.881646] usb 1-1: New USB device found, idVendor=0461, idProduct=0010
    [   11.881666] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [   11.881674] usb 1-1: Product: USB Keyboard
    [   11.881682] usb 1-1: Manufacturer: NOVATEK
    [   11.886202] usb 1-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
    [   11.886321] usb 1-1: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes
    [   11.985848] usbcore: registered new interface driver usbhid
    [   11.985869] usbhid: USB HID core driver
    [   12.011373] input: NOVATEK USB Keyboard as /devices/platform/44000000.ocp/483c0000.omap_dwc3/483d0000.usb/xhci-hcd.1.auto/usb1/1-1/1-1:1.0/0003:0461:0010.0001/input/input2
    [   12.063602] hid-generic 0003:0461:0010.0001: input: USB HID v1.10 Keyboard [NOVATEK USB Keyboard] on usb-xhci-hcd.1.auto-1/input0
    [   12.066665] input: NOVATEK USB Keyboard as /devices/platform/44000000.ocp/483c0000.omap_dwc3/483d0000.usb/xhci-hcd.1.auto/usb1/1-1/1-1:1.1/0003:0461:0010.0002/input/input3
    [   12.124172] hid-generic 0003:0461:0010.0002: input: USB HID v1.10 Device [NOVATEK USB Keyboard] on usb-xhci-hcd.1.auto-1/input1
    [   13.621891] random: nonblocking pool is initialized
    [   17.367734] Registering clock platform driver.
    [   17.368175] gira-clk 44df8800.gira-clk: Found 44df8800.gira-clk at 44df8800 with size 00007800 mapped to f9df8800.
    [   17.390241] Registering PRUSS platform driver.
    [   17.390850] CLK CTRL: 44df8800 320: 00070002
    [   17.390866] CLK CTRL: 44df8800 300: 00000702
    [   17.390890] gira-pruss 54400000.pruss: RM_PER_RSTCTL: 00000003
    [   17.390905] gira-pruss 54400000.pruss: RM_PER_RSTCTL: 00000001
    [   17.390924] gira-pruss 54400000.pruss: Cannot find register offset for INTC!
    [   17.391358] gira-pruss 54400000.pruss: Found 54400000.pruss with IRQ=146, clock rate=200 MHz, PRUSS Version=47000200
    [   17.420467] Registering PWM platform driver.
    [   17.421231] gira-ehrpwm 48300200.ehrpwm: Found 48300200.ehrpwm at 48300200 with size 00000080 mapped to fa300200. IRQ=-6, clock rate=100 MHz
    [   17.426446] Registering CAP platform driver.
    [   17.427050] gira-ecap 48304100.ecap: Found 48304100.ecap at 48304100 with size 00000080 mapped to fa304100.
    [   17.459429] Registering GIRA DCS platform driver.
    [   17.459826] gira-dcs gira-dcs: Initialising GIRA DCS...
    [   17.459982] gira-dcs gira-dcs: Found PRUSS=ee137610 PWM=ee2ba210 CAP=ee2ba410
    [   17.459994] gira-dcs gira-dcs: Reading configuration from device tree.
    [   17.460013] gira-dcs gira-dcs: Enabling GPIO audio enable pin 67.
    [   17.460029] gpio-67 (matrix_kbd_row): gpiod_request: status -16
    [   17.460041] gira-dcs gira-dcs: No GPIO for audio enable available, error code: -16!
    [   17.460051] gpio-67 (matrix_kbd_row): _gpiod_direction_output_raw: tried to set a GPIO tied to an IRQ as output
    [   17.481249] gira-dcs gira-dcs: Activating PWM.
    [   17.481286] gira-ehrpwm 48300200.ehrpwm: frequency=50000 Hz divider=2 rate=25 MHz pulse=500 TBCTL=0830
    [   17.481336] gira-ehrpwm 48300200.ehrpwm: Enabling output pin B.
    [   17.481348] gira-dcs gira-dcs: Initialize PRU's shared memory.
    [   17.481370] gira-dcs gira-dcs: Allocating IRQs.
    [   17.481436] gira-pruss 54400000.pruss: Allocated IRQ no. 146
    [   17.481465] gira-pruss 54400000.pruss: Allocated IRQ no. 147
    [   17.481489] gira-pruss 54400000.pruss: Allocated IRQ no. 148
    [   17.481499] gira-dcs gira-dcs: Starting PRU.
    [   17.488915] gira-dcs gira-dcs: Enabling wakeup...
    [   17.488996] gira-dcs gira-dcs: Initialized GIRA bus system in productive mode, accepting error telegrams and using PWM at $48300200.
    [   17.489008] gira-dcs gira-dcs: Also using CAP device at $48304100.
    [   17.526087] tvp5150 0-005c: chip found @ 0xb8 (OMAP I2C adapter)
    [   17.526107] tvp5150 0-005c: *** unknown tvp5150 chip detected.
    [   17.526115] tvp5150 0-005c: *** Rom ver is 2.16
    [   17.831713] init: plymouth-upstart-bridge main process ended, respawning
    [   45.016882] gira-dcs gira-dcs: Wakeup IRQ...
    [   45.129030] gira-dcs gira-dcs: IRQ 147:   PRU state: 1    Error code: 0
    [   45.129078] gira-dcs gira-dcs: Read queued.
    

  • I thought the Ubuntu 14.04 LTS runs on your host machine not on your target. I am not sure if there is a support for X11 from TI side. In the log, I cannot see the PVR errors, could you also attach these.
  • Yes I'm running Ubuntu 14.04 on the target host. X11 is not running because the OMAP driver doesn't know the 4370 chipset (). In the boot log there is no error message.

    If I start the OGLES2ExampleUI application I get the following error message:

    root@am437x-evm:/usr/lib/arm-linux-gnueabihf# /usr/bin/SGX/demos/Raw/OGLES2ExampleUI

    MESA-LOADER: malformed or no PCI ID

    gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)

    gbm: Last dlopen error: /usr/lib/dri/omapdrm_dri.so: cannot open shared object file: No such file or directory

    failed to load driver: omapdrm

    gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)

    gbm: Last dlopen error: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory

    failed to load driver: kms_swrast

    libEGL warning: Could not open driver /usr/lib/arm-linux-gnueabihf/egl/egl_gallium.so (libgallium.so.0: cannot open shared object file: No such file or directory)

    S

  • OMAP4370 uses SGX 544, since your board is AM437x GP EVM it has AM437x family processor which uses SGX 530.

  • OK, but what does that mean for me? For me it's important having any driver for any SGX. Is there any X11 support for am437x/SGX530? What about the PVR support? The error message I posted was generated by a non X11 application (OGLES2ExampleUI) using PVR/OGLES. Obviously the app cannot find any driver.

  • Most probably you have absent libraries in the user space, check this link: processors.wiki.ti.com/.../Processor_Linux_SDK_Graphics_and_Display but unfortunately, this forum supports only the TI distributed Linux SDK, for the other distributions please refer to the community forums.
  • I have installed the following SDKs:

     * ti-processor-sdk-linux-am437x-evm-02.00.01.07/

     * Graphics_SDK_5_01_01_02/

    I have recompiled and installed successfully the linux kernel 4.1.13 delivered with the SDK. There are two kinds of kernel moduls mentioned in your wiki:

    1. omapdrm_pvr.ko which I got working with X11

    2. pvrsrvkm.ko, omaplfb.ko and bufferclass_ti.ko which should work for EGL/Qt as I understood.

    But unfortunately the omaplfb.ko is broken with a segmentation fault while modprobing this module:

    root@am437x-evm:~# modprobe omaplfb
    Segmentation fault

    The kernel log shows following message:

    [   41.730258] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [   41.750360] pgd = edbcc000
    [   41.753292] [00000000] *pgd=00000000
    [   41.756923] Internal error: Oops: 5 [#1] PREEMPT ARM
    [   41.761922] Modules linked in: omaplfb(O+) pvrsrvkm(O) gira_tvp5150(O) dcs_device(O) pwm_device(O) pru_device(O) clk_device(O) hid_generic usbhid xhci_plat_hcd xhci_hcd usbcore ipv6 dwc3 udc_core evdev joydev snd_soc_simple_card ti_am335x_adc kfifo_buf pm33xx industrialio matrix_keypad matrix_keymap dwc3_omap extcon am437x_vpfe omap_rng c_can_platform rng_core c_can can_dev pixcir_i2c_ts ov2659 snd_soc_tlv320aic3x rtc_omap omap_wdt ti_am335x_tsc phy_omap_usb2 ti_am335x_tscadc
    [   41.804764] CPU: 0 PID: 1041 Comm: modprobe Tainted: G           O    4.1.13-g8dc6617 #8
    [   41.812903] Hardware name: Generic AM43 (Flattened Device Tree)
    [   41.818865] task: ed9d9200 ti: ed2be000 task.ti: ed2be000
    [   41.824465] PC is at AllocateDeviceID+0xc/0x54 [pvrsrvkm]
    [   41.829982] LR is at PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm]
    [   41.836297] pc : [<bf1a3d74>]    lr : [<bf19f99c>]    psr: 40010013
    [   41.836297] sp : ed2bfd68  ip : ed2bfd78  fp : ed2bfd74
    [   41.847842] r10: bf0741ec  r9 : bf0741a8  r8 : bf074508
    [   41.853102] r7 : ed8a627c  r6 : 00000000  r5 : ed8a6204  r4 : 00000000
    [   41.859669] r3 : ed8aa300  r2 : 00000001  r1 : ed8aa308  r0 : 00000000
    [   41.866241] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [   41.873421] Control: 10c5387d  Table: adbcc059  DAC: 00000015
    [   41.879205] Process modprobe (pid: 1041, stack limit = 0xed2be210)
    [   41.885423] Stack: (0xed2bfd68 to 0xed2c0000)

    ...
    [   42.062752] Backtrace:
    [   42.065404] [<bf1a3d68>] (AllocateDeviceID [pvrsrvkm]) from [<bf19f99c>] (PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm])
    [   42.076529] [<bf19f8a0>] (PVRSRVRegisterDCDeviceKM [pvrsrvkm]) from [<bf074d58>] (OMAPLFBInit+0x334/0x568 [omaplfb])
    [   42.087108]  r7:bf07442c r6:bf074080 r5:bf076014 r4:ed8a6200
    [   42.092908] [<bf074a24>] (OMAPLFBInit [omaplfb]) from [<bf078010>] (OMAPLFB_Init+0x10/0x34 [omaplfb])
    [   42.102177]  r10:00000000 r9:00000001 r8:ed911dc0 r7:edbf75c0 r6:c08bac60 r5:bf078000
    [   42.110116]  r4:c08bac60
    [   42.112722] [<bf078000>] (OMAPLFB_Init [omaplfb]) from [<c00096d4>] (do_one_initcall+0x88/0x1e0)
    [   42.121591] [<c000964c>] (do_one_initcall) from [<c0642eb8>] (do_init_module+0x60/0x1b0)
    [   42.129726]  r10:bf075ed8 r9:00000001 r8:ed911dc0 r7:bf075f20 r6:edbf7540 r5:ed911dc8
    [   42.137663]  r4:bf075ed8
    [   42.140259] [<c0642e58>] (do_init_module) from [<c0092bd0>] (load_module+0x1b0c/0x1d40)
    [   42.148306]  r6:00000001 r5:ed911dc8 r4:ed2bff48
    [   42.153008] [<c00910c4>] (load_module) from [<c0092fa8>] (SyS_finit_module+0x6c/0x7c)
    [   42.160882]  r10:00000000 r9:ed2be000 r8:c000fa84 r7:0000017b r6:7f616398 r5:00000003
    [   42.168819]  r4:00000000
    [   42.171406] [<c0092f3c>] (SyS_finit_module) from [<c000f8e0>] (ret_fast_syscall+0x0/0x3c)
    [   42.179628]  r6:7f617990 r5:7f617e18 r4:7f617608
    [   42.184322] Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5902000)
    [   42.194978] ---[ end trace e15455481228ed66 ]---


    So, please help me getting these kernel module to work!

    Thank you!

  • Hi Steffen,

    These (pvrsrvkm.ko, omaplfb.ko and bufferclass_ti.ko) are old fb modules, you can modprobe them in SDK 8. There was a migration from fb to drm earlier. You can find some information in these pages.
    processors.wiki.ti.com/.../Sitara_Linux_LCDC_Porting_Guide
    processors.wiki.ti.com/.../AM335x_LCD_Controller_Driver's_Guide
    processors.wiki.ti.com/.../Linux_Core_LCD_Controller_User_Guide

    Best regards,
    Kemal

  • Hi Kemal,

    OK, I've got the omapdrm_pvr.ko driver working. The pvrsrvinit didn't worked because it used a wrong version of the libsrv_init.so and libsrv_um.so. After that I've got kmscube and OGLES2 example programs working. So you should update your wiki concerning the old kernel modules. The information is very confusing and outdated.

    Now the next challenge is to get Qt with eglfs platform plugin working. Your documentation mentions the library libpvrQWSWSEGL.so which I cannot find in the processor SDK. I found out that the last version of this library was for Qt 4.8, but I'm using Qt 5.2 and even the SDK uses Qt 5.5.

    Thanks in advance

    Regards,
    Steffen
  • Hi Steffen,

    Thank you for the contribution and sharing your solution with us.

    As from fb to drm, there was a migration from qws to eglfs too. The latest SDK where you can find this libpvrQWSWSEGL.so library is SDK 8. It does indeed supported up to Qt 4.8 and no longer exist in Qt 5. Here you can find more details about this migration.

    Best regards,
    Kemal