AM62L NETDEV WATCHDOG timeout when only one core enabled

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Linux Core SDK
    • LCPD-43547
    • 11.00
    • 11.00
    • Hide
      am62lxx_evm-fs
      am62lxx_evm-se
      Show
      am62lxx_evm-fs am62lxx_evm-se

      When the AM62L EVM DTS files are modified to disable one core and limit to just one core enabled, connecting an Ethernet cable to either one of the two ports causes NETDEV WATCHDOG timeout messages.

      The same result occurs when either cpu0 or cpu1 is disabled.

      DTS changes:

      diff --git a/arch/arm64/boot/dts/ti/k3-am62l-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62l-main.dtsi
      2index 52fdbbfac..612a53cc8 100644
      3--- a/arch/arm64/boot/dts/ti/k3-am62l-main.dtsi
      4+++ b/arch/arm64/boot/dts/ti/k3-am62l-main.dtsi
      5@@ -203,14 +203,14 @@ epwm_tbclk: clock-controller@1e9100 {
      6               };
      7       };
      8
      9-      main_rti0: watchdog@e000000 {
      10-              compatible = "ti,j7-rti-wdt";
      11-              reg = <0x00 0x0e000000 0x00 0x100>;
      12-              clocks = <&scmi_clk 273>;
      13-              power-domains = <&scmi_pds 60>;
      14-              assigned-clocks = <&scmi_clk 273>;
      15-              assigned-clock-parents = <&scmi_clk 1>;
      16-      };
      17+      // main_rti0: watchdog@e000000 {
      18+      //     compatible = "ti,j7-rti-wdt";
      19+      //     reg = <0x00 0x0e000000 0x00 0x100>;
      20+      //     clocks = <&scmi_clk 273>;
      21+      //     power-domains = <&scmi_pds 60>;
      22+      //     assigned-clocks = <&scmi_clk 273>;
      23+      //     assigned-clock-parents = <&scmi_clk 1>;
      24+      // };
      25
      26       main_rti1: watchdog@e010000 {
      27               compatible = "ti,j7-rti-wdt";
      diff --git a/arch/arm64/boot/dts/ti/k3-am62l3.dtsi b/arch/arm64/boot/dts/ti/k3-am62l3.dtsi
      index aa679e8e6..6f098b579 100644
      --- a/arch/arm64/boot/dts/ti/k3-am62l3.dtsi
      +++ b/arch/arm64/boot/dts/ti/k3-am62l3.dtsi
      @@ -17,9 +17,9 @@ cpus {
       
                      cpu-map {
                              cluster0: cluster0 {
      -                               core0 {
      -                                       cpu = <&cpu0>;
      -                               };
      +                               // core0 {
      +                               //      cpu = <&cpu0>;
      +                               // };
       
                                      core1 {
                                              cpu = <&cpu1>;
      @@ -27,19 +27,19 @@ core1 {
                              };
                      };
       
      -               cpu0: cpu@0 {
      -                       compatible = "arm,cortex-a53";
      -                       reg = <0x000>;
      -                       device_type = "cpu";
      -                       enable-method = "psci";
      -                       i-cache-size = <0x8000>;
      -                       i-cache-line-size = <64>;
      -                       i-cache-sets = <256>;
      -                       d-cache-size = <0x8000>;
      -                       d-cache-line-size = <64>;
      -                       d-cache-sets = <128>;
      -                       next-level-cache = <&l2_0>;
      -               };
      +               // cpu0: cpu@0 {
      +               //      compatible = "arm,cortex-a53";
      +               //      reg = <0x000>;
      +               //      device_type = "cpu";
      +               //      enable-method = "psci";
      +               //      i-cache-size = <0x8000>;
      +               //      i-cache-line-size = <64>;
      +               //      i-cache-sets = <256>;
      +               //      d-cache-size = <0x8000>;
      +               //      d-cache-line-size = <64>;
      +               //      d-cache-sets = <128>;
      +               //      next-level-cache = <&l2_0>;
      +               // };
       
                      cpu1: cpu@1 {
                              compatible = "arm,cortex-a53";
      

      Log:

      root@am62lxx-evm:~# [   42.585445] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
      [   48.081406] DEBUG_DQ: sch_generic: dev_watchdog: timedout_ms=5472
      [   48.087556] am65-cpsw-nuss 8000000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 3 timed out 5472 ms
      [   48.097471] am65-cpsw-nuss 8000000.ethernet eth0: txq:3 DRV_XOFF:0 tmo:5472 dql_avail:-90 free_desc:515
      [   49.073416] DEBUG_DQ: sch_generic: dev_watchdog: timedout_ms=5476
      [   49.079563] am65-cpsw-nuss 8000000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 5476 ms
      [   49.089469] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:5476 dql_avail:-186 free_desc:515
      [  102.917056] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
      

      Fixed by:
      https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?h=ti-linux-6.12.y&id=c39de84b93b23eb0a826ad8d33e5ec780176f78d
       

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-5637 - AM62L NETDEV WATCHDOG timeout when ...
                SYNCHRONIZED
                • Last Sync Date: