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: Question about A72SS HW watchdog

Part Number: TDA4VM
Other Parts Discussed in Thread: PCM3168A

Hello TI,

We develop on tda4 board, I want to find SOC HW watchdog in A72SS, and I search RTI watchdog.

But when I use RTI watchdog in A72SS linux, seems as it doesnot work.

I set 30s timeout and directly call rti_wdt_start in rti_wdt_probe at drivers/watchdog/rti_wdt.c, I wait over 30s but there is no watchdog reset happen.

Please help.

Thanks

  • hello,

    Is there any update?

    Also I runltp to test, watchdog timeout reset not happend, could you check tda4 board on your side.

    ======================================================================

    root@j7-evm:/opt/ltp# ./runltp -P j721e-idk-gw -f ddt/wdt_test -s "WDT_M_FUNC_WRI"
    INFO: creating /opt/ltp/output directory
    INFO: creating /opt/ltp/results directory
    INFO: Filtering testscenarios based on j721e-idk-gw capabilities
    awk: cmd. line:1: warning: regexp escape sequence `\&' is not a known regexp operator
    Checking for required user/group ids

    'nobody' user id and group found.
    'bin' user id and group found.
    'daemon' user id and group found.
    Users group found.
    Sys group found.
    Required users/groups exist.
    If some fields are empty or look unusual you may have an old version.
    Compare to the current minimal requirements in Documentation/Changes.

    /etc/os-release
    ID=arago
    NAME="Arago"
    VERSION="2020.09"
    VERSION_ID=2020.09
    PRETTY_NAME="Arago 2020.09"

    uname:
    Linux j7-evm 5.4.106-g023faefa70 #1 SMP PREEMPT Sat Apr 10 00:18:09 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

    /proc/cmdline
    console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),57216k@8m(ospi.rootfs),128k(ospi.phypattern);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),1m(hbmc.sysfw),-@8m(hbmc.rootfs) loglevel=0 root=PARTUUID=dd37f0cf-02 rw rootfstype=ext4 rootwait

    Gnu C gcc (GCC) 9.2.1 20191025
    Clang
    Gnu make 4.3
    util-linux 2.35.1
    mount linux 2.35.1 (libmount 2.35.1: btrfs, namespaces, assert, debug)
    modutils 26
    e2fsprogs 1.45.4
    Linux C Library > libc.2.30
    Dynamic linker (ldd) 2.30
    Linux C++ Library 6..
    Procps 3.3.16
    iproute2 iproute2-ss200127
    iputils 'V'
    ethtool 5.4
    Kbd 2.2.0
    Sh-utils 8.31
    Modules Loaded xhci_plat_hcd xhci_hcd usbcore rpmsg_char ti_am335x_adc kfifo_buf omap_rng rng_core pru_rproc irq_pruss_intc cdns3 roles icss_iep udc_core usb_common crct10dif_ce snd_soc_j721e_evm ti_j721e_cpsw_virt_mac ti_k3_r5_remoteproc m_can_platform m_can can_dev ti_am335x_tscadc pruss sa2ul sha512_generic authenc ti_k3_dsp_remoteproc virtio_rpmsg_bus cdns_dphy cdns3_ti snd_soc_pcm3168a_i2c snd_soc_pcm3168a ina2xx pvrsrvkm rti_wdt sch_fq_codel rpmsg_kdrv_switch jailhouse cryptodev ipv6

    free reports:
    total used free shared buff/cache available
    Mem: 1537088 217792 1033472 27648 285824 1054528
    Swap: 0 0 0

    cpuinfo:
    Architecture: aarch64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    CPU(s): 2
    On-line CPU(s) list: 0,1
    Thread(s) per core: 1
    Core(s) per socket: 2
    Socket(s): 1
    Vendor ID: ARM
    Model: 0
    Model name: Cortex-A72
    Stepping: r1p0
    BogoMIPS: 400.00
    L1d cache: 64 KiB
    L1i cache: 96 KiB
    L2 cache: 1 MiB
    Vulnerability Itlb multihit: Not affected
    Vulnerability L1tf: Not affected
    Vulnerability Mds: Not affected
    Vulnerability Meltdown: Not affected
    Vulnerability Spec store bypass: Vulnerable
    Vulnerability Spectre v1: Mitigation; __user pointer sanitization
    Vulnerability Spectre v2: Not affected
    Vulnerability Srbds: Not affected
    Vulnerability Tsx async abort: Not affected
    Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpui
    d

    AppArmor disabled

    SELinux mode: unknown
    no big block device was specified on commandline.
    Tests which require a big block device are disabled.
    You can specify it with option -z
    COMMAND: /opt/ltp/bin/ltp-pan -e -S -a 1150 -n 1150 -p -f /tmp/ltp-o0SbVjJbq4/alltests -l /tmp/tmp.utbf9HTIuJ -C /opt/ltp/output/LTP_RUN_ON-tmp.utbf9HTIuJ.failed -T /opt/ltp/output/LTP_RUN_ON-tmp.utbf9HTIuJ.tconf
    INFO: Restricted to WDT_M_FUNC_WRI
    LOG File: /tmp/tmp.utbf9HTIuJ
    FAILED COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.utbf9HTIuJ.failed
    TCONF COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.utbf9HTIuJ.tconf
    Running tests.......
    <<<test_start>>>
    tag=WDT_M_FUNC_WRITE stime=1618013160
    cmdline="source 'common.sh'; do_cmd install_modules.sh 'wdt' ; DEV_NODE=`get_devnode.sh "wdt"` || die "error getting devnode for wdt"; do_cmd wdt_tests -device $DEV_NODE -ioctl -write"
    contacts=""
    analysis=exit
    <<<test_output>>>
    |TRACE LOG|Inside do_cmd:CMD=install_modules.sh wdt|
    |TRACE LOG|Inside do_cmd:CMD=wdt_tests -device /dev/watchdog -ioctl -write|


    |TEST START|wdt_tests|
    |TRACE LOG|******** WDT Testcase parameters ******** |
    |TRACE LOG|Device : /dev/watchdog|
    |TRACE LOG|Loop Count : 1|
    |TRACE LOG|I/O Operation : Write|
    |TRACE LOG|Operation : Ioctl|
    |TRACE LOG|Ioctl Name : WDIOC_KEEPALIVE|
    |TRACE LOG|Ioctl Arg : 0 |
    |TRACE LOG| ************* End of Test params ************* |
    |TRACE LOG|Keeping WDT alive, sleep counter -0(sec)|
    |TEST RESULT|PASS|wdt_tests|
    |TEST END|wdt_tests|
    |TRACE LOG|EVM will be rebooted after 60 seconds|
    |TRACE LOG|59 seconds remaining before reboot|
    |TRACE LOG|58 seconds remaining before reboot|
    |TRACE LOG|57 seconds remaining before reboot|
    |TRACE LOG|56 seconds remaining before reboot|
    |TRACE LOG|55 seconds remaining before reboot|
    |TRACE LOG|54 seconds remaining before reboot|
    |TRACE LOG|53 seconds remaining before reboot|
    |TRACE LOG|52 seconds remaining before reboot|
    |TRACE LOG|51 seconds remaining before reboot|
    |TRACE LOG|50 seconds remaining before reboot|
    |TRACE LOG|49 seconds remaining before reboot|
    |TRACE LOG|48 seconds remaining before reboot|
    |TRACE LOG|47 seconds remaining before reboot|
    |TRACE LOG|46 seconds remaining before reboot|
    |TRACE LOG|45 seconds remaining before reboot|
    |TRACE LOG|44 seconds remaining before reboot|
    |TRACE LOG|43 seconds remaining before reboot|
    |TRACE LOG|42 seconds remaining before reboot|
    |TRACE LOG|41 seconds remaining before reboot|
    |TRACE LOG|40 seconds remaining before reboot|
    |TRACE LOG|39 seconds remaining before reboot|
    |TRACE LOG|38 seconds remaining before reboot|
    |TRACE LOG|37 seconds remaining before reboot|
    |TRACE LOG|36 seconds remaining before reboot|
    |TRACE LOG|35 seconds remaining before reboot|
    |TRACE LOG|34 seconds remaining before reboot|
    |TRACE LOG|33 seconds remaining before reboot|
    |TRACE LOG|32 seconds remaining before reboot|
    |TRACE LOG|31 seconds remaining before reboot|
    |TRACE LOG|30 seconds remaining before reboot|
    |TRACE LOG|29 seconds remaining before reboot|
    |TRACE LOG|28 seconds remaining before reboot|
    |TRACE LOG|27 seconds remaining before reboot|
    |TRACE LOG|26 seconds remaining before reboot|
    |TRACE LOG|25 seconds remaining before reboot|
    |TRACE LOG|24 seconds remaining before reboot|
    |TRACE LOG|23 seconds remaining before reboot|
    |TRACE LOG|22 seconds remaining before reboot|
    |TRACE LOG|21 seconds remaining before reboot|
    |TRACE LOG|20 seconds remaining before reboot|
    |TRACE LOG|19 seconds remaining before reboot|
    |TRACE LOG|18 seconds remaining before reboot|
    |TRACE LOG|17 seconds remaining before reboot|
    |TRACE LOG|16 seconds remaining before reboot|
    |TRACE LOG|15 seconds remaining before reboot|
    |TRACE LOG|14 seconds remaining before reboot|
    |TRACE LOG|13 seconds remaining before reboot|
    |TRACE LOG|12 seconds remaining before reboot|
    |TRACE LOG|11 seconds remaining before reboot|
    |TRACE LOG|10 seconds remaining before reboot|
    |TRACE LOG|9 seconds remaining before reboot|
    |TRACE LOG|8 seconds remaining before reboot|
    |TRACE LOG|7 seconds remaining before reboot|
    |TRACE LOG|6 seconds remaining before reboot|
    |TRACE LOG|5 seconds remaining before reboot|
    |TRACE LOG|4 seconds remaining before reboot|
    |TRACE LOG|3 seconds remaining before reboot|
    |TRACE LOG|2 seconds remaining before reboot|
    |TRACE LOG|1 seconds remaining before reboot|
    |TRACE LOG|0 seconds remaining before reboot|
    |TRACE LOG|-1 seconds remaining before reboot|
    |TRACE LOG|-2 seconds remaining before reboot|
    |TRACE LOG|-3 seconds remaining before reboot|
    |TRACE LOG|-4 seconds remaining before reboot|
    |TRACE LOG|-5 seconds remaining before reboot|
    |TRACE LOG|-6 seconds remaining before reboot|
    |TRACE LOG|-7 seconds remaining before reboot|
    |TRACE LOG|-8 seconds remaining before reboot|
    |TRACE LOG|-9 seconds remaining before reboot|
    |TRACE LOG|-10 seconds remaining before reboot|
    |TRACE LOG|-11 seconds remaining before reboot|
    |TRACE LOG|-12 seconds remaining before reboot|
    |TRACE LOG|-13 seconds remaining before reboot|
    |TRACE LOG|-14 seconds remaining before reboot|
    |TRACE LOG|-15 seconds remaining before reboot|
    |TRACE LOG|-16 seconds remaining before reboot|
    |TRACE LOG|-17 seconds remaining before reboot|
    |TRACE LOG|-18 seconds remaining before reboot|
    |TRACE LOG|-19 seconds remaining before reboot|

    ......

  • Hi,

    No update on this. It seems to be some board specific changes missing. Is the PMIC same on your custom board & Pin muxing?

    - Keerthy

  • Hello Keerthy J,

    Can you share your result after do "./runltp -P j721e-idk-gw -f ddt/wdt_test -s "WDT_M_FUNC_WRI"" ?

  • root@j7-evm:~# cd /opt/ltp/
    root@j7-evm:/opt/ltp# ./runltp -P j721e-idk-gw -f ddt/wdt_test -s "WDT_M_FUNC_WRI
    > ^C
    root@j7-evm:/opt/ltp# ./runltp -P j721e-idk-gw -f ddt/wdt_test -s "WDT_M_FUNC_WRI"
    INFO: creating /opt/ltp/output directory
    INFO: creating /opt/ltp/results directory
    INFO: Filtering testscenarios based on j721e-idk-gw capabilities
    awk: cmd. line:1: warning: regexp escape sequence `\&' is not a known regexp operator
    Checking for required user/group ids
    
    'nobody' user id and group found.
    'bin' user id and group found.
    'daemon' user id and group found.
    Users group found.
    Sys group found.
    Required users/groups exist.
    If some fields are empty or look unusual you may have an old version.
    Compare to the current minimal requirements in Documentation/Changes.
    
    /etc/os-release
    ID=arago
    NAME="Arago"
    VERSION="2021.09"
    VERSION_ID=2021.09
    PRETTY_NAME="Arago 2021.09"
    
    uname:
    Linux j7-evm 5.10.100-g7a7a3af903 #1 SMP PREEMPT Thu Mar 31 11:24:09 IST 2022 aarch64 aarch64 aarch64 GNU/Linux
    
    /proc/cmdline
    console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),1m(ospi.sysfw),256k(ospi.env.backup),57344k@8m(ospi.rootfs),256k(ospi.phypattern);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),1m(hbmc.sysfw),-@8m(hbmc.rootfs) root=PARTUUID=9ec6b818-02 rw rootfstype=ext4 rootwait
    
    Gnu C                  gcc (GCC) 9.2.1 20191025
    Clang
    Gnu make               4.3
    util-linux             2.35.1
    mount                  linux 2.35.1 (libmount 2.35.1: btrfs, namespaces, assert, debug)
    modutils               26
    e2fsprogs              1.45.7
    Linux C Library        > libc.2.30
    Dynamic linker (ldd)   2.30
    Linux C++ Library      6..
    Procps                 3.3.16
    Net-tools              1.60
    iproute2               iproute2-5.10.0
    iputils                'V'
    ethtool                5.10
    Kbd                    2.2.0
    Sh-utils               8.31
    Modules Loaded         xt_conntrack xt_MASQUERADE xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables bridge stp llc overlay xfrm_user xfrm_algo md5 ecb aes_neon_bs aes_neon_blk des_generic libdes cbc bluetooth ecdh_generic ecc rfkill xhci_plat_hcd xhci_hcd omap_rng ti_am335x_adc rng_core kfifo_buf rpmsg_char irq_pruss_intc cdns3 pru_rproc udc_core icss_iep cdns_csi2rx roles v4l2_fwnode usbcore usb_common crct10dif_ce snd_soc_j721e_evm ti_j721e_cpsw_virt_mac phy_can_transceiver ti_am335x_tscadc cdns_mhdp8546 pruss sa2ul pvrsrvkm ti_k3_r5_remoteproc sha512_generic authenc ti_k3_dsp_remoteproc virtio_rpmsg_bus cdns_dphy j721e_csi2rx pci_endpoint_test vxe_enc vxd_dec snd_soc_pcm3168a_i2c snd_soc_[ 1117.153303] LTP: starting WDT_M_FUNC_WRITE (source 'common.sh'; do_cmd install_modules.sh 'wdt' ; DEV_NODE=`get_devnode.sh "wdt"` || die "error getting devnode for wdt"; do_cmd wdt_tests -device $DEV_NODE -ioctl -write)
    pcm3168a videobuf2_dma_sg ina2xx v4l2_mem2mem videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 videobuf2_common cdns3_ti m_can_platform m_can can_dev rti_wdt sch_fq_codel rpmsg_kdrv_switch cryptodev ipv6
    
    free reports:
                  total        used        free      shared  buff/cache   available
    Mem:        3865280      318336     3108800       31488      438144     3017280
    Swap:             0           0           0
    
    cpuinfo:
    Architecture:                    aarch64
    CPU op-mode(s):                  32-bit, 64-bit
    Byte Order:                      Little Endian
    CPU(s):                          2
    On-line CPU(s) list:             0
    Off-line CPU(s) list:            1
    Thread(s) per core:              1
    Core(s) per socket:              1
    Socket(s):                       1
    Vendor ID:                       ARM
    Model:                           0
    Model name:                      Cortex-A72
    Stepping:                        r1p0
    CPU max MHz:                     2000.0000
    CPU min MHz:                     750.0000
    BogoMIPS:                        400.00
    L1d cache:                       32 KiB
    L1i cache:                       48 KiB
    L2 cache:                        1 MiB
    Vulnerability Itlb multihit:     Not affected
    Vulnerability L1tf:              Not affected
    Vulnerability Mds:               Not affected
    Vulnerability Meltdown:          Not affected
    Vulnerability Spec store bypass: Not affected
    Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
    Vulnerability Spectre v2:        Not affected
    Vulnerability Srbds:             Not affected
    Vulnerability Tsx async abort:   Not affected
    Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
    
    AppArmor disabled
    
    SELinux mode: unknown
    no big block device was specified on commandline.
    Tests which require a big block device are disabled.
    You can specify it with option -z
    COMMAND:    /opt/ltp/bin/ltp-pan   -e -S   -a 1533     -n 1533 -p -f /tmp/ltp-17LWm9fx5L/alltests -l /tmp/tmp.R4DwPhyhnJ  -C /opt/ltp/output/LTP_RUN_ON-tmp.R4DwPhyhnJ.failed -T /opt/ltp/output/LTP_RUN_ON-tmp.R4DwPhyhnJ.tconf
    INFO: Restricted to WDT_M_FUNC_WRI
    LOG File: /tmp/tmp.R4DwPhyhnJ
    FAILED COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.R4DwPhyhnJ.failed
    TCONF COMMAND File: /opt/ltp/output/LTP_RUN_ON-tmp.R4DwPhyhnJ.tconf
    Running tests.......
    <<<test_start>>>
    tag=WDT_M_FUNC_WRITE stime=1649612471
    cmdline="source 'common.sh'; do_cmd install_modules.sh 'wdt' ; DEV_NODE=`get_devnode.sh "wdt"` || die "error getting devnode for wdt"; do_cmd wdt_tests -device $DEV_NODE -ioctl -write"
    contacts=""
    analysis=exit
    <<<test_output>>>
    |TRACE LOG|Inside do_cmd:CMD=install_modules.sh wdt|
    |TRACE LOG|Inside do_cmd:CMD=wdt_tests -device /dev/watchdog -ioctl -write|
    
    
    |TEST START|wdt_tests|
    |TRACE LOG|******** WDT Testcase  parameters  ******** |
    |TRACE LOG|Device         : /dev/watchdog|
    |TRACE LOG|Loop Count     : 1|
    |TRACE LOG|I/O Operation  : Write|
    |TRACE LOG|Operation      : Ioctl|
    |TRACE LOG|Ioctl Name     : WDIOC_KEEPALIVE|
    |TRACE LOG|Ioctl Arg      : 0 |
    |TRACE LOG| ************* End of Test params ************* |
    |TRACE LOG|Keeping WDT alive, sleep counter -0(sec)|
    |TEST RESULT|PASS|wdt_tests|
    |TEST END|wdt_tests|
    |TRACE LOG|EVM will be rebooted after 60 seconds|
    |TRACE LOG|59 seconds remaining before reboot|
    |TRACE LOG|58 seconds remaining before reboot|
    |TRACE LOG|57 seconds remaining before reboot|
    |TRACE LOG|56 seconds remaining before reboot|
    |TRACE LOG|55 seconds remaining before reboot|
    |TRACE LOG|54 seconds remaining before reboot|
    |TRACE LOG|53 seconds remaining before reboot|
    |TRACE LOG|52 seconds remaining before reboot|
    |TRACE LOG|51 seconds remaining before reboot|
    |TRACE LOG|50 seconds remaining before reboot|
    |TRACE LOG|49 seconds remaining before reboot|
    |TRACE LOG|48 seconds remaining before reboot|
    |TRACE LOG|47 seconds remaining before reboot|
    |TRACE LOG|46 seconds remaining before reboot|
    |TRACE LOG|45 seconds remaining before reboot|
    |TRACE LOG|44 seconds remaining before reboot|
    |TRACE LOG|43 seconds remaining before reboot|
    |TRACE LOG|42 seconds remaining before reboot|
    |TRACE LOG|41 seconds remaining before reboot|
    |TRACE LOG|40 seconds remaining before reboot|
    |TRACE LOG|39 seconds remaining before reboot|
    |TRACE LOG|38 seconds remaining before reboot|
    |TRACE LOG|37 seconds remaining before reboot|
    |TRACE LOG|36 seconds remaining before reboot|
    |TRACE LOG|35 seconds remaining before reboot|
    |TRACE LOG|34 seconds remaining before reboot|
    |TRACE LOG|33 seconds remaining before reboot|
    
    U-Boot SPL 2021.01-g53e79d0e89 (Aug 04 2021 - 23:32:00 +0000)
    Model: Texas Instruments K3 J721E SoC
    Board: J721EX-PM2-SOM rev E6
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
    Trying to boot from MMC1
    init_env from device 17 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.5(release):08.00.00.004-dirty
    NOTICE:  BL31: Built : 22:30:09, Aug  4 2021
    
    U-Boot SPL 2021.01-g53e79d0e89 (Aug 04 2021 - 22:33:28 +0000)
    Model: Texas Instruments K3 J721E SoC
    Board: J721EX-PM2-SOM rev E6
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
    Detected: J7X-BASE-CPB rev E2
    Detected: J7X-INFOTAN-EXP rev E3
    Detected: J7X-VSC8514-ETH rev E2
    Trying to boot from MMC1
    
    
    U-Boot 2021.01-g53e79d0e89 (Aug 04 2021 - 22:33:28 +0000)
    
    SoC:   J721E SR1.0
    Model: Texas Instruments K3 J721E SoC
    Board: J721EX-PM2-SOM rev E6
    DRAM:  4 GiB
    Flash: 0 Bytes
    MMC:   sdhci@4f80000: 0, sdhci@4fb0000: 1
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Detected: J7X-BASE-CPB rev E2
    Detected: J7X-INFOTAN-EXP rev E3
    Detected: J7X-VSC8514-ETH rev E2
    Net:   am65_cpsw_nuss_slave ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
    eth0: ethernet@46000000
    Hit any key to stop autoboot:  0

    I can see the watchdog nicely resetting. We get to U-Boot.

    - Keerthy