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/TDA2PXEVM: early boot late attach failed on TDA2PX

Part Number: TDA2PXEVM

Tool/software: Linux

Hello:

  Following the document vision_sdk/docs/Linux/VisionSDK_Linux_UserGuide.pdf, we are succeed to bring up the TDA2PXEVM board,

when we try to verify the early boot and late attach, the board will hung up.

the console output:

-Boot SPL 2016.05-00009-gac1d50f (May 14 2018 - 23:19:50)
DRA762-GP ES1.0
no pinctrl for hs200_1_8v
no pinctrl for ddr_1_8v
Trying to boot from MMC1
reading dra7-ipu2-fw.lzop
reading dra7-dsp1-fw.lzop
reading dra7-dsp2-fw.lzop
reading dra7-ipu1-fw.lzop
spl_load_file_fat: error reading file dra7-ipu1-fw.lzop, err - -1
spl: error reading image dra7-ipu1-fw.lzop, err - -1
Error loading remotecore IPU1!,Continuing with boot ...
spl: falcon_args_file not set in environment, falling back to default
reading single-stage-boot.dtb
reading uImage
reading uImage
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.84+ (root@ubuntu) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #9 SMP PREEMPT Mon May 14 23:20:18 PDT 2018
[ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[ 0.000000] Machine model: TI DRA762 EVM
[ 0.000000] bootconsole [earlycon0] enabled

and the boot partion file information:

root@ubuntu:/tmp/boot# ls -la
total 12269
drwxr-xr-x 3 root root 1024 Dec 31 1969 .
drwxrwxrwt 14 root root 36864 May 15 01:47 ..
-rwxr-xr-x 1 root root 2767533 May 15 00:43 dra7-dsp1-fw.lzop
-rwxr-xr-x 1 root root 2767583 May 15 00:43 dra7-dsp2-fw.lzop
-rwxr-xr-x 1 root root 3164559 May 15 00:43 dra7-ipu2-fw.lzop
-rwxr-xr-x 1 root root 127252 May 15 00:18 MLO
-rwxr-xr-x 1 root root 109573 May 15 00:43 single-stage-boot.dtb
drwxr-xr-x 2 root root 512 May 15 2018 System Volume Information
-rwxr-xr-x 1 root root 3587056 May 15 00:43 uImage

Any suggestion is appreciated!

  • Hi,

    Early boot and late-attach with Vision-SDK isn't supported on TDA2px (only works on tda2xx, tda2ex and tda2ex-17x17). This is due to dependencies in configuring ISS.

    You can get more information on where the kernel initialization fails by increasing the log-level in the kernel device-tree (as part of the chosen argument).

    Regards
    Shravan

  • Hi:

     Early boot and late attach is the key requirement for ADAS please have look at https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/684708?tisearch=e2e-sitesearch&keymatch=%20user:354540 

     now, we'are using TDA2PX for our ADAS product, is there workaround to let it work?(we use ISP, maybe not use ISS)

    Thanks

  • Hi,

    You can increase the log-level in the kernel-DTB file to figure out where the kernel initialization fails (refer previous post on updating chosen node of DTB).

    While building Vision-SDK, set ISS_INCLUDE=no in the file apps/configs/tda2px_evm_linux_all/cfg.mk, this should allow for early-booting of IPU and DSP firmware. We don't support early-boot for VSDK on TDA2Px, thus this configuration hasn't been tested.

    Regards

    Shravan 

  • Hi:
    Thanks, try it.
    Did you have plan to support it?
  • Hi,

    We don't any immediate plans to support it.

    Regards
    Shravan
  • Hi:
    Bad news .......
    Vision SDK is not support , so it only limited on sdk level, from technical point, it should be ok, my understanding is right?
    BTW, I'm new to kernel device tree and there are such dts file nested, please give a detailed instruction to increase the kernel log.
    Thanks
  • Hi,

    Yes, early-boot is supported for TDA2px but VSDK doesn't.
    Ensure you've applied the patches for early-boot on kernel. Once this is done, refer to dra7-evm-infoadas.dts, and add the chosen node entry to the dra76-evm-infoadas.dtb. Similarly ensure late-attach, disable-complete and disable_prcm entries are updated for dra76-evm-infoadas.dtb.

    Regards
    Shravan
  • Hi:

      please have look at the trace, already disable ISS

    CAL_INCLUDE=yes
    ISS_INCLUDE=no

    //--------------------------------------------------------------------trace-------------------------------

    -Boot SPL 2016.05-00009-gac1d50f (May 22 2018 - 02:11:50)
    DRA762-GP ES1.0
    no pinctrl for hs200_1_8v
    no pinctrl for ddr_1_8v
    Trying to boot from MMC1
    reading dra7-ipu2-fw.lzop
    reading dra7-dsp1-fw.lzop
    reading dra7-dsp2-fw.lzop
    reading dra7-ipu1-fw.lzop
    spl_load_file_fat: error reading file dra7-ipu1-fw.lzop, err - -1
    spl: error reading image dra7-ipu1-fw.lzop, err - -1
    Error loading remotecore IPU1!,Continuing with boot ...
    spl: falcon_args_file not set in environment, falling back to default
    reading single-stage-boot.dtb
    reading uImage
    reading uImage
    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Initializing cgroup subsys cpuset
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 4.4.84+ (root@ubuntu) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #5 SMP PREEMPT Tue May 22 02:12:13 PDT 2018
    [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [ 0.000000] Machine model: TI DRA762 EVM
    [ 0.000000] bootconsole [earlycon0] enabled
    [ 0.000000] Reserved memory: OVERLAP DETECTED!
    [ 0.000000] vsdk_sr1_mem@84000000 (0x0000000084000000--0x0000000099000000) overlaps with cmem@95400000 (0x0000000095400000--0x0000000095800000)
    [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000040300000, size 3 MiB
    [ 0.000000] Reserved memory: initialized node cmem@40300000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: regions without no-map are not yet supported
    [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 80 MiB
    [ 0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009e000000, size 32 MiB
    [ 0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: regions without no-map are not yet supported
    [ 0.000000] Reserved memory: created CMA memory pool at 0x00000000a1000000, size 32 MiB
    [ 0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created CMA memory pool at 0x00000000a3000000, size 32 MiB
    [ 0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: regions without no-map are not yet supported
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a9000000, size 64 MiB
    [ 0.000000] Reserved memory: initialized node cmem@A9000000, compatible id shared-dma-pool
    [ 0.000000] cma: Reserved 64 MiB at 0x00000000fb000000
    [ 0.000000] Forcing write-allocate cache policy for SMP
    [ 0.000000] Memory policy: Data cache writealloc
    [ 0.000000] OMAP4: Map 0x000000027fd00000 to fe600000 for dram barrier
    [ 0.000000] On node 0 totalpages: 1025792
    [ 0.000000] free_area_init_node: node 0, pgdat c068adc0, node_mem_map 00000000
    [ 0.000000] DMA zone: 1728 pages used for memmap
    [ 0.000000] DMA zone: 0 pages reserved
    [ 0.000000] DMA zone: 179200 pages, LIFO batch:31
    [ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [ 0.000000] pgd = c0003000
    [ 0.000000] [00000000] *pgd=80000080004003, *pmd=00000000
    [ 0.000000] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
    [ 0.000000] Modules linked in:
    [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.84+ #5
    [ 0.000000] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 0.000000] task: c06577b0 ti: c0652000 task.ti: c0652000
    [ 0.000000] pc : [<c06385b0>] lr : [<00000000>] psr: 600000d3
    [ 0.000000] sp : c0653d90 ip : 00000001 fp : c0653dbc
    [ 0.000000] r10: 00000000 r9 : 00000024 r8 : 00000001
    [ 0.000000] r7 : 000b0000 r6 : c06bb7c0 r5 : c06574d0 r4 : 00080000
    [ 0.000000] r3 : 00000000 r2 : 00000000 r1 : 00000001 r0 : ffffffff
    [ 0.000000] Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
    [ 0.000000] Control: 30c5387d Table: 80003000 DAC: fffffffd
    [ 0.000000] Process swapper (pid: 0, stack limit = 0xc0652210)
    [ 0.000000] Stack: (0xc0653d90 to 0xc0654000)
    [ 0.000000] 3d80: 00080000 c068b0c4 c068bdc0 c0646168
    [ 0.000000] 3da0: 00030000 00000000 00000000 00000000 c0653e24 c0653dc0 c061c03c c0638540
    [ 0.000000] 3dc0: 00000000 00000000 00000000 00000000 00000000 00000000 80007003 0002bc00
    [ 0.000000] 3de0: c0578c38 c057ff2c c057ff54 00000000 fffffffe 000b0000 00000000 000b0000
    [ 0.000000] 3e00: c0653e38 7fd00000 00000000 00080000 c0653e48 c06bc510 c0653e84 c0653e28
    [ 0.000000] 3e20: c060b2d0 c061bd20 00000fff 00000000 00000000 0027fd00 00030000 00000000
    [ 0.000000] 3e40: 001cfd00 00000000 00004400 00000000 00101200 00000000 c0669a70 eff9a000
    [ 0.000000] 3e60: 00000000 c0007ff8 00000000 80007003 00800000 00000ff8 c0653f0c c0653e88
    [ 0.000000] 3e80: c060d678 c060b174 04000000 c0644008 c0800000 00c00000 c0000000 00c00000
    [ 0.000000] 3ea0: c063a428 c0644108 00080800 00000000 00080000 00000000 b0000000 00000000
    [ 0.000000] 3ec0: 80800000 00000000 b0000000 00000000 ffff1000 000affa5 00001000 00000007
    [ 0.000000] 3ee0: b0000000 c06cf234 c0605f74 c0008000 c0641a28 c0641a18 412fc0f2 c063a428
    [ 0.000000] 3f00: c0653f9c c0653f10 c0609478 c060c99c 0000006c 30c5387d 00000000 600001d3
    [ 0.000000] 3f20: 00000000 00000000 c061a914 c0080964 c0653fc4 00000001 00000000 ffffffff
    [ 0.000000] 3f40: c0654400 00000000 c0653f6c c0653f58 c008098c c008032c c05709dc c0653f94
    [ 0.000000] 3f60: c0653f8c c0653f70 c00ce468 c0080970 c0653f9c 00000000 c068e000 00000001
    [ 0.000000] 3f80: 00000000 ffffffff c0654400 00000000 c0653ff4 c0653fa0 c06069b8 c0608f2c
    [ 0.000000] 3fa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 0.000000] 3fc0: 00000000 c0641a28 00000000 c068e214 c0654484 c0641a24 c0658a30 80007000
    [ 0.000000] 3fe0: 412fc0f2 00000000 00000000 c0653ff8 80008090 c060690c 00000000 00000000
    [ 0.000000] Backtrace:
    [ 0.000000] Function entered at [<c0638534>] from [<c061c03c>]
    [ 0.000000] r10:00000000 r9:00000000 r8:00000000 r7:00030000 r6:c0646168 r5:c068bdc0
    [ 0.000000] r4:c068b0c4 r3:00080000
    [ 0.000000] Function entered at [<c061bd14>] from [<c060b2d0>]
    [ 0.000000] r10:c06bc510 r9:c0653e48 r8:00080000 r7:00000000 r6:7fd00000 r5:c0653e38
    [ 0.000000] r4:000b0000
    [ 0.000000] Function entered at [<c060b168>] from [<c060d678>]
    [ 0.000000] r10:00000ff8 r9:00800000 r8:80007003 r7:00000000 r6:c0007ff8 r5:00000000
    [ 0.000000] r4:eff9a000
    [ 0.000000] Function entered at [<c060c990>] from [<c0609478>]
    [ 0.000000] r10:c063a428 r9:412fc0f2 r8:c0641a18 r7:c0641a28 r6:c0008000 r5:c0605f74
    [ 0.000000] r4:c06cf234
    [ 0.000000] Function entered at [<c0608f20>] from [<c06069b8>]
    [ 0.000000] r10:00000000 r9:c0654400 r8:ffffffff r7:00000000 r6:00000001 r5:c068e000
    [ 0.000000] r4:00000000
    [ 0.000000] Function entered at [<c0606900>] from [<80008090>]
    [ 0.000000] r10:00000000 r9:412fc0f2 r8:80007000 r7:c0658a30 r6:c0641a24 r5:c0654484
    [ 0.000000] r4:c068e214
    [ 0.000000] Code: e596e000 e0443003 1a00000e e0020392 (e79ec002)
    [ 0.000000] ---[ end trace cb88537fdc8fa200 ]---
    [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
    [ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

  • Hi,


    Can you send the kernel-device-tree being used (both the dts and dtb file)? Also what is the targeted application? What sensor is being used? 

    Regards

    Shravan

  • Hello:

    No camera (sensor) is connected, please check in attachment

    5344.dts.rar

  • Hi,

    Please add below entries to your dts file.

    DISABLE_COMPLETE(qspi);

    &ipu2 {

    timers= <&timer9> , <&timer11>;

    };

    Please do try the above changes, if the above configuration also fails, build the VSDK firmware with ISS_INCLUDE=yes and try, if no sensor initialisation is being done, it may succeed.

    Regards

    Shravan

  • Hi:

      I tried both, but still hung up.

     please have a look the dts and trace in attachment.

    Thanks.8750.log.rar

  • Hi,

    What is the intended project / end product?
    I've reproduced the setup at our end, and the current Vision-SDK is not able to support Early-boot + Late-attach from Vision-SDK (even after ISS_ENABLE=no).

    Regards
    Shravan
  • Hello Shravan:

       Our product will use the TDA2PHG, and now we'are using the TDA2Px to verify the early boot and late attach.

    As your mentioned above that to modify the dts file, we try it according your suggestion, but still failed, and post the related log and dts files. 

    ---------modify-------------------------------------

    DISABLE_COMPLETE(qspi);

    &ipu2 {

    timers= <&timer9> , <&timer11>;

    };

    --------------------------------

  • Hi,

    I'm working to root-cause the issue observed. Please give me a few days, will post an update on this thread.

    Regards
    Shravan
  • Hi,

    Please apply this patch on Kernel and rebuild.

    We've validated it works on TDA2PX with ISS_INCLUDE=yes with early-boot late-attach.

    Regards

    Shravan

    0001-dra7xx-disable-LPAE.patch.txt
    From ba07c1a86fc48b92eed32828cdec82e902c0d1fb Mon Sep 17 00:00:00 2001
    From: Subhajit Paul <subhajit_paul@ti.com>
    Date: Tue, 22 May 2018 18:14:50 +0530
    Subject: [PATCH] dra7xx: disable LPAE
    
    Signed-off-by: Subhajit Paul <subhajit_paul@ti.com>
    ---
     ti_config_fragments/defconfig_map.txt | 4 ++--
     ti_config_fragments/dra7_only.cfg     | 2 --
     2 files changed, 2 insertions(+), 4 deletions(-)
    
    diff --git a/ti_config_fragments/defconfig_map.txt b/ti_config_fragments/defconfig_map.txt
    index 6d2e9ff..2718db7 100644
    --- a/ti_config_fragments/defconfig_map.txt
    +++ b/ti_config_fragments/defconfig_map.txt
    @@ -1,14 +1,14 @@
     # Release Defconfigs
     classification: SDK_Release_Defconfigs type: ti_sdk_am3x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg am33xx_only.cfg systemd.cfg
     classification: SDK_Release_Defconfigs type: ti_sdk_am4x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg am43xx_only.cfg systemd.cfg
    -classification: SDK_Release_Defconfigs type: ti_sdk_dra7x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg lpae.cfg dra7_only.cfg systemd.cfg auto.cfg boot_opt.cfg
    +classification: SDK_Release_Defconfigs type: ti_sdk_dra7x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg dra7_only.cfg systemd.cfg auto.cfg
     classification: SDK_Release_Defconfigs type: ti_sdk_omap2_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg systemd.cfg
     classification: SDK_Release_Defconfigs type: ti_sdk_k2g_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg k2g_only.cfg systemd.cfg
     classification: SDK_Release_Defconfigs type: ti_sdk_keystone_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg systemd.cfg
     # Debug Defconfigs
     classification: SDK_Debug_Defconfigs type: ti_sdk_am3x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg am33xx_only.cfg systemd.cfg debug_options.cfg
     classification: SDK_Debug_Defconfigs type: ti_sdk_am4x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg am43xx_only.cfg systemd.cfg debug_options.cfg
    -classification: SDK_Debug_Defconfigs type: ti_sdk_dra7x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg lpae.cfg dra7_only.cfg systemd.cfg debug_options.cfg
    +classification: SDK_Debug_Defconfigs type: ti_sdk_dra7x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg dra7_only.cfg systemd.cfg debug_options.cfg
     classification: SDK_Debug_Defconfigs type: ti_sdk_omap2_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg wlan.cfg omap_soc.cfg systemd.cfg debug_options.cfg
     classification: SDK_Debug_Defconfigs type: ti_sdk_k2g_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg k2g_only.cfg systemd.cfg debug_options.cfg
     classification: SDK_Debug_Defconfigs type: ti_sdk_keystone_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg systemd.cfg debug_options.cfg
    diff --git a/ti_config_fragments/dra7_only.cfg b/ti_config_fragments/dra7_only.cfg
    index db0d4ab..a5e1fd5 100644
    --- a/ti_config_fragments/dra7_only.cfg
    +++ b/ti_config_fragments/dra7_only.cfg
    @@ -21,5 +21,3 @@ CONFIG_SOC_AM43XX=n
     CONFIG_SOC_DRA7XX=y
     
     CONFIG_ARCH_KEYSTONE=n
    -
    -CONFIG_ARM_LPAE=y
    -- 
    2.7.4