summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/power
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/power')
-rw-r--r--Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml2
-rw-r--r--Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml184
-rw-r--r--Documentation/devicetree/bindings/power/qcom,rpmpd.yaml3
-rw-r--r--Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml7
-rw-r--r--Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml9
-rw-r--r--Documentation/devicetree/bindings/power/riscv,rpmi-device-power.yaml65
-rw-r--r--Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-power.yaml65
-rw-r--r--Documentation/devicetree/bindings/power/stericsson,ux500-pm-domains.yaml41
8 files changed, 368 insertions, 8 deletions
diff --git a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
index e269f433524e..dcffdd12c8c7 100644
--- a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
+++ b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
@@ -48,6 +48,8 @@ properties:
- apple,t6030-pmgr-pwrstate
- apple,t6031-pmgr-pwrstate
- apple,t8122-pmgr-pwrstate
+ - apple,t8132-pmgr-pwrstate
+ - apple,t8140-pmgr-pwrstate
- const: apple,t8103-pmgr-pwrstate
reg:
diff --git a/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml b/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
new file mode 100644
index 000000000000..75c84abc865f
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/mediatek,mt2701-scpsys.yaml
@@ -0,0 +1,184 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/mediatek,mt2701-scpsys.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek SCPSYS
+
+maintainers:
+ - Matthias Brugger <matthias.bgg@gmail.com>
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+
+description: >
+ The System Control Processor System (SCPSYS) has several power management
+ related tasks in the system. The tasks include thermal measurement, dynamic
+ voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
+ The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
+ domain control.
+
+ It provides the power domains defined in:
+ - include/dt-bindings/power/mt2701-power.h
+ - include/dt-bindings/power/mt2712-power.h
+ - include/dt-bindings/power/mt6797-power.h
+ - include/dt-bindings/power/mt7622-power.h
+ - include/dt-bindings/power/mt7623a-power.h
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - mediatek,mt7623a-scpsys
+ - mediatek,mt6797-scpsys
+ - items:
+ - enum:
+ - mediatek,mt2701-scpsys
+ - mediatek,mt2712-scpsys
+ - mediatek,mt7622-scpsys
+ - const: syscon
+ - items:
+ - const: mediatek,mt7623-scpsys
+ - const: mediatek,mt2701-scpsys
+ - const: syscon
+ - items:
+ - const: mediatek,mt7629-scpsys
+ - const: mediatek,mt7622-scpsys
+
+ '#power-domain-cells':
+ description: Always 1
+ const: 1
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 4
+
+ clocks:
+ minItems: 1
+ maxItems: 20
+
+ clock-names:
+ minItems: 1
+ maxItems: 6
+ items:
+ enum:
+ - mm
+ - mfg
+ - ethif
+ - venc
+ - jpgdec
+ - audio
+ - vdec
+ - hif_sel
+
+ vdec-supply: true
+ venc-supply: true
+ isp-supply: true
+ mm-supply: true
+ audio-supply: true
+ usb-supply: true
+ mfg_async-supply: true
+ mfg-supply: true
+
+ infracfg:
+ description: Infrastructure configuration controller phandle
+ $ref: /schemas/types.yaml#/definitions/phandle
+
+required:
+ - compatible
+ - '#power-domain-cells'
+ - reg
+ - infracfg
+ - clocks
+ - clock-names
+
+additionalProperties: false
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt2701-scpsys
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ maxItems: 3
+ clock-names:
+ items:
+ - const: mm
+ - const: mfg
+ - const: ethif
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt7623a-scpsys
+ then:
+ properties:
+ clocks:
+ maxItems: 1
+ clock-names:
+ items:
+ - const: ethif
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt2712-scpsys
+ then:
+ properties:
+ clocks:
+ minItems: 6
+ clock-names:
+ items:
+ - const: mm
+ - const: mfg
+ - const: venc
+ - const: jpgdec
+ - const: audio
+ - const: vdec
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt7622-scpsys
+ then:
+ properties:
+ clocks:
+ maxItems: 1
+ clock-names:
+ items:
+ - const: hif_sel
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt6797-scpsys
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ maxItems: 3
+ clock-names:
+ items:
+ - const: mfg
+ - const: mm
+ - const: vdec
+
+examples:
+ - |
+ #include <dt-bindings/clock/mt2701-clk.h>
+
+ power-controller@10006000 {
+ #power-domain-cells = <1>;
+ compatible = "mediatek,mt2701-scpsys", "syscon";
+ reg = <0x10006000 0x1000>;
+ infracfg = <&infracfg>;
+ clocks = <&topckgen CLK_TOP_MM_SEL>,
+ <&topckgen CLK_TOP_MFG_SEL>,
+ <&topckgen CLK_TOP_ETHIF_SEL>;
+ clock-names = "mm", "mfg", "ethif";
+ };
diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
index 0a45e1f55062..8ee1c25a7c9d 100644
--- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
+++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
@@ -21,6 +21,7 @@ properties:
- qcom,glymur-rpmhpd
- qcom,hawi-rpmhpd
- qcom,kaanapali-rpmhpd
+ - qcom,kuno-rpmhpd
- qcom,mdm9607-rpmpd
- qcom,milos-rpmhpd
- qcom,msm8226-rpmpd
@@ -63,6 +64,7 @@ properties:
- qcom,sm6350-rpmhpd
- qcom,sm6375-rpmpd
- qcom,sm7150-rpmhpd
+ - qcom,sm7250-rpmhpd
- qcom,sm8150-rpmhpd
- qcom,sm8250-rpmhpd
- qcom,sm8350-rpmhpd
@@ -74,6 +76,7 @@ properties:
- items:
- enum:
- qcom,msm8937-rpmpd
+ - qcom,msm8952-rpmpd
- const: qcom,msm8917-rpmpd
- items:
- enum:
diff --git a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml
index b67aa170b2c1..68b4696d7c59 100644
--- a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml
+++ b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml
@@ -13,8 +13,11 @@ maintainers:
description: |
The R-Car (RZ/G) System Controller provides power management for the CPU
cores and various coprocessors.
- The power domain IDs for consumers are defined in header files:
- include/dt-bindings/power/r8*-sysc.h
+ The power domain IDs for consumers are defined in the below header files
+ (where the asterisk serves as a wildcard matching the specific SoC
+ identifier):
+ include/dt-bindings/power/r8*-sysc.h or
+ include/dt-bindings/power/renesas,r8*-sysc.h
properties:
compatible:
diff --git a/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml b/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml
index 079ad977b907..60f0882f5381 100644
--- a/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml
+++ b/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.yaml
@@ -27,12 +27,9 @@ properties:
mailbox controller device node and an args specifier
that will be the phandle to the intended sub-mailbox
child node to be used for communication. See
- Documentation/devicetree/bindings/mailbox/mailbox.txt
- for more details about the generic mailbox controller
- and client driver bindings. Also see
- Documentation/devicetree/bindings/mailbox/ \
- xlnx,zynqmp-ipi-mailbox.txt for typical controller that
- is used to communicate with this System controllers.
+ Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
+ for typical controller that is used to communicate with
+ this System controllers.
items:
- description: tx channel
- description: rx channel
diff --git a/Documentation/devicetree/bindings/power/riscv,rpmi-device-power.yaml b/Documentation/devicetree/bindings/power/riscv,rpmi-device-power.yaml
new file mode 100644
index 000000000000..5afdc40df7e0
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/riscv,rpmi-device-power.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/riscv,rpmi-device-power.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: RISC-V RPMI device power service group based power domain controller
+
+maintainers:
+ - Joshua Yeong <joshua.yeong@starfivetech.com>
+
+description: |
+ The RISC-V Platform Management Interface (RPMI) [1] defines a
+ messaging protocol which is modular and extensible. The supervisor
+ software can send/receive RPMI messages via SBI MPXY extension [2]
+ or some dedicated supervisor-mode RPMI transport.
+
+ The RPMI specification [1] defines device power service group for
+ accessing and controlling the power state of platform devices managed
+ by a platform microcontroller. The supervisor software can access RPMI
+ device power service group via SBI MPXY channel or some dedicated
+ supervisor-mode RPMI transport.
+
+ ===========================================
+ References
+ ===========================================
+
+ [1] RISC-V Platform Management Interface (RPMI) v1.0 (or higher)
+ https://github.com/riscv-non-isa/riscv-rpmi/releases
+
+ [2] RISC-V Supervisor Binary Interface (SBI) v3.0 (or higher)
+ https://github.com/riscv-non-isa/riscv-sbi-doc/releases
+
+properties:
+ compatible:
+ description:
+ Intended for use by the supervisor software.
+ const: riscv,rpmi-device-power
+
+ mboxes:
+ maxItems: 1
+ description:
+ Mailbox channel of the underlying RPMI transport or SBI message proxy channel.
+
+ "#power-domain-cells":
+ const: 1
+ description:
+ Platform specific DOMAIN_ID as defined by the RISC-V Platform Management
+ Interface (RPMI) specification.
+
+required:
+ - compatible
+ - mboxes
+ - "#power-domain-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ power-controller {
+ compatible = "riscv,rpmi-device-power";
+ mboxes = <&mpxy_mbox 0x1002 0x0>;
+ #power-domain-cells = <1>;
+ };
+...
diff --git a/Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-power.yaml b/Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-power.yaml
new file mode 100644
index 000000000000..2b7df66ba172
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-power.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/riscv,rpmi-mpxy-device-power.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: RISC-V RPMI device power service group based message proxy
+
+maintainers:
+ - Joshua Yeong <joshua.yeong@starfivetech.com>
+
+description: |
+ The RISC-V Platform Management Interface (RPMI) [1] defines a
+ messaging protocol which is modular and extensible. The supervisor
+ software can send/receive RPMI messages via SBI MPXY extension [2]
+ or some dedicated supervisor-mode RPMI transport.
+
+ The RPMI specification [1] defines device power service group for
+ accessing and controlling the power state of platform devices managed
+ by a platform microcontroller. The SBI implementation (machine mode
+ firmware or hypervisor) can implement an SBI MPXY channel to allow RPMI
+ device power service group access to the supervisor software.
+
+ ===========================================
+ References
+ ===========================================
+
+ [1] RISC-V Platform Management Interface (RPMI) v1.0 (or higher)
+ https://github.com/riscv-non-isa/riscv-rpmi/releases
+
+ [2] RISC-V Supervisor Binary Interface (SBI) v3.0 (or higher)
+ https://github.com/riscv-non-isa/riscv-sbi-doc/releases
+
+properties:
+ compatible:
+ description:
+ Intended for use by the SBI implementation.
+ const: riscv,rpmi-mpxy-device-power
+
+ mboxes:
+ maxItems: 1
+ description:
+ Mailbox channel of the underlying RPMI transport.
+
+ riscv,sbi-mpxy-channel-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ The SBI MPXY channel id to be used for providing RPMI access to
+ the supervisor software.
+
+required:
+ - compatible
+ - mboxes
+ - riscv,sbi-mpxy-channel-id
+
+additionalProperties: false
+
+examples:
+ - |
+ device-power-service {
+ compatible = "riscv,rpmi-mpxy-device-power";
+ mboxes = <&rpmi_shmem_mbox 0x9>;
+ riscv,sbi-mpxy-channel-id = <0x1002>;
+ };
+...
diff --git a/Documentation/devicetree/bindings/power/stericsson,ux500-pm-domains.yaml b/Documentation/devicetree/bindings/power/stericsson,ux500-pm-domains.yaml
new file mode 100644
index 000000000000..bf83ce332674
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/stericsson,ux500-pm-domains.yaml
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/stericsson,ux500-pm-domains.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ST-Ericsson UX500 power domains
+
+maintainers:
+ - Linus Walleij <linusw@kernel.org>
+ - Ulf Hansson <ulfh@kernel.org>
+
+description:
+ The UX500 power domain controller gates power to one or more peripherals on
+ the SoC. Domain specifiers use one cell containing one of the DOMAIN_*
+ indexes defined in include/dt-bindings/arm/ux500_pm_domains.h.
+
+allOf:
+ - $ref: power-domain.yaml#
+
+properties:
+ compatible:
+ const: stericsson,ux500-pm-domains
+
+ '#power-domain-cells':
+ const: 1
+
+required:
+ - compatible
+ - '#power-domain-cells'
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/arm/ux500_pm_domains.h>
+
+ pm_domains: power-controller {
+ compatible = "stericsson,ux500-pm-domains";
+ #power-domain-cells = <1>;
+ };