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.

Linux/TCI6638K2K: SOC hung while running L1, and L2 LTE application in dual cell setup

Part Number: TCI6638K2K

Tool/software: Linux

Hi,

We are using our Custom HW Design based on K2KEVM. it uses SoC TCI6638K2K Silicon Rev 3.1 with MCSDK 3.01.04.07.

We are running LTE L2 and L1 application using TI's syslib_4_00_03_00 package in arm and dsp cores respectively.

The issue we are facing is at some point after the applications are up & running doing the data transfer (> 10 min) in dual cell setup, the SoC is not responding (console/ethernet not responding) and it seems like all the arm cores freeze and even 3 dsp cores freeze..

    • When connected via emulator through CCS, we cannot access (no halt/suspend) the ARM cores (with message "Trouble Halting Target CPU: (Error -1323 @ 0xC001DA88) Device failed to enter debug/halt mode because pipeline is stalled") & DSP cores 0,1,2 (with "Trouble Halting Target CPU: (Error -1202 @ 0x0) Device core is hung.") once the system is hung. We were able to halt/suspend after the applications are up but before the hung state.
    • We can access DDR3A by connecting to other 5 dsp cores (where no application is running and not affected).
    • We run the application in different data rate, still we face the hung issue.
    • We enabled all the debug options available in kernel config (like CONFIG_LOCKUP_DETECTOR, CONFIG_DEBUG_KERNEL, CONFIG_DEBUG_SHIRQ, CONFIG_DETECT_HUNG_TASK etc) still the device went to hung state.
    • We are setting the DDR3A_REMAP_EN pin to 1 to use DDR3A from arm view. We shared 1 GB to use for arm and 1GB for dsp application.
    • Data flow as below
      .SGMII<->L2(arm)<->L1(dsp)<->Aif2

we changed the linkram address as follow to solve hung in single cell, but this is not helping in 2 cell.

hwqueue0: hwqueue@2a40000 {
                       range          = <0 0x4000>;
                       linkram0       = <0x100000 0x8000>;
                       linkram1       = <0xC4C0000 0x100000>;


Is any changes required from kernel perspective(kernel version: Kernel RT 3.10.72 with patch of patch-3.10.72-rt77.patch)


We are not able to find the root cause for the problems, any help will be appreciated and please let me know if any information needed with respect to our setup...

Thanks & Regards

Yashavanth

  • Hi,

    Could you share the kernel output (dmesg log)?

    Best Regards,
    Yordan
  • Hi Kovachev,

    Please find the attachment for dmesg log.

    Thanks and regards,

    Yashavanth

    [   34.508056] usb usb2: usb_probe_device
    [   34.508062] usb usb2: configuration #1 chosen from 1 choice
    [   34.508068] xHCI xhci_add_endpoint called for root hub
    [   34.508072] xHCI xhci_check_bandwidth called for root hub
    [   34.508087] usb usb2: adding 2-0:1.0 (config #1, interface 0)
    [   34.508174] hub 2-0:1.0: usb_probe_interface
    [   34.508180] hub 2-0:1.0: usb_probe_interface - got id
    [   34.508186] hub 2-0:1.0: USB hub found
    [   34.511959] hub 2-0:1.0: 1 port detected
    [   34.515891] hub 2-0:1.0: standalone hub
    [   34.515896] hub 2-0:1.0: individual port power switching
    [   34.515900] hub 2-0:1.0: individual port over-current protection
    [   34.515905] hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns)
    [   34.515909] hub 2-0:1.0: power on to power good time: 20ms
    [   34.515920] hub 2-0:1.0: local power source is good
    [   34.515953] hub 2-0:1.0: enabling power on all ports
    [   34.516877] UBI: attaching mtd2 to ubi0
    [   34.562273] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
    [   34.562296] hub 1-0:1.0: hub_suspend
    [   34.562309] usb usb1: bus auto-suspend, wakeup 1
    [   34.611950] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
    [   34.612642] hub 2-0:1.0: hub_suspend
    [   34.612653] usb usb2: bus auto-suspend, wakeup 1
    [   37.259052] UBI: scanning is finished
    [   37.269019] UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 40, need 76
    [   37.281122] UBI: attached mtd2 (name "ubifs", size 1022 MiB) to ubi0
    [   37.287505] UBI: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
    [   37.294326] UBI: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
    [   37.301048] UBI: VID header offset: 4096 (aligned 4096), data offset: 8192
    [   37.307949] UBI: good PEBs: 4086, bad PEBs: 4, corrupted PEBs: 0
    [   37.313978] UBI: user volume: 2, internal volumes: 1, max. volumes count: 128
    [   37.321136] UBI: max/mean erase counter: 9/2, WL threshold: 4096, image sequence number: 503109380
    [   37.330130] UBI: available PEBs: 0, total reserved PEBs: 4086, PEBs reserved for bad PEB handling: 40
    [   37.339393] UBI: background thread "ubi_bgt0d" started, PID 1358
    [   37.345966] UBIFS: parse sync
    [   37.349387] UBIFS: background thread "ubifs_bgt0_1" started, PID 1361
    [   37.391285] UBIFS: recovery needed
    [   37.519297] UBIFS: recovery completed
    [   37.523024] UBIFS: mounted UBI device 0, volume 1, name "rootfs"
    [   37.529048] UBIFS: LEB size: 253952 bytes (248 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
    [   37.538218] UBIFS: FS size: 861151232 bytes (821 MiB, 3391 LEBs), journal size 9404416 bytes (8 MiB, 38 LEBs)
    [   37.548170] UBIFS: reserved for root: 0 bytes (0 KiB)
    [   37.553243] UBIFS: media format: w4/r0 (latest is w4/r0), UUID D6BBDA9B-FE11-463E-A5C2-A8EC3578C8EA, small LPT model
    [   37.564529] VFS: Mounted root (ubifs filesystem) on device 0:12.
    [   37.571951] devtmpfs: mounted
    [   37.575052] Freeing unused kernel memory: 328K (c0734000 - c0786000)
    [   38.302046] udevd[1387]: starting version 182
    [   38.593411] uio_module_drv mpax.4: registered misc device mpax
    [   38.618570] uio_module_drv edma3.5: registered misc device edma3
    [   38.646016] uio_module_drv secmgr.6: registered misc device secmgr
    [   38.653122] uio_module_drv qmss.7: registered misc device qmss
    [   38.661096] uio_module_drv hyperlink0.13: registered misc device hyperlink0
    [   38.679897] uio_module_drv hyperlink1.14: registered misc device hyperlink1
    [   38.703632] uio_module_drv srio.15: registered misc device srio
    [   38.741330] uio_module_drv emucnt.49: registered misc device emucnt
    [   39.406204] keystone-netcp 2090000.netcp: initializing cpsw version 1.3 (1) SGMII identification value 0x4ed1
    [   39.416276] keystone-netcp 2090000.netcp: Created a cpsw ale engine
    [   39.542511] pps pps0: new PPS source ptp0
    [   39.546547] cpts rftclk rate(600000000 HZ),mult(5120),shift(10),div(3)
    [   39.586761] keystone-netcp 2090000.netcp: Using Packet Accelerator Firmware version 0x03000105
    [   39.595414] keystone-netcp 2090000.netcp: pa_clk_rate(204800000 HZ),mult(20000),shift(12)
    [   39.892189] net eth0: netcp device eth0 opened
    [   39.898760] 8021q: adding VLAN 0 to HW filter on device eth0
    [  197.716703] HPLIBMOD Debug: init
    [  197.724599] HPLIBMOD Debug: hplibmod_init_module: Allocated 0xf00000 size memory from CMA.
    [  197.724605] HPLIBMOD Debug: hplibmod_init_module: dmaAddr 0xae900000
    [  197.724615] HPLIBMOD Debug: Allocated major number: 249
    [  197.724727] HPLIBMOD Debug: module loaded
    [  197.776784] HPLIBMOD Debug: open: called.
    [  197.776796] HPLIBMOD Debug: GETPHYS ioctl received.
    [  197.776801] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  197.776807] HPLIBMOD Debug: GETSIZE ioctl received.
    [  197.776811] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  197.776822] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5e87000
    [  197.776826] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  197.776830] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6d87000
    [  197.776834] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  197.776837] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  197.776994] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5b87000
    [  197.776998] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  197.777002] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5c87000
    [  197.777005] HPLIBMOD Debug: mmap: size              = 0x100000
    [  197.777018] HPLIBMOD Debug: mmap: page_prot=0x653
    [  201.725724] HPLIBMOD Debug: open: called.
    [  201.725856] HPLIBMOD Debug: INIT ioctl received.
    [  201.725987] HPLIBMOD Debug: INIT ioctl received.
    [  201.726144] HPLIBMOD Debug: INIT ioctl received.
    [  201.726276] HPLIBMOD Debug: INIT ioctl received.
    [  201.727240] HPLIBMOD Debug: GETPHYS ioctl received.
    [  201.727246] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  201.727252] HPLIBMOD Debug: GETSIZE ioctl received.
    [  201.727257] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  201.727268] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb55da000
    [  201.727272] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  201.727276] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb64da000
    [  201.727279] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  201.727283] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  201.727440] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb52da000
    [  201.727444] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  201.727448] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb53da000
    [  201.727451] HPLIBMOD Debug: mmap: size              = 0x100000
    [  201.727462] HPLIBMOD Debug: mmap: page_prot=0x653
    [  201.736670] HPLIBMOD Debug: close: called.
    [  204.757694] HPLIBMOD Debug: open: called.
    [  204.757706] HPLIBMOD Debug: GETPHYS ioctl received.
    [  204.757711] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  204.757717] HPLIBMOD Debug: GETSIZE ioctl received.
    [  204.757722] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  204.757731] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5e26000
    [  204.757735] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  204.757739] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6d26000
    [  204.757743] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  204.757746] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  204.757906] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5b26000
    [  204.757910] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  204.757913] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5c26000
    [  204.757917] HPLIBMOD Debug: mmap: size              = 0x100000
    [  204.757930] HPLIBMOD Debug: mmap: page_prot=0x653
    [  206.751835] HPLIBMOD Debug: open: called.
    [  206.751848] HPLIBMOD Debug: GETPHYS ioctl received.
    [  206.751853] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  206.751859] HPLIBMOD Debug: GETSIZE ioctl received.
    [  206.751879] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  206.751890] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5e45000
    [  206.751895] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  206.751906] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6d45000
    [  206.751917] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  206.751922] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  206.752084] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5b45000
    [  206.752088] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  206.752091] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5c45000
    [  206.752095] HPLIBMOD Debug: mmap: size              = 0x100000
    [  206.752107] HPLIBMOD Debug: mmap: page_prot=0x653
    [  208.754171] HPLIBMOD Debug: open: called.
    [  208.754184] HPLIBMOD Debug: GETPHYS ioctl received.
    [  208.754189] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  208.754194] HPLIBMOD Debug: GETSIZE ioctl received.
    [  208.754199] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  208.754208] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5e43000
    [  208.754213] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  208.754216] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6d43000
    [  208.754220] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  208.754224] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  208.754376] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5b43000
    [  208.754380] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  208.754383] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5c43000
    [  208.754387] HPLIBMOD Debug: mmap: size              = 0x100000
    [  208.754400] HPLIBMOD Debug: mmap: page_prot=0x653
    [  210.788483] HPLIBMOD Debug: open: called.
    [  210.788500] HPLIBMOD Debug: GETPHYS ioctl received.
    [  210.788506] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  210.788512] HPLIBMOD Debug: GETSIZE ioctl received.
    [  210.788517] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  210.788529] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5400000
    [  210.788533] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  210.788537] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6300000
    [  210.788541] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  210.788545] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  210.788702] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5100000
    [  210.788706] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  210.788710] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5200000
    [  210.788713] HPLIBMOD Debug: mmap: size              = 0x100000
    [  210.788726] HPLIBMOD Debug: mmap: page_prot=0x653
    [  212.773135] HPLIBMOD Debug: open: called.
    [  212.773150] HPLIBMOD Debug: GETPHYS ioctl received.
    [  212.773155] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  212.773161] HPLIBMOD Debug: GETSIZE ioctl received.
    [  212.773165] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  212.773176] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5d71000
    [  212.773180] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  212.773184] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6c71000
    [  212.773187] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  212.773191] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  212.773349] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5a71000
    [  212.773353] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  212.773356] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5b71000
    [  212.773360] HPLIBMOD Debug: mmap: size              = 0x100000
    [  212.773371] HPLIBMOD Debug: mmap: page_prot=0x653
    [  214.771461] HPLIBMOD Debug: open: called.
    [  214.771475] HPLIBMOD Debug: GETPHYS ioctl received.
    [  214.771480] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  214.771486] HPLIBMOD Debug: GETSIZE ioctl received.
    [  214.771490] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  214.771501] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5e0e000
    [  214.771505] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  214.771509] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6d0e000
    [  214.771513] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  214.771516] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  214.771672] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5b0e000
    [  214.771677] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  214.771680] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5c0e000
    [  214.771684] HPLIBMOD Debug: mmap: size              = 0x100000
    [  214.771696] HPLIBMOD Debug: mmap: page_prot=0x653
    [  216.830844] HPLIBMOD Debug: open: called.
    [  216.830859] HPLIBMOD Debug: GETPHYS ioctl received.
    [  216.830865] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  216.830870] HPLIBMOD Debug: GETSIZE ioctl received.
    [  216.830874] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  216.830886] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5c32000
    [  216.830890] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  216.830894] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6b32000
    [  216.830897] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  216.830901] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  216.831058] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5932000
    [  216.831062] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  216.831066] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5a32000
    [  216.831069] HPLIBMOD Debug: mmap: size              = 0x100000
    [  216.831082] HPLIBMOD Debug: mmap: page_prot=0x653
    [  220.879293]  remoteproc1: powering up 2620044.dsp1
    [  220.907765]  remoteproc2: powering up 2620048.dsp2
    [  220.936334]  remoteproc5: powering up 2620054.dsp5
    [  220.965182]  remoteproc6: powering up 2620058.dsp6
    [  222.143005] HPLIBMOD Debug: open: called.
    [  222.143024] HPLIBMOD Debug: GETPHYS ioctl received.
    [  222.143029] HPLIBMOD Debug: GETPHYS returning 0xae900000
    [  222.143037] HPLIBMOD Debug: GETSIZE ioctl received.
    [  222.143041] HPLIBMOD Debug: GETSIZE returning 0xf00000
    [  222.143054] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5d12000
    [  222.143058] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x0
    [  222.143062] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb6c12000
    [  222.143066] HPLIBMOD Debug: mmap: size              = 0xf00000
    [  222.143069] HPLIBMOD Debug: mmap: calling dma_mmap_coherent
    [  222.143239] HPLIBMOD Debug: mmap: vma->vm_start     = 0xb5a12000
    [  222.143243] HPLIBMOD Debug: mmap: vma->vm_pgoff     = 0x23a00
    [  222.143247] HPLIBMOD Debug: mmap: vma->vm_end       = 0xb5b12000
    [  222.143251] HPLIBMOD Debug: mmap: size              = 0x100000
    [  222.143261] HPLIBMOD Debug: mmap: page_prot=0x653
    [  224.112625]  remoteproc0: powering up 2620040.dsp0
    

  • Hi,

    Sorry for the delayed response.

    I glanced at the log and it doesn't seem to show anything abnormal. However, you've shared only part of it, not the whole dmesg (from the beginning of Linux kernel boot up).

    Anyway, regarding the ARM error shown when connecting to JTAG, refer to this link:
     

    It could be something useful. By the way it could be caused because you try to connect to arm after Linux is already running on your SoC, and I am not sure to what extent this is supported.

    The following link provides some information about the error you're getting when trying to connect to the DSPs:
     

    Have you tried leaving all ddr3a memory to the linux kernel and using ddr3b for your dsp applications?

    Best Regards,
    Yordan

  • Hi Yordan,

    Please find my answers below

    Anyway, regarding the ARM error shown when connecting to JTAG,

    It could be something useful. By the way it could be caused because you try to connect to arm after Linux is already running on your SoC, and I am not sure to what extent this is supported.

    >>> Yes I already reed this information, but our problem is why this issue is happening. We are more concerned in solving this issue instead of recovering it. and moreover in our case only hard-reset  is the option to recover it. I need to know any specific reason for hung during running L1 and L2 application. We noticed some variation in frequency of hung occurrence when we changed the LINKRAM1 size(we tried providing memory in MSMC region and ddr region with 3 MB size, but no luck). Is anything to do with QMSS number of descriptor or size? Or anything to do with RT Kernel?

    Have you tried leaving all ddr3a memory to the linux kernel and using ddr3b for your dsp applications?

    >>> We are spliting the ddr3a for ARM(1GiB) and DSP(1GiB) by setting mem_reserved = 1024MiB in U-Boot. We did this because we are loading the dsp application from user space utility MPMCL. Is there any way we can use ddr3b to load application from mpmcl to dsp cores?

    I think this is more into AIF2 starvation or Memory corruption in QMSS region, but not sure.

    Best Regards,
    Yashavanth K S

  • Hi, Yashavanth,

    The MCSDK 3.1.0.4 is too old to support. We won't be able to support any further. Besides, please read the Support Guidance FAQ in the link below regarding to TCI6638K2K device.

        https://e2e.ti.com/support/processors/f/791/t/809582

    Rex

  • Hi Rex,

    We are using MCSDK 3.01.04.07 not MCSDK 3.1.0.4, TI not supporting this version of MCSDK too??

    With regards,

    Yashavanth

  • Hi,


    Yes, MCSDK is outdated. As Rex mentioned you should consider the Support Guidance FAQ.

    Just wanted to add what came to my mind and maybe worth investigating:
     

    We are spliting the ddr3a for ARM(1GiB) and DSP(1GiB) by setting mem_reserved = 1024MiB in U-Boot. We did this because we are loading the dsp application from user space utility MPMCL.

    You should also have a memory mapping in linux kernel. In Processor SDK Linux releases this is done in k2hk-evm-cmem.dtsi & keystone-k2hk-evm.dts. You should have something similar in MCSDK, should be done in the board file.

    You may also need to modify your IPC resource table (you should have such in MCSDK):
       processors.wiki.ti.com/.../IPC_Resource_customTable


    Best Regards,
    Yordan

  • Hi Yordan,

    You should also have a memory mapping in linux kernel. In Processor SDK Linux releases this is done in k2hk-evm-cmem.dtsi & keystone-k2hk-evm.dts. You should have something similar in MCSDK, should be done in the board file.

    >>> Which memory mapping?? In k2hk-evm-cmem.dtsi in PRO-SDK have memory mapping with respect to cmem. Is it related to CMEMK? if so, We are not using it in our case.

    >>> In keystone-k2hk-evm.dts under reserved-memory label, dsp_common_memory and dsp_common_mpm_memory is defined, In our kernel code no where this label is used. If I add in my dts file it's of no use. Other then this no changes have seen with our dts file.

    You may also need to modify your IPC resource table (you should have such in MCSDK):
       processors.wiki.ti.com/.../IPC_Resource_customTable

    >>> our IPC resource table is same as PRO-SDK and it is located in the folder under mcsdk.

    mcsdk/ti/ipc_3_36_02_13/packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.h

    file has been attached.

     

    Regards,

    Yashavanth

    6082.rsc_table_vayu_dsp.h

  • Let me check this and I will come back with my feedback.

    Best Regards,
    Yordan

  • Hi,

    Sorry for the delayed respons. The attached file seems correct, for the moment I don't have other ideas (except checking the mpm_config.json) unfortunately, if I come up with another suggestions I will update the thread.

    I guess you use the default /etc/mpm/mpm_config.json file, right?

    Best Regards,
    Yordan