xref: /linux/Documentation/devicetree/bindings/mfd/apple,smc.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
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
49  rtc:
50    $ref: /schemas/rtc/apple,smc-rtc.yaml
51
52additionalProperties: false
53
54required:
55  - compatible
56  - reg
57  - reg-names
58  - mboxes
59
60examples:
61  - |
62    soc {
63      #address-cells = <2>;
64      #size-cells = <2>;
65
66      smc@23e400000 {
67        compatible = "apple,t8103-smc", "apple,smc";
68        reg = <0x2 0x3e400000 0x0 0x4000>,
69               <0x2 0x3fe00000 0x0 0x100000>;
70        reg-names = "smc", "sram";
71        mboxes = <&smc_mbox>;
72
73        smc_gpio: gpio {
74          compatible = "apple,smc-gpio";
75          gpio-controller;
76          #gpio-cells = <2>;
77        };
78
79        reboot {
80          compatible = "apple,smc-reboot";
81          nvmem-cells = <&shutdown_flag>, <&boot_stage>,
82                        <&boot_error_count>, <&panic_count>;
83          nvmem-cell-names = "shutdown_flag", "boot_stage",
84                             "boot_error_count", "panic_count";
85        };
86
87        rtc {
88          compatible = "apple,smc-rtc";
89          nvmem-cells = <&rtc_offset>;
90          nvmem-cell-names = "rtc_offset";
91       };
92      };
93    };
94