Wakealarm in RTC is not working - L4T36.4.4 and L4T36.3.0

I am working with Nvidia Jetson Ornin Nano with L4T 36.4.4 on my custom carrier board.Interfaced an rtc with the default rtc source/kernel/kernel-jammy-src/drivers/rtc/rtc-hym8563.c and does this driver supports wake alarm?

Using pinmux : for RTC Interrupt

114 CAM0_PWDN CAM0_PWDN 50k pu TRUE VALID GPIO3_PH.06 Input No

DTS changes:

        rtc@51 {
    status = "okay";
    compatible = "rtc,hym8563";
    reg = <0x51>;
    interrupt-parent = <&gpio>;
        interrupts = <&gpio TEGRA234_MAIN_GPIO(H, 6) IRQ_TYPE_LEVEL_LOW>;
    wakeup-source;
  };

I tried to test the wakealarm feature but have following issue:
when set to suspend, system enters to error mode, tries to wake after set time, fails and reboots.

error is as below:
user@rev3:/sys/class/rtc/rtc0$ sudo dmesg | grep -i hym8563
[ 4.106522] wwm debug ----->hym8563_probe:589
[ 4.106982] [hym8563_init_device:496] set reg RTC_CTL1 failed[count=0], ret = -121
[ 4.107092] [hym8563_init_device:491]======>wwm debug set reg RTC_CTL1 ok
[ 4.107248] [hym8563_init_device:505] set test reg failed, 0x00 value ret = 128
[ 4.107404] [hym8563_init_device:522] hym8563 write HYM8563_CTL2 ok!
[ 4.109134] rtc-hym8563 2-0051: registered as rtc0
[ 4.109458] rtc-hym8563 2-0051: setting system clock to 2025-10-28T13:22:17 UTC (1761657737)
[ 4.109465] rtc-hym8563 2-0051: Created faultStatus sysfs in rtc0
user@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/device/power/wakeup
enabled
user@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/time
13:26:29
user@rev3:/sys/class/rtc/rtc0$ sudo hwclock -w
user@rev3:/sys/class/rtc/rtc0$ echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm
0
user@rev3:/sys/class/rtc/rtc0$ sudo sh -c ‘echo +30 > /sys/class/rtc/rtc0/wakealarm’
user@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/wakealarm
1761658055
user@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/wakealarm
1761658055
user@rev3:/sys/class/rtc/rtc0$ sudo rtcwake -m mem -s 30
rtcwake: wakeup from “mem” using /dev/rtc0 at Tue Oct 28 13:28:26 2025


