# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/apple,smc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Apple Mac System Management Controller
maintainers:
- Sven Peter <sven@kernel.org>
description:
Apple Mac System Management Controller implements various functions
such as GPIO, RTC, power, reboot.
properties:
compatible:
oneOf:
- items:
- const: apple,t6020-smc
- const: apple,t8103-smc
- items:
- enum:
# Do not add additional SoC to this list.
- apple,t6000-smc
- apple,t8103-smc
- apple,t8112-smc
- const: apple,smc
reg:
items:
- description: SMC area
- description: SRAM area
reg-names:
items:
- const: smc
- const: sram
mboxes:
maxItems: 1
gpio:
$ref: /schemas/gpio/apple,smc-gpio.yaml
reboot:
$ref: /schemas/power/reset/apple,smc-reboot.yaml
rtc:
$ref: /schemas/rtc/apple,smc-rtc.yaml
hwmon:
$ref: /schemas/hwmon/apple,smc-hwmon.yaml
additionalProperties: false
required:
- compatible
- reg
- reg-names
- mboxes
examples:
- |
soc {
#address-cells = <2>;
#size-cells = <2>;
smc@23e400000 {
compatible = "apple,t8103-smc", "apple,smc";
reg = <0x2 0x3e400000 0x0 0x4000>,
<0x2 0x3fe00000 0x0 0x100000>;
reg-names = "smc", "sram";
mboxes = <&smc_mbox>;
smc_gpio: gpio {
compatible = "apple,smc-gpio";
gpio-controller;
#gpio-cells = <2>;
};
reboot {
compatible = "apple,smc-reboot";
nvmem-cells = <&shutdown_flag>, <&boot_stage>,
<&boot_error_count>, <&panic_count>;
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";
};
hwmon {
compatible = "apple,smc-hwmon";
current-ID0R {
apple,key-id = "ID0R";
label = "AC Input Current";
};
fan-F0Ac {
apple,key-id = "F0Ac";
apple,fan-minimum = "F0Mn";
apple,fan-maximum = "F0Mx";
apple,fan-target = "F0Tg";
apple,fan-mode = "F0Md";
label = "Fan 1";
};
power-PSTR {
apple,key-id = "PSTR";
label = "Total System Power";
};
temperature-TW0P {
apple,key-id = "TW0P";
label = "WiFi/BT Module Temperature";
};
voltage-VD0R {
apple,key-id = "VD0R";
label = "AC Input Voltage";
};
};
};
};