^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * Amlogic Virtual RTC (VRTC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) This is a Linux interface to an RTC managed by firmware, hence it's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) virtual from a Linux perspective. The interface is 1 register where
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) an alarm time (in seconds) is to be written.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - compatible: should be "amlogic,meson-vrtc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - reg: physical address for the alarm register
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) The alarm register is a simple scratch register shared between the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) application processors (AP) and the secure co-processor (SCP.) When
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) the AP suspends, the SCP will use the value of this register to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) program an always-on timer before going sleep. When the timer expires,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) the SCP will wake up and will then wake the AP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) vrtc: rtc@0a8 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) compatible = "amlogic,meson-vrtc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) reg = <0x0 0x000a8 0x0 0x4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) };