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