0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/apple/apple,pmgr.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Apple SoC Power Manager (PMGR)
0008
0009 maintainers:
0010 - Hector Martin <marcan@marcan.st>
0011
0012 description: |
0013 Apple SoCs include PMGR blocks responsible for power management,
0014 which can control various clocks, resets, power states, and
0015 performance features. This node represents the PMGR as a syscon,
0016 with sub-nodes representing individual features.
0017
0018 properties:
0019 $nodename:
0020 pattern: "^power-management@[0-9a-f]+$"
0021
0022 compatible:
0023 items:
0024 - enum:
0025 - apple,t8103-pmgr
0026 - apple,t6000-pmgr
0027 - const: apple,pmgr
0028 - const: syscon
0029 - const: simple-mfd
0030
0031 reg:
0032 maxItems: 1
0033
0034 "#address-cells":
0035 const: 1
0036
0037 "#size-cells":
0038 const: 1
0039
0040 patternProperties:
0041 "power-controller@[0-9a-f]+$":
0042 description:
0043 The individual power management domains within this controller
0044 type: object
0045 $ref: /schemas/power/apple,pmgr-pwrstate.yaml#
0046
0047 required:
0048 - compatible
0049 - reg
0050
0051 additionalProperties: false
0052
0053 examples:
0054 - |
0055 soc {
0056 #address-cells = <2>;
0057 #size-cells = <2>;
0058
0059 power-management@23b700000 {
0060 compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
0061 #address-cells = <1>;
0062 #size-cells = <1>;
0063 reg = <0x2 0x3b700000 0x0 0x14000>;
0064
0065 ps_sio: power-controller@1c0 {
0066 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0067 reg = <0x1c0 8>;
0068 #power-domain-cells = <0>;
0069 #reset-cells = <0>;
0070 label = "sio";
0071 apple,always-on;
0072 };
0073
0074 ps_uart_p: power-controller@220 {
0075 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0076 reg = <0x220 8>;
0077 #power-domain-cells = <0>;
0078 #reset-cells = <0>;
0079 label = "uart_p";
0080 power-domains = <&ps_sio>;
0081 };
0082
0083 ps_uart0: power-controller@270 {
0084 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0085 reg = <0x270 8>;
0086 #power-domain-cells = <0>;
0087 #reset-cells = <0>;
0088 label = "uart0";
0089 power-domains = <&ps_uart_p>;
0090 };
0091 };
0092
0093 power-management@23d280000 {
0094 compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
0095 #address-cells = <1>;
0096 #size-cells = <1>;
0097 reg = <0x2 0x3d280000 0x0 0xc000>;
0098
0099 ps_aop_filter: power-controller@4000 {
0100 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0101 reg = <0x4000 8>;
0102 #power-domain-cells = <0>;
0103 #reset-cells = <0>;
0104 label = "aop_filter";
0105 };
0106
0107 ps_aop_base: power-controller@4010 {
0108 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0109 reg = <0x4010 8>;
0110 #power-domain-cells = <0>;
0111 #reset-cells = <0>;
0112 label = "aop_base";
0113 power-domains = <&ps_aop_filter>;
0114 };
0115
0116 ps_aop_shim: power-controller@4038 {
0117 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0118 reg = <0x4038 8>;
0119 #power-domain-cells = <0>;
0120 #reset-cells = <0>;
0121 label = "aop_shim";
0122 power-domains = <&ps_aop_base>;
0123 };
0124
0125 ps_aop_uart0: power-controller@4048 {
0126 compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
0127 reg = <0x4048 8>;
0128 #power-domain-cells = <0>;
0129 #reset-cells = <0>;
0130 label = "aop_uart0";
0131 power-domains = <&ps_aop_shim>;
0132 };
0133 };
0134 };