dt-bindings: power: reboot: Add Apple Mac SMC Reboot Controller

On Apple Silicon machines a clean shutdown or reboot requires
talking to SMC and writing to NVMEM cells. Add a binding for
this MFD sub-device.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: "Rob Herring (Arm)" <robh@kernel.org>
Signed-off-by: Sven Peter <sven@kernel.org>
Link: https://lore.kernel.org/r/20250610-smc-6-15-v7-2-556cafd771d3@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Sven Peter 2025-06-10 15:29:43 +00:00 committed by Lee Jones
parent 0f0a7bd04e
commit 51bb1f6d46
2 changed files with 41 additions and 0 deletions

View file

@ -0,0 +1,40 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/reset/apple,smc-reboot.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Apple SMC Reboot Controller
description:
The Apple System Management Controller (SMC) provides reboot functionality
on Apple Silicon SoCs. It uses NVMEM cells to store and track various
system state information related to boot, shutdown, and panic events.
maintainers:
- Sven Peter <sven@kernel.org>
properties:
compatible:
const: apple,smc-reboot
nvmem-cells:
items:
- description: Flag indicating shutdown (as opposed to reboot)
- description: Stage at which the boot process stopped (0x30 for normal boot)
- description: Counter for boot errors
- description: Counter for system panics
nvmem-cell-names:
items:
- const: shutdown_flag
- const: boot_stage
- const: boot_error_count
- const: panic_count
required:
- compatible
- nvmem-cells
- nvmem-cell-names
additionalProperties: false

View file

@ -2346,6 +2346,7 @@ F: Documentation/devicetree/bindings/nvmem/apple,spmi-nvmem.yaml
F: Documentation/devicetree/bindings/pci/apple,pcie.yaml
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/spi/apple,spi.yaml
F: Documentation/devicetree/bindings/spmi/apple,spmi.yaml