I am using a DM365 on a custom board. I am using a 2.6.37 kernel from arago.org. I am trying to convert an older application to use the new media framework. I am getting 0 entities enumerated and I suspect it is my filesystem (maybe missing /dev nodes). Where is the best place I can find and example of a root file system?
Here is the bootup and some ouput from a sample app called mt9p031_ccdc_prv_rsz_file:
U-Boot 2009.08 (May 15 2012 - 10:49:54)I2C: readyDRAM: 128 MBUsing default environmentIn: serialOut: serialErr: serialHit any key to stop autoboot: 0## Booting kernel from Legacy Image at 80700000 ... Image Name: Linux-2.6.37-ntouch_rcu Created: 2012-05-29 22:58:07 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 8077424 Bytes = 7.7 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OKOKStarting kernel ...Uncompressing Linux... done, booting the kernel.Linux version 2.6.37-ntouch_rcu (jlarsen@salmon) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #38 PREEMPT Tue May 29 16:58:01 MDT 2012CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177CPU: VIVT data cache, VIVT instruction cacheMachine: DaVinci DM365 NTOUCH RCUMemory policy: ECC disabled, Data cache writebackDaVinci dm36x_rev1.2 variant 0x8Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256Kernel command line: console=ttyS0,115200n8 rw mem=64M vpfe-capture.interface=1 vpfe-capture.bufsize=4147200PID hash table entries: 256 (order: -2, 1024 bytes)Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory: 64MB = 64MB totalMemory: 44928k/44928k available, 20608k reserved, 0K highmemVirtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xff000000 - 0xffe00000 ( 14 MB) vmalloc : 0xc4800000 - 0xfea00000 ( 930 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .init : 0xc0008000 - 0xc0025000 ( 116 kB) .text : 0xc0025000 - 0xc036e930 (3367 kB) .data : 0xc0370000 - 0xc039c0a0 ( 177 kB)SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1Preemptable hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled.NR_IRQS:245Console: colour dummy device 80x30Calibrating delay loop... 149.50 BogoMIPS (lpj=747520)pid_max: default: 32768 minimum: 301Mount-cache hash table entries: 512CPU: Testing write buffer coherency: okDaVinci: 8 gpio irqsNET: Registered protocol family 16bio: create slab <bio-0> at 0SCSI subsystem initializedvpss vpss: dm365_vpss vpss probedvpss vpss: dm365_vpss vpss probe successdm365_afew_hw_initDM365 IPIPE initialized in Continuous modeAdvanced Linux Sound Architecture Driver Version 1.0.23.Switching to clocksource timer0_1musb-hdrc: version 6.0, peripheral, debug=0NET: Registered protocol family 2IP route cache hash table entries: 1024 (order: 0, 4096 bytes)TCP established hash table entries: 2048 (order: 2, 16384 bytes)TCP bind hash table entries: 2048 (order: 1, 8192 bytes)TCP: Hash tables configured (established 2048 bind 2048)TCP reno registeredUDP hash table entries: 256 (order: 0, 4096 bytes)UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)NET: Registered protocol family 1RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.msgmni has been set to 87io scheduler noop registered (default)Serial: 8250/16550 driver, 2 ports, IRQ sharing disabledserial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550Aconsole [ttyS0] enabledserial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550Abrd: module loadeddavinci_mdio davinci_mdio.0: davinci mdio revision 1.4davinci_mdio davinci_mdio.0: detected phy mask fffffffcdavinci_mdio.0: probeddavinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknowndavinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknownconsole [netcon0] enablednetconsole: network logging startedi2c /dev entries driverLinux media interface: v0.10lirc_dev: IR Remote Control driver registered, major 253IR NEC protocol handler initializedIR RC5(x) protocol handler initializedIR RC6 protocol handler initializedIR JVC protocol handler initializedIR Sony protocol handler initializedIR RC5 (streamzap) protocol handler initializedIR LIRC bridge handler initializedLinux video capture interface: v2.00vpfe_initvpfe-capture: vpss clock vpss_master enableddm365_isif is registered with vpfe.imp serializer initializedAEW Driver initializedAF Driver initializedvpfe-capture vpfe-capture: v4l2 device registeredmt9p031 1-0048: Detected a MT9P031 chip ID 1801mt9p031: mt9p031 sensor driver registered !!vpfe-capture vpfe-capture: v4l2 sub device mt9p031 registeredDM365 IPIPEIF probedALSA device list: No soundcards found.TCP cubic registeredNET: Registered protocol family 17davinci_emac_probe: using random MAC addr: 62:21:d2:e3:67:ccFreeing init memory: 116K Enabling hot-plug : [SUCCESS][SUCCESS]mach: module license 'Proprietary' taints kernel.Disabling lock debugging due to kernel taintBuilt May 15 2012 at 10:52:34*** ntouch_rcu_release.sh script ***CMEMK module: built on May 15 2012 at 10:52:14 Reference Linux version 2.6.37 File /home/jlarsen/bsp_rcu_new_kernel/davinci1/open/linuxutils_2_26_03_06/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.callocated heap buffer 0xc5000000 of size 0x30f8000CMEM Range Overlaps Kernel Physical - allowing overlapCMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x84000000)cmemk initializedIRQK module: built on May 15 2012 at 10:52:15 Reference Linux version 2.6.37 File /home/jlarsen/bsp_rcu_new_kernel/davinci1/open/linuxutils_2_26_03_06/packages/ti/sdo/linuxutils/irq/src/module/irqk.cirqk initializedEDMAK module: built on May 15 2012 at 10:52:14 Reference Linux version 2.6.37 File /home/jlarsen/bsp_rcu_new_kernel/davinci1/open/linuxutils_2_26_03_06/packages/ti/sdo/linuxutils/edma/src/module/edmak.ccat9532: Using cat9532 16-bit LED driver at slave address 0x60NET: Registered protocol family 10modprobe: 'ext/rcu2r.ko': No such device*** STARTING APP ****app exited..rebooting RCUlogin[995]: root login on 'ttyS0'BusyBox v1.15.3 (2012-05-15 09:58:41 MDT) built-in shell (ash)Enter 'help' for a list of built-in commands.******* .profile script *******# ./mt9p031_ccdc_prv_rsz_filecalling cmem utilities for allocating frame buffIRQK Error: ioctl(): bad command type 0x4d (should be 0xfc)ersAllocating capture buffers :buf size = 692224Got 0x403b4000 from CMEM, phy = 0x87eae000Got 0x404f4000 IRQK Error: ioctl(): bad command type 0x4d (should be 0xfc)from CMEM, phy =IRQK Error: Unknown ioctl received: -1070314236. 0x87e05000Got 0x40690000 from CMEM, phy = 0x87d5c000**********************************************4.enumerating media entitiestotal number of entities: 0**********************************************5.enumerating links/pads for entities**********************************************6. ENABLEing link [tvp7002]----------->[ccdc]failed to enable link between tvp7002 and ccdcclosing all the file descriptors. . .closed media deviceSegmentation fault##
Hi,
You can take only video related from http://git.linuxtv.org/mhadli/v4l-dvb-davinci_devices.git this
git tree rest all stuff you need to take from the Arago itself.
Thx,
--Prabhakar Lad
Is there any reason that I cant get the resizer to output semi-planar format? I am using continuous mode. [MT9P031]--->[CCDC]--->[PRV]--->[RSZ]--->encode (need nv12)
I am now using video stuff from http://git.linuxtv.org/mhadli/v4l-dvb-davinci_devices.git branch mc_opensource_full and the rest of the kernel is arago linux-davinci. I am getting resizer B output but I cannot seem to make the output from A or B be in the semi-planar format (NV12). Does this code support this format in continuous mode?
Yes it does support NV12 format in continious mode too.
Thanks for your response. None of the examples produce NV12 in continuous mode. I have tried to do it myself. No matter what format I try and set on the resizer sink or source pad I get the same format which looks like UYVY8. I can see where it is supported in the kernel code but this code only gets run at the very start of my program somehow. Is does not get run when I set the resizer up. Is there any example or description on how to get NV12, in continuous mode, while using both resizers?
Please refer this post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/190773/693090.aspx#693090
I have attached application over there for NV12 in continuous mode.
Thanks I have used that application to create mine. I have another question. When I try to flip either vertical or horizontal in the resizer the frame freezes. I get subsequent frames but they rotate through about three frames then start again with the same three frames. Is this functionality supported?
Jeremy Larsen
From the outset looks like its supported. never tested it though.
Prabhakar Lad,
I am trying to upgrade from a 2.6.30 kernel, with early external video drivers (previewer, resizer, h3a,aew from TI), to a 2.6.37 kernel. These old video drivers are working fine with resizer B and flip horizontal and vertical working. The reason I want to upgrade is not for better video functionality. The reason for the upgrade is for better USB support. The USB in 2.6.30 is unstable and we have tried to find the problem at great lengths and failed. I would like to know what your suggestion would be to get the USB code working properly. I have tried updating video to using media controller framework and using kernel 2.6.37, but cant get video working correctly. Flip does not work and I cant get the semi-planar format correct.
I have also tried just using the old (2.6.30) video code in the new kernel but there are so many dependencies between the drivers/media/video/davinci folder and the arch/arm/mach-davinci folder. This makes it hard to use the old video code, plus there have been changes to v4l2.
Is there an easy way to get all the benefits of the new kernel but still use my old external video drivers?
Cant get video what is that its failing ? Cant get semi planar format correct
that is working if I am not wrong. I had posted in my earlier post, that app
is tested and is working.
I cannot get the semi-planar format correct. I need this format because the image is then encoded. It produces an image but the format is not correct. I tried continuous mode. Would I have better luck in single shot mode?
Also, if I flip horizontal or vertical (in the resizer) the video stream continues but just cycles through the same three frames.
My current plan is to us the 2.6.37 kernel but completely replace the video code with the 2.6.30 video code. This becomes tricky because of the dm365.c file in /arch/arm/mach-davinci is dependent on the new video code.
Jeremy