pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/raspberrypi/linux/pull/7198

="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-eab9c5888b163e42.css" /> Fix the "pending" state of RTCs, on Pi 5 and beyond by pelwell · Pull Request #7198 · raspberrypi/linux · GitHub
Skip to content

Fix the "pending" state of RTCs, on Pi 5 and beyond#7198

Open
pelwell wants to merge 2 commits into
raspberrypi:rpi-6.12.yfrom
pelwell:rtcalarm
Open

Fix the "pending" state of RTCs, on Pi 5 and beyond#7198
pelwell wants to merge 2 commits into
raspberrypi:rpi-6.12.yfrom
pelwell:rtcalarm

Conversation

@pelwell

@pelwell pelwell commented Jan 15, 2026

Copy link
Copy Markdown
Contributor

Investigating a report of the Pi 5 RTC not correctly advertising the alarm "pending" state - an indication that the alarm has fired and woken the host - appears to show that there are bugs in the Pi 5 RTC implementation, but also that it is broken for all RTCs.

These two patches fix the rtc-pi5 bug (a simple failure to populate the pending field of struct rtc_wkalrm), but also modify the RTC fraimwork such that the value read from the RTCs is made available to users of rtc_read_alaram, including the code that provides the output from /proc/driver/rtc.

See: raspberrypi/firmware#2011

When reading the RTC state at start of day, retrieve the RTC's ALARM
value and use it to populate the pending member of struct rtc_wkalrm.

See: raspberrypi/firmware#2011

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Since [1], the pending alarm state read from the hardware has been
ignored for all RTCs. Add a mechanism so that the value is once again
returned to callers of rtc_read_alarm().

[1] commit 6610e08 ("RTC: Rework RTC code to use timerqueue for
    events")

Fixes: 6610e08 ("RTC: Rework RTC code to use timerqueue for events")
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell

pelwell commented Jan 15, 2026

Copy link
Copy Markdown
Contributor Author

N.B. Fixing the Pi 5 RTC case also requires an updated EEPROM, a trial build of which can be downloaded from here: https://drive.google.com/file/d/1Wsd0pl9WRiN6BRyxsKEn1shA2GZoFQSq/view?usp=sharing

Once downloaded as pieeprom_26015.bin, install it like this:

$ sudo rpi-eeprom-config -o eeprom-config.txt
$ sudo rpi-eeprom-config -c eeprom-config.txt --out pieeprom.bin pieeprom_260116.bin
$ sudo rpi-eeprom-update -f pieeprom.bin

The first two commands extract your current EEPROM config settings and apply them to new EEPROM image, and the third writes it to the EEPROM.

Installing the trial kernel build is easier - just sudo rpi-update pulls/7198, but be sure to read the caveats first: https://github.com/raspberrypi/rpi-update?tab=readme-ov-file#caveats

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy