| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/power/ |
| D | power_domain.txt | 1 * Generic PM domains 3 System on chip designs are often divided into multiple PM domains that can be 7 This device tree binding can be used to bind PM domain consumer devices with 8 their PM domains provided by PM domain providers. A PM domain provider can be 9 represented by any node in the device tree and can provide one or more PM 10 domains. A consumer node can refer to the provider by a phandle and a set of 11 phandle arguments (so called PM domain specifiers) of length specified by the 12 #power-domain-cells property in the PM domain provider node. 14 ==PM domain providers== 16 See power-domain.yaml. [all …]
|
| D | power-domain.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/power-domain.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic PM domains 10 - Rafael J. Wysocki <rjw@rjwysocki.net> 11 - Kevin Hilman <khilman@kernel.org> 12 - Ulf Hansson <ulf.hansson@linaro.org> 15 System on chip designs are often divided into multiple PM domains that can be 19 This device tree binding can be used to bind PM domain consumer devices with [all …]
|
| D | renesas,sysc-rmobile.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/power/renesas,sysc-rmobile.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas R-Mobile System Controller 10 - Geert Uytterhoeven <geert+renesas@glider.be> 11 - Magnus Damm <magnus.damm@gmail.com> 14 The R-Mobile System Controller provides the following functions: 15 - Boot mode management, 16 - Reset generation, [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/ |
| D | power_domain.txt | 1 * Generic PM domains 3 System on chip designs are often divided into multiple PM domains that can be 7 This device tree binding can be used to bind PM domain consumer devices with 8 their PM domains provided by PM domain providers. A PM domain provider can be 9 represented by any node in the device tree and can provide one or more PM 10 domains. A consumer node can refer to the provider by a phandle and a set of 11 phandle arguments (so called PM domain specifiers) of length specified by the 12 #power-domain-cells property in the PM domain provider node. 14 ==PM domain providers== 16 See power-domain.yaml. [all …]
|
| D | power-domain.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/power-domain.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic PM domains 10 - Rafael J. Wysocki <rjw@rjwysocki.net> 11 - Kevin Hilman <khilman@kernel.org> 12 - Ulf Hansson <ulf.hansson@linaro.org> 15 System on chip designs are often divided into multiple PM domains that can be 19 This device tree binding can be used to bind PM domain consumer devices with [all …]
|
| D | renesas,sysc-rmobile.txt | 1 DT bindings for the Renesas R-Mobile System Controller 5 The R-Mobile System Controller provides the following functions: 6 - Boot mode management, 7 - Reset generation, 8 - Power management. 11 - compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as 14 - "renesas,sysc-r8a73a4" (R-Mobile APE6) 15 - "renesas,sysc-r8a7740" (R-Mobile A1) 16 - "renesas,sysc-sh73a0" (SH-Mobile AG5) 17 - reg: Two address start and address range blocks for the device: [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/ux500/ |
| D | power_domain.txt | 1 * ST-Ericsson UX500 PM Domains 3 UX500 supports multiple PM domains which are used to gate power to one or 6 The implementation of PM domains for UX500 are based upon the generic PM domain 9 ==PM domain providers== 12 - compatible: Must be "stericsson,ux500-pm-domains". 13 - #power-domain-cells : Number of cells in a power domain specifier, must be 1. 17 compatible = "stericsson,ux500-pm-domains"; 18 #power-domain-cells = <1>; 21 ==PM domain consumers== 24 - power-domains: A phandle and PM domain specifier. Below are the list of [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/arm/ux500/ |
| D | power_domain.txt | 1 * ST-Ericsson UX500 PM Domains 3 UX500 supports multiple PM domains which are used to gate power to one or 6 The implementation of PM domains for UX500 are based upon the generic PM domain 9 ==PM domain providers== 12 - compatible: Must be "stericsson,ux500-pm-domains". 13 - #power-domain-cells : Number of cells in a power domain specifier, must be 1. 17 compatible = "stericsson,ux500-pm-domains"; 18 #power-domain-cells = <1>; 21 ==PM domain consumers== 24 - power-domains: A phandle and PM domain specifier. Below are the list of [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/xilinx/ |
| D | zynqmp-pm-domains.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ZynqMP Generic PM domain support 5 * Copyright (C) 2015-2019 Xilinx, Inc. 20 #include <linux/firmware/xlnx-zynqmp.h> 27 * struct zynqmp_pm_domain - Wrapper around struct generic_pm_domain 29 * @node_id: PM node ID corresponding to device inside PM domain 30 * @requested: The PM node mapped to the PM domain has been requested 42 * zynqmp_gpd_is_active_wakeup_path() - Check if device is in wakeup source 65 * zynqmp_gpd_power_on() - Power on PM domain 66 * @domain: Generic PM domain [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/xilinx/ |
| D | zynqmp_pm_domains.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ZynqMP Generic PM domain support 5 * Copyright (C) 2015-2019 Xilinx, Inc. 20 #include <linux/firmware/xlnx-zynqmp.h> 23 /* Flag stating if PM nodes mapped to the PM domain has been requested */ 29 * struct zynqmp_pm_domain - Wrapper around struct generic_pm_domain 31 * @node_id: PM node ID corresponding to device inside PM domain 32 * @flags: ZynqMP PM domain flags 41 * zynqmp_gpd_is_active_wakeup_path() - Check if device is in wakeup source 64 * zynqmp_gpd_power_on() - Power on PM domain [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/amlogic/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 30 tristate "Amlogic Meson GX Power Domains driver" 32 depends on PM && OF 37 Say yes to expose Amlogic Meson GX Power Domains as 38 Generic Power Domains. 41 tristate "Amlogic Meson Everything-Else Power Domains driver" 43 depends on PM && OF 48 Say yes to expose Amlogic Meson Everything-Else Power Domains as 49 Generic Power Domains. 52 tristate "Amlogic Meson Secure Power Domains driver" [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/amlogic/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 30 bool "Amlogic Meson GX Power Domains driver" 32 depends on PM && OF 37 Say yes to expose Amlogic Meson GX Power Domains as 38 Generic Power Domains. 41 bool "Amlogic Meson Everything-Else Power Domains driver" 43 depends on PM && OF 48 Say yes to expose Amlogic Meson Everything-Else Power Domains as 49 Generic Power Domains. 52 bool "Amlogic Meson Secure Power Domains driver" [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/bus/ |
| D | simple-pm-bus.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Simple Power-Managed Bus 10 - Geert Uytterhoeven <geert+renesas@glider.be> 13 A Simple Power-Managed Bus is a transparent bus that doesn't need a real 16 However, its bus controller is part of a PM domain, or under the control 17 of a functional clock. Hence, the bus controller's PM domain and/or 19 on-SoC or externally) to function. [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/bus/ |
| D | simple-pm-bus.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Simple Power-Managed Bus 10 - Geert Uytterhoeven <geert+renesas@glider.be> 13 A Simple Power-Managed Bus is a transparent bus that doesn't need a real 16 However, its bus controller is part of a PM domain, or under the control 17 of a functional clock. Hence, the bus controller's PM domain and/or 19 on-SoC or externally) to function. [all …]
|
| /kernel/linux/linux-6.6/drivers/base/power/ |
| D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/common.c - Common device power management code. 18 * dev_pm_get_subsys_data - Create or refcount power.subsys_data for device. 31 return -ENOMEM; in dev_pm_get_subsys_data() 33 spin_lock_irq(&dev->power.lock); in dev_pm_get_subsys_data() 35 if (dev->power.subsys_data) { in dev_pm_get_subsys_data() 36 dev->power.subsys_data->refcount++; in dev_pm_get_subsys_data() 38 spin_lock_init(&psd->lock); in dev_pm_get_subsys_data() 39 psd->refcount = 1; in dev_pm_get_subsys_data() 40 dev->power.subsys_data = psd; in dev_pm_get_subsys_data() [all …]
|
| /kernel/linux/linux-5.10/drivers/base/power/ |
| D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/common.c - Common device power management code. 18 * dev_pm_get_subsys_data - Create or refcount power.subsys_data for device. 31 return -ENOMEM; in dev_pm_get_subsys_data() 33 spin_lock_irq(&dev->power.lock); in dev_pm_get_subsys_data() 35 if (dev->power.subsys_data) { in dev_pm_get_subsys_data() 36 dev->power.subsys_data->refcount++; in dev_pm_get_subsys_data() 38 spin_lock_init(&psd->lock); in dev_pm_get_subsys_data() 39 psd->refcount = 1; in dev_pm_get_subsys_data() 40 dev->power.subsys_data = psd; in dev_pm_get_subsys_data() [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/renesas/ |
| D | rmobile-sysc.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * based on pm-sh7372.c 19 #include <linux/pm.h> 49 unsigned int mask = BIT(rmobile_pd->bit_shift); in rmobile_pd_power_down() 52 if (rmobile_pd->suspend) { in rmobile_pd_power_down() 53 int ret = rmobile_pd->suspend(); in rmobile_pd_power_down() 59 if (readl(rmobile_pd->base + PSTR) & mask) { in rmobile_pd_power_down() 60 writel(mask, rmobile_pd->base + SPDCR); in rmobile_pd_power_down() 62 readl_poll_timeout_atomic(rmobile_pd->base + SPDCR, val, in rmobile_pd_power_down() 66 pr_debug("%s: Power off, 0x%08x -> PSTR = 0x%08x\n", genpd->name, mask, in rmobile_pd_power_down() [all …]
|
| D | rcar-gen4-sysc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car Gen4 SYSC Power management support 22 #include "rcar-gen4-sysc.h" 26 #define SYSCPONSR(x) (0x800 + ((x) * 0x4)) /* Power-ON Status Register 0 */ 27 #define SYSCPOFFSR(x) (0x808 + ((x) * 0x4)) /* Power-OFF Status Register */ 39 #define PWRON_PWROFF BIT(0) /* Power-ON/OFF request */ 45 #define PDRSR_OFF BIT(0) /* Power-OFF state */ 46 #define PDRSR_ON BIT(4) /* Power-ON state */ 47 #define PDRSR_OFF_STATE BIT(8) /* Processing Power-OFF sequence */ 48 #define PDRSR_ON_STATE BIT(12) /* Processing Power-ON sequence */ [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-ux500/ |
| D | pm_domains.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Implements PM domains using the generic PM domain for ux500. 15 #include <dt-bindings/arm/ux500_pm_domains.h> 21 * Handle the gating of the PM domain regulator here. in pd_power_off() 23 * Drivers/subsystems handling devices in the PM domain needs to perform in pd_power_off() 24 * register context save/restore from their respective runtime PM in pd_power_off() 25 * callbacks, to be able to enable PM domain gating/ungating. in pd_power_off() 33 * Handle the ungating of the PM domain regulator here. in pd_power_on() 35 * Drivers/subsystems handling devices in the PM domain needs to perform in pd_power_on() 36 * register context save/restore from their respective runtime PM in pd_power_on() [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/bcm/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 8 select PM_GENERIC_DOMAINS if PM 11 This enables support for the BCM2835 power domains and reset 12 controller. Any usage of power domains by the Raspberry Pi 20 select PM_GENERIC_DOMAINS if PM 22 This enables support for the RPi power domains which can be enabled 39 Enables drivers for the Broadcom Set-Top Box (STB) series of chips. 49 select PM_GENERIC_DOMAINS if PM 59 select PM_GENERIC_DOMAINS if PM 61 This enables support for the BCM63xx power domains controller on
|
| /kernel/linux/linux-5.10/drivers/soc/renesas/ |
| D | rmobile-sysc.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * based on pm-sh7372.c 19 #include <linux/pm.h> 51 unsigned int mask = BIT(rmobile_pd->bit_shift); in rmobile_pd_power_down() 53 if (rmobile_pd->suspend) { in rmobile_pd_power_down() 54 int ret = rmobile_pd->suspend(); in rmobile_pd_power_down() 60 if (__raw_readl(rmobile_pd->base + PSTR) & mask) { in rmobile_pd_power_down() 62 __raw_writel(mask, rmobile_pd->base + SPDCR); in rmobile_pd_power_down() 64 for (retry_count = PSTR_RETRIES; retry_count; retry_count--) { in rmobile_pd_power_down() 65 if (!(__raw_readl(rmobile_pd->base + SPDCR) & mask)) in rmobile_pd_power_down() [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/st/ |
| D | ste-ux500-pm-domain.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Implements PM domains using the generic PM domain for ux500. 18 #include <dt-bindings/arm/ux500_pm_domains.h> 23 * Handle the gating of the PM domain regulator here. in pd_power_off() 25 * Drivers/subsystems handling devices in the PM domain needs to perform in pd_power_off() 26 * register context save/restore from their respective runtime PM in pd_power_off() 27 * callbacks, to be able to enable PM domain gating/ungating. in pd_power_off() 35 * Handle the ungating of the PM domain regulator here. in pd_power_on() 37 * Drivers/subsystems handling devices in the PM domain needs to perform in pd_power_on() 38 * register context save/restore from their respective runtime PM in pd_power_on() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/ti/ |
| D | sci-pm-domain.txt | 1 Texas Instruments TI-SCI Generic Power Domain 2 --------------------------------------------- 7 controller happens through a protocol known as TI-SCI [1]. 11 PM Domain Node 13 The PM domain node represents the global PM domain managed by the PMMC, which 14 in this case is the implementation as documented by the generic PM domain 15 bindings in Documentation/devicetree/bindings/power/power-domain.yaml. Because 20 -------------------- 21 - compatible: should be "ti,sci-pm-domain" 22 - #power-domain-cells: Can be one of the following: [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/bcm/ |
| D | bcm2835-power.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <dt-bindings/soc/bcm2835-pm.h> 12 #include <linux/mfd/bcm2835-pm.h> 16 #include <linux/reset-controller.h> 109 #define PM_READ(reg) readl(power->base + (reg)) 110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg)) 140 /* PM registers. */ 148 struct bcm2835_power_domain domains[BCM2835_POWER_DOMAIN_COUNT]; member 154 void __iomem *base = power->asb; in bcm2835_asb_control() 163 if (power->rpivid_asb) in bcm2835_asb_control() [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/mediatek/ |
| D | mtk-pm-domains.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/clk-provider.h> 19 #include "mt6795-pm-domains.h" 20 #include "mt8167-pm-domains.h" 21 #include "mt8173-pm-domains.h" 22 #include "mt8183-pm-domains.h" 23 #include "mt8186-pm-domains.h" 24 #include "mt8188-pm-domains.h" 25 #include "mt8192-pm-domains.h" 26 #include "mt8195-pm-domains.h" [all …]
|