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.

AM6442: Failed to enumerate watchdog (invalid resource)

Part Number: AM6442

Enabled watchdog in the kernel device tree, but failed enumerate. Please refer following code and Linux boot log.

Is anything missing here?

+
+&main_rti0 {
+ status = "okay";
+};
+
+
+&main_rti1 {
+ status = "okay";
+};
+
+

Linux Log:

 dmesg | grep watchdog
[ 25.490736] rti-wdt bus@f4000:watchdog@e000000: invalid resource
[ 25.490902] rti-wdt: probe of bus@f4000:watchdog@e000000 failed with error -22
[ 25.506663] rti-wdt bus@f4000:watchdog@e010000: invalid resource
[ 25.506805] rti-wdt: probe of bus@f4000:watchdog@e010000 failed with error -22

  • Hello Nagaraj,

    In the Linux SDK 8.x releases, device tree nodes are enabled by default. So you do not need to add status = "okay";

    I see the same output when I do "dmesg | grep watchdog" on an out-of-the-box default filesystem from AM64x Linux Processor SDK 8.0. Let me check on this. Please ping the thread if I have not responded by next week.

    Regards,

    Nick

  • Hi Nick,

    Thank you! Any update on this?

    Regards

    Nagaraj S

  • Hi Nick,

    One more question about RTC, I didn't see any RTC entry in the device tree. Do you know how to configure RTC?

    Regards

    Nagaraj S

  • Hi Nick,

    can you provide an update on this?

    Thanks,

    --Gunter

  • Hello Nagaraj,

    Apologies for the delayed response. It looks like the mmr regions specified in watchdog@e000000 and watchdog@e010000 are not enabled in &cbass_main. The following DT change would make this error message go away:

    diff --git a/arch/arm64/boot/dts/ti/k3-am64.dtsi b/arch/arm64/boot/dts/ti/k3-am64.dtsi
    index 8ccd03ee3036..4f10d13af14b 100644
    --- a/arch/arm64/boot/dts/ti/k3-am64.dtsi
    +++ b/arch/arm64/boot/dts/ti/k3-am64.dtsi
    @@ -69,7 +69,7 @@
                             <0x00 0x01000000 0x00 0x01000000 0x00 0x02330400>, /* First peripheral window */
                             <0x00 0x08000000 0x00 0x08000000 0x00 0x00200000>, /* Main CPSW */
                             <0x00 0x0d000000 0x00 0x0d000000 0x00 0x00800000>, /* PCIE_CORE */
    -                        <0x00 0x0f000000 0x00 0x0f000000 0x00 0x00c44200>, /* Second peripheral window */
    +                        <0x00 0x0e000000 0x00 0x0e000000 0x00 0x01c44200>, /* Second peripheral window */
    

    However, I am not sure if additional additions or changes are required to get watchdog working properly. I am filing a bug now. This would be fixed in AM64x Linux SDK 8.2 at the earliest, since we are about to release AM64x Linux SDK 8.1.

    Regards,

    Nick

  • Hi Nick,

    Thank you! I will apply this patch and verify wdt functionally.

    Please let me know if we need any additional changes.

    Regards

    Nagaraj S