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.

TDA4VM: provided MCUSW mcu2_1 software for CAN can not be extended

Part Number: TDA4VM

Hello Tarun,

As we start working on mcu2_1 using the mcusw baseline you provided, something came up.

We moved the IPC application that we had from pdk mcu3_0 ( modifyng the makefiles of course), to mcusw mcu2_1, and now the Linux will not boot:

We copied the linker, and only the linker for now, the transceiver patch for linux not yet.

with not other changes except the linker, the linux booted.

"

U-Boot 2023.04-g71b8c840ca (Nov 27 2023 - 08:55:35 +0000)

SoC:   J721E SR1.1 GP
Model: Texas Instruments K3 J721E SoC
Board: J721EX-PM2-SOM rev A
DRAM:  4 GiB
Core:  126 devices, 35 uclasses, devicetree: separate
Flash: 0 Bytes
MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
Loading Environment from nowhere... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
Detected: J7X-BASE-CPB rev A
Detected: J7X-VSC8514-ETH rev A
cdns,sierra serdes@5000000: sierra probed
Net:   eth0: ethernet@46000000port@1
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
1519 bytes read in 25 ms (58.6 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
1 bytes read in 24 ms (0 Bytes/s)
Already setup.
gpio: pin gpio@22_17 (gpio 281) value is 1
gpio: pin gpio@22_16 (gpio 280) value is 0
k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
Failed to load '/lib/firmware/j7-mcu-r5f0_1-fw'
2189744 bytes read in 72 ms (29 MiB/s)
Load Remote Processor 2 with data@addr=0x82000000 2189744 bytes: Success!
2189744 bytes read in 71 ms (29.4 MiB/s)
Load Remote Processor 3 with data@addr=0x82000000 2189744 bytes: Success!
Failed to load '/lib/firmware/j7-main-r5f1_0-fw'
Failed to load '/lib/firmware/j7-main-r5f1_1-fw'

 Os init done994096 bytes read in 47 ms (20.2 MiB/s)
Load Remote Processor 6 with data@addr=0x82000000 994096 bytes: Success!
994096 bytes read in 47 ms (20.2 MiB/s)
Load Remote Processor 7 with data@addr=0x82000000 994096 bytes: Success!
13365392 bytes read in 303 ms (42.1 MiB/s)
Load Remote Processor 8 with data@addr=0x82000000 13365392 bytes: Success!
20367872 bytes read in 445 ms (43.6 MiB/s)
114792 bytes read in 28 ms (3.9 MiB/s)
Working FDT set to 88000000
3589 bytes read in 26 ms (134.8 KiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
   Loading Device Tree to 000000008fee0000, end 000000008fffffff ... OK
Working FDT set to 8fee0000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
[    0.000000] Linux version 6.1.46-g5892b80d6b (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREE
MPT Mon Nov 27 16:11:04 UTC 2023
[    0.000000] Machine model: Texas Instruments J721e EVM
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x00000008e0000000, size 512 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a4000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a4100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a5000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a5000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a5100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a5100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c66-dma-memory@a6000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c66-memory@a6100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c66-dma-memory@a7000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c66-memory@a7100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c71-dma-memory@a8000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c71-memory@a8100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000ac000000, size 2 MiB
[    0.000000] OF: reserved mem: initialized node r5f-virtual-eth-queues@ac000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000ac200000, size 30 MiB
[    0.000000] OF: reserved mem: initialized node r5f-virtual-eth-buffers@ac200000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
[    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a8ffffff]
[    0.000000]   node   0: [mem 0x00000000a9000000-0x00000000a9ffffff]
[    0.000000]   node   0: [mem 0x00000000aa000000-0x00000000abbfffff]
[    0.000000]   node   0: [mem 0x00000000abc00000-0x00000000abffffff]
[    0.000000]   node   0: [mem 0x00000000ac000000-0x00000000adffffff]
[    0.000000]   node   0: [mem 0x00000000ae000000-0x00000000ffffffff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
[    0.000000] psci: probing for conduit method from DT.

"

  • Hi,

    We copied the linker, and only the linker for now, the transceiver patch for linux not yet.

    Ween you want to use CAN, you need transceiver patch for Linux & u-boot.

    You can integrate the IPC to CAN example in a separate thread and use it.

    Best Regards,
    Sudheer

  • I do not want to use the CAN for now, just the IPC :), incremental stuff you know. we have the baseline ( which does not work, we know that), now we add the IPC and linker, to have it run.

    Untill the tresos license arrives, the CAN part is useless as the projects baud-rate is 500k.

  • Hello Mircea,

    Thanks for raising another thread.

    First of all, your EB tresos license request has been approved.

    If you want to shift PDK IPC to MCUSS Demos(Can profile test) , you need to understand better on the work flow of IPC .The reserved areas and resource table of MCU3_0  will be completely different from MCU2_1.I am not sure what exactly you shifted and of course copying the API's of PDK MCU3_0 are definitely not going to help on MCU2_1.This is going to be a altogether a different development.In my opinion if you are on mcusw ,preferrable to use CDD IPC(same PDK IPC) but different API's.

    If it helps we have CDD IPC Rproc Linux application which runs baremetal on MCU2_1 and communicates with A72 in mcusw.

    software-dl.ti.com/.../ug_cdd_ipc_top.html

     Regards

    Tarun Mukesh