Files
Centos-kernel-stream-10/drivers/rtc
Scott Weaver 364b07ea48 Merge: rtc: s32g: update to v6.17 and enable driver
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/1458

## Summary of Changes

Update `nxp,s32g2-rtc` to v6.17 as part of NXP S32G enablement work. See [VROOM-32805](https://issues.redhat.com/browse/VROOM-32805) for details.

Depends: !1483

## Testing

This MR requires a non-standard setup to test. See [RHEL-115734](https://issues.redhat.com/browse/RHEL-115734) for how to boot into a console (uses a temporary Buildroot userspace since the hardware is currently being brought up). Once booted into a Linux console, I probed the `rtc-s32g` module and did some basic testing:

```
$ modprobe rtc-s32g
[   35.237537] rtc_s32g: module verification failed: signature and/or required key missing - tainting kernel
[   35.240695] s32g-rtc 40060000.rtc: registered as rtc0
[   35.240731] s32g-rtc 40060000.rtc: setting system clock to 1970-01-01T00:00:35 UTC (35)
$ lsmod
Module                  Size  Used by    Tainted: G
rtc_s32g               12288  1
$ while sleep 1s; do cat /sys/class/rtc/rtc0/time; done
00:01:23
00:01:24
00:01:25
00:01:26
00:01:27
00:01:28
00:01:29
00:01:30
00:01:31
^C
$ cat /proc/driver/rtc
rtc_time        : 00:02:32
rtc_date        : 1970-01-01
alrm_time       : 00:00:35
alrm_date       : 1970-01-02
alarm_IRQ       : no
alrm_pending    : no
update IRQ enabled      : no
periodic IRQ enabled    : no
periodic IRQ frequency  : 1
max user IRQ frequency  : 64
24hr            : yes
```

Note that the test isn't very rigorous -- I just made sure that the RTC incremented after each one-second loop, plus monitored the loop and saw that it appeared to be printing once per second. However, to make sure I wasn't unintentionally using the RTC to test itself, I did verify that `sleep 1s` uses a different underlying timer than the RTC:

```
# strace -e trace=/sleep sleep 1s
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, 0xfffff6184038) = 0
+++ exited with 0 +++
$ mount -t tracefs - /sys/kernel/tracing
$ cd /sys/kernel/tracing
$ echo 0 >tracing_on
$ echo function >current_tracer
$ echo func_stack_trace >trace_options
$ echo hrtimer_nanosleep >set_ftrace_filter
$ echo s32g_rtc\* >>set_ftrace_filter
$ echo >trace
$ echo 1 >tracing_on
$ sleep 1s
$ echo 0 >tracing_on
$ cat trace
# tracer: function
#
# entries-in-buffer/entries-written: 2/2   #P:8
#
#                                _-----=> irqs-off/BH-disabled
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
           sleep-241     [002] .....  1264.310895: hrtimer_nanosleep <-common_nsleep
           sleep-241     [002] .....  1264.310902: <stack trace>
 => hrtimer_nanosleep
 => common_nsleep
 => __arm64_sys_clock_nanosleep
 => do_el0_svc
 => el0_svc
 => el0t_64_sync_handler
 => el0t_64_sync
```

## Approved Development Ticket(s)

JIRA: https://issues.redhat.com/browse/RHEL-115734

Related ARK enablement MR: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/4173

Signed-off-by: Jared Kangas <jkangas@redhat.com>

Approved-by: Radu Rendec <rrendec@redhat.com>
Approved-by: Enric Balletbo i Serra <eballetbo@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Scott Weaver <scweaver@redhat.com>
2025-10-21 16:24:37 -04:00
..
2024-01-18 01:00:21 +01:00
2023-10-15 23:01:08 +02:00
2024-08-28 21:54:51 +01:00
2024-09-22 01:17:10 +02:00
2024-05-07 23:40:10 +02:00
2023-04-26 11:40:26 +01:00
2024-09-12 00:33:24 +02:00
2024-09-12 00:08:09 +02:00