user@rev3:~$ echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm
[sudo] password for user:
0
user@rev3:~$ sudo sh -c ‘echo +30 > /sys/class/rtc/rtc0/wakealarm’
user@rev3:~$ cat /sys/class/rtc/rtc0/wakealarm
1761658546
user@rev3:~$ sudo systemctl suspend
user@rev3:~$ ��DCE RM Suspend rmStatus:0x0
��[ 302.428690] tegra-ivc-bus bc00000.rtcpu:ivc-bus:echo@0: ivc channel driver missing
[ 302.428696] tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@1: ivc channel driver mis sing
[ 302.428699] tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@2: ivc channel driver mis sing
[ 302.428704] tegra-ivc-bus bc00000.rtcpu:ivc-bus:diag@5: ivc channel driver mi ssing
[ 302.610504] rtc-hym8563 2-0051: enable_irq_wake failed, -22
[ 302.610511] PM: dpm_run_callback(): hym8563_suspend+0x0/0x80 returns -22
[ 302.610527] rtc-hym8563 2-0051: PM: failed to suspend: error -22
[ 302.610531] PM: Some devices failed to suspend, or early wake event detected
[ 302.742629] CPU:0, Error: cbb-fabric@0x13a00000, irq=178
[ 302.742638] **************************************
[ 302.742640] CPU:0, Error:cbb-fabric, Errmon:2
[ 302.742646] Error Code : PWRDOWN_ERR
[ 302.742648] Overflow : Multiple PWRDOWN_ERR
[ 302.742656]
[ 302.742657] Error Code : PWRDOWN_ERR
[ 302.742658] MASTER_ID : CCPLEX
[ 302.742659] Address : 0x3558004
[ 302.742660] Cache : 0x1 – Bufferable
[ 302.742662] Protection : 0x2 – Unprivileged, Non-Secure, Data Access
[ 302.742665] Access_Type : Write
[ 302.742666] Access_ID : 0x3
[ 302.742667] Fabric : cbb-fabric
[ 302.742669] Slave_Id : 0x22
[ 302.742670] Burst_length : 0x0
[ 302.742671] Burst_type : 0x1
[ 302.742672] Beat_size : 0x2
[ 302.742673] VQC : 0x0
[ 302.742674] GRPSEC : 0x7e
[ 302.742675] FALCONSEC : 0x0
[ 302.742676] Slave : AXI2APB_16
[ 302.742679] **************************************
[ 302.742702] WARNING: CPU: 0 PID: 0 at drivers/soc/tegra/cbb/tegra234-cbb.c:60 8 tegra234_cbb_isr+0x144/0x190
[ 302.742969] —[ end trace 8c82e29026944677 ]—
[ 303.747961] CPU:0, Error: cbb-fabric@0x13a00000, irq=178
[ 303.747964] **************************************
[ 303.747964] CPU:0, Error:cbb-fabric, Errmon:2
[ 303.747970] Error Code : PWRDOWN_ERR
[ 303.747970] Overflow : Multiple PWRDOWN_ERR
[ 303.747978]
[ 303.747978] Error Code : PWRDOWN_ERR
[ 303.747979] MASTER_ID : CCPLEX
[ 303.747980] Address : 0x3550750
[ 303.747981] Cache : 0x1 – Bufferable
[ 303.747982] Protection : 0x2 – Unprivileged, Non-Secure, Data Access
[ 303.747984] Access_Type : Read
[ 303.747985] Access_ID : 0x17
[ 303.747985] Fabric : cbb-fabric
[ 303.747986] Slave_Id : 0x22
[ 303.747987] Burst_length : 0x0
[ 303.747988] Burst_type : 0x1
[ 303.747988] Beat_size : 0x2
[ 303.747989] VQC : 0x0
[ 303.747990] GRPSEC : 0x7e
[ 303.747990] FALCONSEC : 0x0
[ 303.747991] Slave : AXI2APB_16
[ 303.747993] **************************************
[ 303.748010] WARNING: CPU: 0 PID: 0 at drivers/soc/tegra/cbb/tegra234-cbb.c:60 8 tegra234_cbb_isr+0x144/0x190
[ 303.748197] —[ end trace 8c82e29026944678 ]—
��[ 327.896284] Camera-FW on t234-rce-safe started
TCU early console enabled.
[ 327.985386] Camera-FW on t234-rce-safe ready SHA1=e2238c99 (crt 1.199 ms, to tal boot 90.401 ms)
TCU debug prints will be routed to traces.
��[ 304.049027] tegra-ivc-bus bc00000.rtcpu:ivc-bus:echo@0: ivc channel driver missing
[ 304.049033] tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@1: ivc channel driver mis sing
[ 304.049036] tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@2: ivc channel driver mis sing
[ 304.049040] tegra-ivc-bus bc00000.rtcpu:ivc-bus:diag@5: ivc channel driver mi ssing
[ 334.815258] PM: dpm_run_callback(): nvidia_isr+0x52c/0x7e0 [nvidia] returns -5

*** Please note that this reply is generated by LLM automatically ***

Based on the provided context, it appears that you are working with an Nvidia Jetson Orin Nano module on a custom carrier board, and you are experiencing issues with the wake alarm feature using the HYM8563 RTC driver.

The error messages you provided indicate that the system is entering an error mode when trying to suspend, and it fails to wake up after the set time, resulting in a reboot. The error messages also mention that the HYM8563 driver is unable to enable IRQ wake, and there are errors related to the CBB fabric and AXI2APB16 slave.

To address this issue, let’s break down the possible causes and potential solutions:

  1. HYM8563 driver issues: The HYM8563 driver is a kernel module that provides support for the HYM8563 RTC chip. The error messages indicate that the driver is unable to enable IRQ wake, which is necessary for the wake alarm feature to work. You may want to try updating the HYM8563 driver to the latest version or checking the kernel configuration to ensure that the driver is properly configured.
  2. CBB fabric errors: The CBB fabric is a component of the Nvidia Tegra SoC that provides a high-speed interconnect between various components. The error messages indicate that there are errors related to the CBB fabric, which may be causing the system to fail to suspend or wake up properly. You may want to try checking the kernel configuration and device tree to ensure that the CBB fabric is properly configured.
  3. AXI2APB16 slave errors: The AXI2APB16 slave is a component of the Nvidia Tegra SoC that provides a bridge between the AXI bus and the APB bus. The error messages indicate that there are errors related to the AXI2APB16 slave, which may be causing the system to fail to suspend or wake up properly. You may want to try checking the kernel configuration and device tree to ensure that the AXI2APB16 slave is properly configured.
  4. Power management issues: The error messages indicate that there are power management issues related to the Nvidia Tegra SoC. You may want to try checking the kernel configuration and device tree to ensure that the power management is properly configured.

