| /linux/drivers/base/power/ |
| H A D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/common.c - Common device power management code. 19 * dev_pm_get_subsys_data - Create or refcount power.subsys_data for device. 32 return -ENOMEM; in dev_pm_get_subsys_data() 34 spin_lock_irq(&dev->power.lock); in dev_pm_get_subsys_data() 36 if (dev->power.subsys_data) { in dev_pm_get_subsys_data() 37 dev->power.subsys_data->refcount++; in dev_pm_get_subsys_data() 39 spin_lock_init(&psd->lock); in dev_pm_get_subsys_data() 40 psd->refcount = 1; in dev_pm_get_subsys_data() 41 dev->power.subsys_data = psd; in dev_pm_get_subsys_data() [all …]
|
| /linux/Documentation/devicetree/bindings/power/ |
| H A 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 …]
|
| H A 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 <rafael@kernel.org> 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 17 leakage current. Moreover, in some cases the similar PM domains may also be [all …]
|
| H A 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 …]
|
| H A D | rockchip,power-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Rockchip Power Domains 10 - Elaine Zhang <zhangqing@rock-chips.com> 11 - Heiko Stuebner <heiko@sntech.de> 14 Rockchip processors include support for multiple power domains 18 Power domains contained within power-controller node are 20 Documentation/devicetree/bindings/power/power-domain.yaml. [all …]
|
| /linux/Documentation/devicetree/bindings/arm/ux500/ |
| H A 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 …]
|
| /linux/drivers/pmdomain/xilinx/ |
| H A 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 …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "Enable Zynq MPSoC generic PM domains" 6 depends on PM && ZYNQMP_FIRMWARE 9 Say yes to enable device power management through PM domains
|
| /linux/drivers/pmdomain/bcm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "Broadcom PM Domains" 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 29 select PM_GENERIC_DOMAINS if PM 37 select PM_GENERIC_DOMAINS if PM 39 This enables support for the BCM63xx power domains controller on
|
| H A 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 …]
|
| /linux/drivers/pmdomain/amlogic/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "Amlogic PM Domains" 5 tristate "Amlogic Meson Everything-Else Power Domains driver" 7 depends on PM && OF 12 Say yes to expose Amlogic Meson Everything-Else Power Domains as 13 Generic Power Domains. 16 tristate "Amlogic Meson Secure Power Domains driver" 18 depends on PM && OF 25 Say yes to expose Amlogic Meson Secure Power Domains as Generic 26 Power Domains.
|
| /linux/Documentation/devicetree/bindings/bus/ |
| H A 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 …]
|
| /linux/drivers/pmdomain/st/ |
| H A 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 …]
|
| /linux/drivers/pmdomain/arm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 select PM_GENERIC_DOMAINS if PM 8 This enables support for the SCMI performance domains which can be 18 select PM_GENERIC_DOMAINS if PM 20 This enables support for the SCMI power domains which can be 31 select PM_GENERIC_DOMAINS if PM 33 This enables support for the SCPI power domains which can be
|
| /linux/Documentation/devicetree/bindings/soc/bcm/ |
| H A D | brcm,bcm2835-pm.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/soc/bcm/brcm,bcm2835-pm.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: BCM2835 PM (Power domains, watchdog) 10 The PM block controls power domains and some reset lines, and includes a 14 - Nicolas Saenz Julienne <nsaenz@kernel.org> 17 - $ref: /schemas/watchdog/watchdog.yaml# 22 - enum: 23 - brcm,bcm2835-pm [all …]
|
| /linux/drivers/pmdomain/imx/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "i.MX PM Domains" 5 bool "i.MX GPCv2 PM domains" 7 depends on PM
|
| /linux/drivers/pmdomain/qcom/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "Qualcomm PM Domains" 18 be called qcom-cpr 24 QCOM RPMh Power domain driver to support power-domains with 31 depends on PM && OF 36 QCOM RPM Power domain driver to support power-domains with
|
| /linux/drivers/cpuidle/ |
| H A D | cpuidle-psci-domain.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PM domains for CPUs via genpd - managed by cpuidle-psci. 22 #include "cpuidle-psci.h" 34 struct genpd_power_state *state = &pd->states[pd->state_idx]; in psci_pd_power_off() 37 if (!state->data) in psci_pd_power_off() 41 pd_state = state->data; in psci_pd_power_off() 42 psci_set_domain_state(pd, pd->state_idx, *pd_state); in psci_pd_power_off() 52 int ret = -ENOMEM; in psci_pd_init() 62 pd->flags |= GENPD_FLAG_IRQ_SAFE | GENPD_FLAG_CPU_DOMAIN; in psci_pd_init() 67 * supported, but only during system-wide suspend. in psci_pd_init() [all …]
|
| H A D | dt_idle_genpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PM domains for CPUs via genpd. 12 #define pr_fmt(fmt) "dt-idle-genpd: " fmt 38 ret = -ENOMEM; in pd_parse_state_nodes() 48 i--; in pd_parse_state_nodes() 49 for (; i >= 0; i--) in pd_parse_state_nodes() 86 pd_free_states(pd->states, pd->state_count); in dt_idle_pd_free() 87 kfree(pd->name); in dt_idle_pd_free() 102 pd->name = kasprintf(GFP_KERNEL, "%pOF", np); in dt_idle_pd_alloc() 103 if (!pd->name) in dt_idle_pd_alloc() [all …]
|
| /linux/Documentation/trace/ |
| H A D | events-power.rst | 8 - Power state switch which reports events related to suspend (S-states), 9 cpuidle (C-states) and cpufreq (P-states) 10 - System clock related changes 11 - Power domains related changes and transitions 22 ----------------- 24 A 'cpu' event class gathers the CPU-related events: cpuidle and 39 Note: the value of '-1' or '4294967295' for state means an exit from the current state, 62 3. Power domains events 64 The power domain events are used for power domains transitions 72 4. PM QoS events [all …]
|
| /linux/Documentation/devicetree/bindings/dma/ |
| H A D | ti-edma.txt | 8 ------------------------------------------------------------------------------ 12 -------------------- 13 - compatible: Should be: 14 - "ti,edma3-tpcc" for the channel controller(s) on OMAP, 16 - "ti,k2g-edma3-tpcc", "ti,edma3-tpcc" for the 18 - #dma-cells: Should be set to <2>. The first number is the DMA request 20 - reg: Memory map of eDMA CC 21 - reg-names: "edma3_cc" 22 - interrupts: Interrupt lines for CCINT, MPERR and CCERRINT. 23 - interrupt-names: "edma3_ccint", "edma3_mperr" and "edma3_ccerrint" [all …]
|
| /linux/Documentation/devicetree/bindings/usb/ |
| H A D | ti,am62-usb.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/usb/ti,am62-usb.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI's AM62 wrapper module for the Synopsys USBSS-DRD controller 10 - Aswath Govindraju <a-govindraju@ti.com> 14 const: ti,am62-usb 19 - description: USB CFG register space 20 - description: USB PHY2 register space 24 power-domains: [all …]
|
| H A D | ti,j721e-usb.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/usb/ti,j721e-usb.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI wrapper module for the Cadence USBSS-DRD controller 10 - Roger Quadros <rogerq@kernel.org> 15 - const: ti,j721e-usb 16 - items: 17 - const: ti,am64-usb 18 - const: ti,j721e-usb [all …]
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | omap4-l4.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 compatible = "ti,omap4-l4-cfg", "simple-pm-bus"; 4 power-domains = <&prm_core>; 6 clock-names = "fck"; 10 reg-names = "ap", "la", "ia0"; 11 #address-cells = <1>; 12 #size-cells = <1>; 22 compatible = "simple-pm-bus"; 23 #address-cells = <1>; 24 #size-cells = <1>; [all …]
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | intel_runtime_pm.c | 2 * Copyright © 2012-2014 Intel Corporation 37 * DOC: runtime pm 47 * domains there's a sizeable amount of indirection required. This file provides 49 * abstract power domains. It then maps those to the actual power wells 62 if (!rpm->debug.class) in init_intel_runtime_pm_wakeref() 63 ref_tracker_dir_init(&rpm->debug, INTEL_REFTRACK_DEAD_COUNT, in init_intel_runtime_pm_wakeref() 70 if (!rpm->available || rpm->no_wakeref_tracking) in track_intel_runtime_pm_wakeref() 73 return intel_ref_tracker_alloc(&rpm->debug); in track_intel_runtime_pm_wakeref() 79 if (!rpm->available || rpm->no_wakeref_tracking) in untrack_intel_runtime_pm_wakeref() 82 intel_ref_tracker_free(&rpm->debug, wakeref); in untrack_intel_runtime_pm_wakeref() [all …]
|