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.

TI SDK AM335x

Other Parts Discussed in Thread: AM3352

When will there be a SDK  with Kernel 3.14 or 3.16 available with fixed USB DMA issues for AM335x?

  • Which USB issues do you refer to?

  • problems with dma and isochronous usb transfer, especially in receiving continous frames from uvc camera.

    This doesn't work at all with expected performance on sdk 3.12

  • http://git.ti.com/ti-linux-kernel/ti-linux-kernel/commits/ti-linux-3.14.y

    This is the current working tree for the next SDK release with 3.14 kernel. Please check it if your issue still exits.

  • Please note that this 3.14 WIP tree has CPPI DMA disabled in omap2plus_defconfig, make sure you enable it for AM335x.

  • What's the real reason for using DMA default off.

    Performance with GPIO mode for uvc Cam apps is to slow with this mode in all use cases!

    Are there ongoing problems with silicone ?

    Regards Reinhard

  • When using the suggested ti 3.14 kernel boot hung with following messages: (ti SDK 7.0 kernel 3.12.10 works proper with the same configuration !)

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 3.14.16 (ru@nb-ru-deb) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #21 Wed Aug 13 09:56:40 CEST 2014
    [    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 model: Knobloch TXT AM3352
    [    0.000000] bootconsole [earlycon0] enabled
    [    0.000000] cma: CMA: reserved 24 MiB at 8d800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] On node 0 totalpages: 65280
    [    0.000000] free_area_init_node: node 0, pgdat c079c340, node_mem_map cfcee000
    [    0.000000]   Normal zone: 512 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 65280 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (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: 64768
    [    0.000000] Kernel command line: console=ttyO0,115200 root=/dev/mmcblk0p2 rw rootwait debug earlyprintk
    [    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: 226100K/261120K available (5271K kernel code, 484K rwdata, 1724K rodata, 273K init, 219K bss, 35020K 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]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc06dd004   (6997 kB)
    [    0.000000]       .init : 0xc06de000 - 0xc072272c   ( 274 kB)
    [    0.000000]       .data : 0xc0724000 - 0xc079d2f0   ( 485 kB)
    [    0.000000]        .bss : 0xc079d2f0 - 0xc07d3f90   ( 220 kB)
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    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: timer2 at 24000000 Hz
    [    0.000027] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
    [    0.008295] OMAP clocksource: timer1 at 24000000 Hz
    [    0.014011] Console: colour dummy device 80x30
    [    0.018722] Calibrating delay loop... 298.59 BogoMIPS (lpj=1492992)
    [    0.085774] pid_max: default: 32768 minimum: 301
    [    0.090799] Security Framework initialized
    [    0.095228] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.102140] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.125666] CPU: Testing write buffer coherency: ok
    [    0.131412] Setting up static identity map for 0x8052c168 - 0x8052c1d8
    [    0.140743] devtmpfs: initialized
    [    0.148756] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.175283] omap_hwmod: tptc0 using broken dt data from edma
    [    0.181384] omap_hwmod: tptc1 using broken dt data from edma
    [    0.187510] omap_hwmod: tptc2 using broken dt data from edma
    [    0.199539] omap_hwmod: debugss: _wait_target_disable failed
    [    0.272924] Bad mode in interrupt handler detected

  • Reinhard Russinger said:
    What's the real reason for using DMA default off.

    This is the reason I guess: The mainline kernel from kernel.org does not have am335x full entitlement yet, so this kernel has CPPI DMA off by default.  git.ti.com kernel 3.14.y branch is a work-in-progress repo based on the mainline 3.14 kernel, and the TI kernel development team is working on priorities, and has not got a chance to enable the DMA in omap2plus_defconfig yet.

    I am using 3.14.y with DMA enabled, and have not seen any issue yet. I have not got a chance to try webcam though.

  • Reinhard Russinger said:
    When using the suggested ti 3.14 kernel boot hung with following messages: (ti SDK 7.0 kernel 3.12.10 works proper with the same configuration !)

    Is this on AM335x TI reference board (EVMs) or your custom board? Have you changed any config from omap2plus_defconfig? If so, please first use omap2plus_defconfig without any modification to see if kernel boot properly.

    I have not sync'd my kernel local copy with git.ti.com yet for a few days, and my repo HEAD is

    2b30c8a Merge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree into ti-linux-3.14.y

    and I don't have any booting issue on AM335x GP EVM.

  • Hi Bin Liu,

    thank you for your support,

    have cloned

    git clone git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree.git pm-linux-feature-tree

    which of this branch could you suggest to check-out to get a sufficient result:

    ru@nb-ru-deb:~/WWWW/pm-linux-feature-tree$ git branch -r
      origin/HEAD -> origin/master
      origin/master
      origin/omap5-dvfs-pm-linux-3.8.y
      origin/omap5-pm-linux-3.8.y
      origin/omap5_pm-3.8-rc5
      origin/platform-base-3.10-rc6-dt-clk
      origin/platform-base-3.10-rc6-dt-clk-v2
      origin/pm-3.8
      origin/pm-3.8-rc5
      origin/pm-linux-3.8.y
      origin/pm-ti-linux-3.12.y
      origin/pm-ti-linux-3.12.y-am43xx-ds0
      origin/pm-ti-linux-3.12.y-next
      origin/pm-ti-linux-3.14.y
      origin/pm-ti-linux-3.14.y-next
      origin/ti-linux-3.12.y-am43xx-pm-extras
      origin/ti-linux-3.12.y-test
      origin/ti-linux-3.8-rc3
      origin/ti-linux-3.8-rc3-power

    Regards Reinhard

  • This seems to be kristo's pm tree. I know nothing about it.

    The tree you should clone is

        git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

    and checkout origin/ti-linux-3.14.y branch.

  • Many thanks,

    now it's booting nearly proper !

    I think the main reason was dts file for our Hardware

    changing

    &gpio0 {
            ti,no-reset;
    };

    &gpio3 {
            ti,no-reset;
    };

    to

    &gpio0 {
            ti,no-reset-on-init;
    };

    &gpio3 {
            ti,no-reset-on-init;
    };

    did the job ! (who's changed that attributes from 3.12 to 3.14 ?)

    DDR3 Ram was switched off on boot !

    Another Problem is the following message:

    [   63.851763]  remoteproc0: failed to load am335x-pm-firmware.elf
    [   63.867104]  remoteproc0: powering up wkup_m3
    [   63.874020]  remoteproc0: Direct firmware load failed with error -2
    [   63.880665]  remoteproc0: Falling back to user helper
    [   63.955406]  remoteproc0: request_firmware failed: -2
    [   63.960806] wkup_m3 44d00000.wkup_m3: rproc_boot failed

    not beeing abel to load firmware (I only have a am335x-pm-firmware.bin from SDK 7)

    ends up on OPP50 mode which I don't prefer !

    Regards Reinhard