To compare with other Jetson modules, the Jetson Orin Nano is a more power-efficient module compared to other Jetson modules, such as the Jetson AGX Orin. However, the power management configuration may still need to be adjusted to ensure proper operation.

In terms of flashing the module, the provided context indicates that you are using the jetson-orin-nano-devkit.conf file to flash the module. This file is specific to the Jetson Orin Nano Developer Kit, and it may not be compatible with your custom carrier board. You may want to try using a different configuration file or adjusting the existing file to match your custom carrier board.

To summarize, the issues you are experiencing with the wake alarm feature on your custom carrier board may be related to the HYM8563 driver, CBB fabric, AXI2APB16 slave, or power management configuration. You may want to try updating the HYM8563 driver, checking the kernel configuration and device tree, and adjusting the power management configuration to ensure proper operation. Additionally, you may want to try using a different configuration file or adjusting the existing file to match your custom carrier board.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Sure, I will check this

Hi, can you specify what are the required changes here or what changes are you referring? its related to PINMUX? I have made updates for pinmux

I am trying these steps to test wakealarm:

  1. Confirm the driver and wakealarm support:

look for something: rtc-hym8563 1-0051: registered as rtc0

$sudo dmesg | grep -i hym8563
[sudo] password for Onanouser:
[ 2.121949] wwm debug ----->hym8563_probe:589
[ 2.122090] [hym8563_init_device:491]======>wwm debug set reg RTC_CTL1 ok
[ 2.122255] [hym8563_init_device:505] set test reg failed, 0x00 value ret = 128
[ 2.122417] [hym8563_init_device:522] hym8563 write HYM8563_CTL2 ok!
[ 2.124068] rtc-hym8563 2-0051: registered as rtc0
[ 2.124387] rtc-hym8563 2-0051: setting system clock to 2025-10-29T06:11:22 UTC (1761718282)
[ 2.124393] rtc-hym8563 2-0051: Created faultStatus sysfs in rtc0

Then check the available attributes:

ls /sys/class/rtc/rtc0/

Onanouser@rev3:~$ cd /sys/class/rtc/rtc0/
Onanouser@rev3:/sys/class/rtc/rtc0$ ls
date dev device faultStatus hctosys max_user_freq name power since_epoch subsystem time uevent wakealarm
Onanouser@rev3:/sys/class/rtc/rtc0$

You should see:

date time wakealarm since_epoch …

  1. Check driver’s alarm support in kernel

cat /sys/class/rtc/rtc0/device/power/wakeup

Onanouser@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/device/power/wakeup
disabled
Onanouser@rev3:/sys/class/rtc/rtc0$

Onanouser@rev3:/sys/class/rtc/rtc0$ echo enabled | sudo tee /sys/class/rtc/rtc0/device/power/wakeup
enabled
Onanouser@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/device/power/wakeup
enabled
Onanouser@rev3:/sys/class/rtc/rtc0$

  1. Check current RTC time
    Onanouser@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/time
    07:40:51

  2. Set a wake alarm

First, clear any existing alarm:

echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm

Now, set an alarm 1 minute from now:

sudo sh -c ‘echo +60 > /sys/class/rtc/rtc0/wakealarm’

Verify:
Onanouser@rev3:/sys/class/rtc/rtc0$ cat /sys/class/rtc/rtc0/wakealarm
1761723764

This shows the Unix timestamp for the alarm.

  1. Suspend the system and test wakeup

sudo rtcwake -m mem -s 60

or manual suspend :
sudo systemctl suspend

This puts the system into suspend mode (mem) and automatically wakes after 60 seconds using the RTC alarm. but in my case, the system is showing error and then reboots.

  1. Verify wake event (Not working in my case)

After the system wakes, check the RTC log:

dmesg | grep -i alarm

or

dmesg | grep -i rtc

You should see something like:

rtc rtc0: alarm wakeup, event detected

also it seems like the rtc-hym8563.c in the L4T36.4.4 is the latest driver.

Could you manually put the system to suspend and toggle the interrupt pin to check if able to wake up the system?

What’s the error?