]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dt-bindings: rtc: Add Apple SMC RTC
authorSven Peter <sven@kernel.org>
Wed, 12 Nov 2025 11:16:47 +0000 (21:16 +1000)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 8 Dec 2025 21:41:59 +0000 (22:41 +0100)
Apple Silicon Macs (M1, etc.) have an RTC that is part of the PMU IC,
but most of the PMU functionality is abstracted out by the SMC.
An additional RTC offset stored inside NVMEM is required to compute
the current date/time.

Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Sven Peter <sven@kernel.org>
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
Reviewd-by: Mark Kettenis <kettenis@openbsd.org>
Link: https://patch.msgid.link/20251112-macsmc-subdevs-v5-1-728e4b91fe81@gmail.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Documentation/devicetree/bindings/mfd/apple,smc.yaml
Documentation/devicetree/bindings/rtc/apple,smc-rtc.yaml [new file with mode: 0644]
MAINTAINERS

index 5429538f7e2e914fa4babc273350a5bf194273b0..0410e712c900a7aa885e76c9b91f6eafa9a8fbe8 100644 (file)
@@ -46,6 +46,9 @@ properties:
   reboot:
     $ref: /schemas/power/reset/apple,smc-reboot.yaml
 
+  rtc:
+    $ref: /schemas/rtc/apple,smc-rtc.yaml
+
 additionalProperties: false
 
 required:
@@ -80,5 +83,11 @@ examples:
           nvmem-cell-names = "shutdown_flag", "boot_stage",
                              "boot_error_count", "panic_count";
         };
+
+        rtc {
+          compatible = "apple,smc-rtc";
+          nvmem-cells = <&rtc_offset>;
+          nvmem-cell-names = "rtc_offset";
+       };
       };
     };
diff --git a/Documentation/devicetree/bindings/rtc/apple,smc-rtc.yaml b/Documentation/devicetree/bindings/rtc/apple,smc-rtc.yaml
new file mode 100644 (file)
index 0000000..607b610
--- /dev/null
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/apple,smc-rtc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Apple SMC RTC
+
+description:
+  Apple Silicon Macs (M1, etc.) have an RTC that is part of the PMU IC,
+  but most of the PMU functionality is abstracted out by the SMC.
+  An additional RTC offset stored inside NVMEM is required to compute
+  the current date/time.
+
+maintainers:
+  - Sven Peter <sven@kernel.org>
+
+properties:
+  compatible:
+    const: apple,smc-rtc
+
+  nvmem-cells:
+    items:
+      - description: 48bit RTC offset, specified in 32768 (2^15) Hz clock ticks
+
+  nvmem-cell-names:
+    items:
+      - const: rtc_offset
+
+required:
+  - compatible
+  - nvmem-cells
+  - nvmem-cell-names
+
+additionalProperties: false
index 0a19e3171ad4f026e7bc7d64f9ea20ffbc6c3c2b..b93d26e60e995248c894d5b548c02e15c3769891 100644 (file)
@@ -2435,6 +2435,7 @@ F:        Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
 F:     Documentation/devicetree/bindings/power/apple*
 F:     Documentation/devicetree/bindings/power/reset/apple,smc-reboot.yaml
 F:     Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
+F:     Documentation/devicetree/bindings/rtc/apple,smc-rtc.yaml
 F:     Documentation/devicetree/bindings/spi/apple,spi.yaml
 F:     Documentation/devicetree/bindings/spmi/apple,spmi.yaml
 F:     Documentation/devicetree/bindings/watchdog/apple,wdt.yaml