Add RTC support to aplsmc(4). The SMC firmware distributed with macOS 12.x
authorkettenis <kettenis@openbsd.org>
Wed, 2 Mar 2022 12:44:48 +0000 (12:44 +0000)
committerkettenis <kettenis@openbsd.org>
Wed, 2 Mar 2022 12:44:48 +0000 (12:44 +0000)
commit29e9a11646e9626dc362daa4325da45769a27757
tree8a048227f053688e84f4f85d3e68124e48289156
parentfe3bed6a4f7a91b1e4fef86d254056375d52d1ae
Add RTC support to aplsmc(4).  The SMC firmware distributed with macOS 12.x
has a method to read the counter that forms the base of the RTC.  This seems
to be the preferred way to access the RTC going forward.  The RTC offset is
still stored in the SPMI PMU, but we can use the nvmem interface to read
and write that.  This makes the RTC work on systems with the M1 Pro/Max SoC.

Sprinkle some #ifdef SMALL_KERNEL around and enable the driver on RAMDISK
kernels.

ok patrick@
sys/arch/arm64/conf/RAMDISK
sys/arch/arm64/dev/aplsmc.c