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: Issue in QNX+RTOS SD boot using SPL+Uboot

Part Number: TDA4VM

Hello,

My environment is as follows.

Host OS: Ubuntu 20.04 LTS 64-bit

SDK: PROCESSOR-SDK-RTOS-J721E 7.01.00.11

EVM: J721EXCP01EVM+J721EXSOMG01EVM

I am attempting to run vision app demos in QNX+RTOS mode using SD card. I followed all steps from TI documentation on this topic. When I boot up the EVM, it shows the following output.

U-Boot SPL 2020.01-g3c9ebdb87d (Nov 19 2020 - 18:33:21 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla')
Trying to boot from MMC2
Loading Environment from MMC... *** Warning - No MMC card found, using default environment

Starting ATF on ARM64 core...

NOTICE:  BL31: v2.3():07.01.00.004-1-g52c334fc3-dirty
NOTICE:  BL31: Built : 18:17:14, Nov 19 2020

U-Boot SPL 2020.01-g3c9ebdb87d (Nov 19 2020 - 18:29:59 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0014 '20.8.5--v2020.08b (Terrific Lla')
Detected: J7X-BASE-CPB rev E3
Detected: J7X-GESI-EXP rev E2
Detected: J7X-VSC8514-ETH rev E2
Trying to boot from MMC2


U-Boot 2020.01-g3c9ebdb87d (Nov 19 2020 - 18:29:59 +0000)

SoC:   J721E SR1.0
Model: Texas Instruments K3 J721E SoC
Board: J721EX-PM2-SOM rev E7
DRAM:  4 GiB
not found for dev hbmc-mux
Flash: 0 Bytes
MMC:   sdhci@4f80000: 0, sdhci@4fb0000: 1
Loading Environment from MMC... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
Detected: J7X-BASE-CPB rev E3
Detected: J7X-GESI-EXP rev E2
Detected: J7X-VSC8514-ETH rev E2
Net:   
Warning: ethernet@46000000 using MAC address from ROM
eth0: ethernet@46000000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
530 bytes read in 5 ms (103.5 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
5212472 bytes read in 118 ms (42.1 MiB/s)
Load Remote Processor 2 with data@addr=0x82000000 5212472 bytes: Success!
1964000 bytes read in 49 ms (38.2 MiB/s)
Load Remote Processor 3 with data@addr=0x82000000 1964000 bytes: Success!
1579120 bytes read in 38 ms (39.6 MiB/s)
Load Remote Processor 6 with data@addr=0x82000000 1579120 bytes: Success!
1579120 bytes read in 39 ms (38.6 MiB/s)
Load Remote Processor 7 with data@addr=0x82000000 1579120 bytes: Success!
9969592 bytes read in 91 ms (104.5 MiB/s)
Load Remote Processor 8 with data@addr=0x82000000 9969592 bytes: Success!
8173184 bytes read in 176 ms (44.3 MiB/s)
## Starting application at 0x80080000 ...
MMU: 16-bit ASID 44-bit PA TCR_EL1=b5183519
cpu0: MPIDR=80000000
cpu0: MIDR=411fd080 Cortex-A72 r1p0
cpu0: CWG=4 ERG=4 Dminline=4 Iminline=4 PIPT
cpu0: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu0: L1 Icache 48K linesz=64 set/way=256/3
cpu0: L1 Dcache 32K linesz=64 set/way=256/2
cpu0: L2 Unified 1024K linesz=64 set/way=1024/16
Display set to R5
Loading IFS...decompressing...done
cpu1: MPIDR=80000001
cpu1: MIDR=411fd080 Cortex-A72 r1p0
cpu1: CWG=4 ERG=4 Dminline=4 Iminline=4 PIPT
cpu1: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu1: L1 Icache 48K linesz=64 set/way=256/3
cpu1: L1 Dcache 32K linesz=64 set/way=256/2
cpu1: L2 Unified 1024K linesz=64 set/way=1024/16

System page at phys:0000000080011000 user:ffffff8040254000 kern:ffffff8040251000
Starting next program at vffffff80600883c0
All ClockCycles offsets within tolerance
Welcome to QNX Neutrino 7.1.0 on the TI J721E EVM Board!!
Starting random service ...
start serial driver
Starting MMC/SD memory card driver... eMMC
Starting MMC/SD memory card driver... SD
Starting XHCI driver on USB3SS0 and USB3SS1
Path=0 - am65x
 target=0 lun=0     Direct-Access(0) - SDMMC: S0J56X Rev: 1.0
Setting environment variables...
done..
Looking for user script to run: /ti_fs/scripts/user.sh
Unable to access /ti_fs/scripts/user.sh                                                                    
done...                                                                                                    
J7EVM# 

As per TI suggestion in E2E post https://e2e.ti.com/support/processors-group/processors/f/processors-forum/982877/tda4vm-sd-card-boot-qnx-unable-to-access-ti_fs-scripts-user-sh, I ran the QNX SD launch commands and received the following output.

J7EVM# slay -f devb-sdmmc-am65x                                                                            
slay: proc/boot/devb-sdmmc-am65x 9 on (tty not known)                                                      
slay: proc/boot/devb-sdmmc-am65x 10 on (tty not known)                                                     
J7EVM# slog2info -c
J7EVM# slog2info -w &
[1] 49161
                                          random.5                  low     0  -----UNSYNC-----
                                          random.5                 high     0  -----UNSYNC-----
Jan 01 00:00:00.010                      console.2                           0  -----ONLINE-----
                                         console.2                  out     0  -----UNSYNC-----
Jan 01 00:00:00.017                       random.5                           0  -----ONLINE-----
                                          random.5              default     0  -----UNSYNC-----
Jan 01 00:00:00.018                    random.5..0                           0  -----ONLINE-----
                                       random.5..0                 slog     0  -----UNSYNC-----
Jan 01 00:00:00.042                       iopkt.11                           0  -----ONLINE-----
                                          iopkt.11          main_buffer     0  -----UNSYNC-----
Jan 01 00:00:00.050               io_usb_otg.12300                           0  -----ONLINE-----
                                  io_usb_otg.12300                 slog     0  -----UNSYNC-----
J7EVM# devb-sdmmc-am65x blk noatime,cache=8M,automount=@/proc/boot/automount cam cache,async,quiet,pnp sdio addr=0x04fb0000,irq=36,timing=~sdr,bs=sscfg=0x8000:ldo=0x600000^117:pwrdev1
J7EVM# Jan 01 00:00:57.496         devb_sdmmc_am65x.53258                           0  -----ONLINE-----
Jan 01 00:00:57.496         devb_sdmmc_am65x.53258                 slog*  1800  devb-sdmmc-am65x 1.00A (Sep 15 2021 14:04:15)
Jan 01 00:00:57.497         devb_sdmmc_am65x.53258                 slog      0  libcam.so (Jun 22 2020 21:33:15) bver 7010003
Jan 01 00:00:57.497         devb_sdmmc_am65x.53258                 slog   1800  sdio_cd:  insertion path 0, cd state 0x1
Jan 01 00:00:57.904         devb_sdmmc_am65x.53258                 slog   1800  sdio_cd:  Unsupported card inserted 

J7EVM# sleep 1
J7EVM# ls /ti_fs
ls: No such file or directory (/ti_fs)
J7EVM# ls -lrta
total 5179735
dr-xr-xr-x   2 root      root      2652020736 Jan 01 00:02 proc
drwxr-xr-x   2 root      root             10 Sep 15  2021 var
drwxr-xr-x   2 root      root             10 Sep 15  2021 usr
lrwxrwxrwx   1 root      root             10 Sep 15  2021 tmp -> /dev/shmem
drwxr-xr-x   2 root      root             10 Sep 15  2021 sbin
drwxr-xr-x   2 root      root             20 Sep 15  2021 etc
drwxr-xr-x   2 root      root             10 Sep 15  2021 dev
drwxr-xr-x   2 root      root             10 Sep 15  2021 bin
J7EVM# 

I have verified that there are no issues in the build. But due to the above issue, I am not able to proceed any further. Is there anything else that I can try?

Thanks and regards.

  • Hi,

    The SD card driver at the HLOS level is not working as expected.   Is the test being done with the SD card that came with the EVM Kit?  If not please try a different type of SD card if you have not tried this already.

    As per link in your post, testing with the "timing=~sdr", option which will force the SD card to run at a lower speed, is a good test.

    When launching the driver try increasing verbosity, to get more information:

    devb-sdmmc-am65x blk cache=1m sdio verbose=99,addr=0x04fb0000,irq=36,bs=sscfg=0x8000:ldo=0x600000^117:pwrdev=/dev/i2c0 cam pnp disk name=sd

    At the Uboot level you could try disabling UHS support with below patch and see if that has any effect on the SD driver, when it started by the HLOS:

    https://git.ti.com/gitweb?p=ti-u-boot/ti-u-boot.git;a=commit;h=c66dd9b8467472278803c2426098a2828c93ebcc

    Please note that the SD driver is provided as part of the QNX/Blackberry BSP, and they can be contacted for support.   Depending on BSP under test, it may be that there is an updated BSP available on QNX Software Center for the J721E EVM, which can be checked for an changes to the SD driver.

    Regards,

    kb

  • Hello KB,

    In my initial tests, I did not use the SanDisk SD cards that came with the EVM kits. I was attempting to use a Strontium card, which has nearly the same specifications as the SanDisk cards from the EVM kits.

    Today, I tried out a brand-new SanDisk Ultra SD card. This one worked just fine without any tweaks. It is possible that you are correct regarding the QNX BSP, but that part cannot be confirmed without more trials.

    In any case, since my issue is resolved, I am closing this thread. And I guess I will stick to SanDisk SD cards from now on.

    Thanks and regards.