xref: /linux/Documentation/devicetree/bindings/mfd/apple,smc.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/apple,smc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple Mac System Management Controller
8
9maintainers:
10  - Sven Peter <sven@kernel.org>
11
12description:
13  Apple Mac System Management Controller implements various functions
14  such as GPIO, RTC, power, reboot.
15
16properties:
17  compatible:
18    oneOf:
19      - items:
20          - const: apple,t6020-smc
21          - const: apple,t8103-smc
22      - items:
23          - enum:
24              # Do not add additional SoC to this list.
25              - apple,t6000-smc
26              - apple,t8103-smc
27              - apple,t8112-smc
28          - const: apple,smc
29
30  reg:
31    items:
32      - description: SMC area
33      - description: SRAM area
34
35  reg-names:
36    items:
37      - const: smc
38      - const: sram
39
40  mboxes:
41    maxItems: 1
42
43  gpio:
44    $ref: /schemas/gpio/apple,smc-gpio.yaml
45
46  reboot:
47    $ref: /schemas/power/reset/apple,smc-reboot.yaml
48
49additionalProperties: false
50
51required:
52  - compatible
53  - reg
54  - reg-names
55  - mboxes
56
57examples:
58  - |
59    soc {
60      #address-cells = <2>;
61      #size-cells = <2>;
62
63      smc@23e400000 {
64        compatible = "apple,t8103-smc", "apple,smc";
65        reg = <0x2 0x3e400000 0x0 0x4000>,
66               <0x2 0x3fe00000 0x0 0x100000>;
67        reg-names = "smc", "sram";
68        mboxes = <&smc_mbox>;
69
70        smc_gpio: gpio {
71          compatible = "apple,smc-gpio";
72          gpio-controller;
73          #gpio-cells = <2>;
74        };
75
76        reboot {
77          compatible = "apple,smc-reboot";
78          nvmem-cells = <&shutdown_flag>, <&boot_stage>,
79                        <&boot_error_count>, <&panic_count>;
80          nvmem-cell-names = "shutdown_flag", "boot_stage",
81                             "boot_error_count", "panic_count";
82        };
83      };
84    };
85