/kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/ |
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# 10 - Rafael J. Wysocki <rjw@rjwysocki.net> 11 - Kevin Hilman <khilman@kernel.org> 12 - Ulf Hansson <ulf.hansson@linaro.org> 19 This device tree binding can be used to bind PM domain consumer devices with 20 their PM domains provided by PM domain providers. A PM domain provider can be 23 phandle arguments (so called PM domain specifiers) of length specified by the [all …]
|
D | domain-idle-state.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: PM Domain Idle States binding description 10 - Ulf Hansson <ulf.hansson@linaro.org> 13 A domain idle state node represents the state parameters that will be used to 14 select the state when there are no active components in the PM domain. 18 const: domain-idle-states 21 "^(cpu|cluster|domain)-": [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/ |
D | psci.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 15 processors") can be used by Linux to initiate various CPU-centric power 25 r0 => 32-bit Function ID / return value 26 {r1 - r3} => Parameters 40 - description: 44 - description: 46 const: arm,psci-0.2 [all …]
|
D | coresight-cpu-debug.txt | 5 external debug module is mainly used for two modes: self-hosted debug and 8 debug module provides sample-based profiling extension, which can be used 14 - compatible : should be "arm,coresight-cpu-debug"; supplemented with 18 - reg : physical base address and length of the register set. 20 - clocks : the clock associated to this component. 22 - clock-names : the name of the clock referenced by the code. Since we are 29 - cpu : the CPU phandle the debug module is affined to. Do not assume it 34 - power-domains: a phandle to the debug power domain. We use "power-domains" 36 power domain and if necessary to use "cpuidle.off=1" or 38 constrain idle states to ensure registers in the CPU power [all …]
|
/kernel/linux/linux-5.10/drivers/cpuidle/ |
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 return -EBUSY; in psci_pd_power_off() 43 /* OSI mode is enabled, set the corresponding domain state. */ in psci_pd_power_off() 44 pd_state = state->data; in psci_pd_power_off() 50 static int psci_pd_parse_state_nodes(struct genpd_power_state *states, in psci_pd_parse_state_nodes() argument 57 ret = psci_dt_parse_state_node(to_of_node(states[i].fwnode), in psci_pd_parse_state_nodes() [all …]
|
D | cpuidle-psci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PSCI CPU idle driver. 28 #include "cpuidle-psci.h" 59 u32 *states = data->psci_states; in psci_enter_domain_idle_state() local 60 struct device *pd_dev = data->dev; in psci_enter_domain_idle_state() 66 return -1; in psci_enter_domain_idle_state() 73 state = states[idx]; in psci_enter_domain_idle_state() 75 ret = psci_cpu_suspend_enter(state) ? -1 : idx; in psci_enter_domain_idle_state() 81 /* Clear the domain state to start fresh when back from idle. */ in psci_enter_domain_idle_state() 102 /* Clear domain state to start fresh at next online. */ in psci_idle_cpuhp_down() [all …]
|
D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # ARM CPU Idle drivers 6 bool "Generic ARM/ARM64 CPU idle Driver" 11 It provides a generic idle driver whose idle states are configured 12 at run-time through DT nodes. The CPUidle suspend backend is 13 initialized by calling the CPU operations init idle hook 17 bool "PSCI CPU idle Driver" 23 It provides an idle driver that is capable of detecting and 24 managing idle states through the PSCI firmware interface. 27 bool "PSCI CPU idle Domain" [all …]
|
/kernel/linux/linux-5.10/Documentation/trace/coresight/ |
D | coresight-cpu-debug.rst | 9 ------------ 11 Coresight CPU debug module is defined in ARMv8-a architecture reference manual 13 debug module and it is mainly used for two modes: self-hosted debug and 16 explore debugging method which rely on self-hosted debug mode, this document 19 The debug module provides sample-based profiling extension, which can be used 21 every CPU has one dedicated debug module to be connected. Based on self-hosted 29 -------------- 31 - During driver registration, it uses EDDEVID and EDDEVID1 - two device ID 32 registers to decide if sample-based profiling is implemented or not. On some 36 - At the time this documentation was written, the debug driver mainly relies on [all …]
|
/kernel/linux/linux-5.10/arch/arm/mach-omap2/ |
D | pm33xx-core.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/ 18 #include <linux/platform_data/gpio-omap.h> 34 #include "omap-secure.h" 53 return -ENOMEM; in am43xx_map_scu() 61 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am33xx_check_off_mode_enable() 70 * Check for am437x-gp-evm which has the right Hardware design to in am43xx_check_off_mode_enable() 73 if (of_machine_is_compatible("ti,am437x-gp-evm") && enable_off_mode) in am43xx_check_off_mode_enable() 76 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am43xx_check_off_mode_enable() 81 static int amx3_common_init(int (*idle)(u32 wfi_flags)) in amx3_common_init() [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/msm/ |
D | qcom,idle-state.txt | 1 QCOM Idle States for cpuidle driver 3 ARM provides idle-state node to define the cpuidle states, as defined in [1]. 4 cpuidle-qcom is the cpuidle driver for Qualcomm SoCs and uses these idle 5 states. Idle states have different enter/exit latency and residency values. 6 The idle states supported by the QCOM SoC are defined as - 18 hierarchy to enter standby states, when all cpus are idle. An interrupt brings 34 between the time it enters idle and the next known wake up. SPC mode is used 37 sequence for this idle state is programmed to power down the supply to the 44 code in the EL for the SoC. On SoCs with write-back L1 cache, the cache has to 49 modes. In a hierarchical power domain SoC, this means L2 and other caches can [all …]
|
/kernel/linux/linux-5.10/Documentation/trace/ |
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, 41 enters the idle state 4, while trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()) 42 means that the system exits the previous idle state. 46 correctly draw the states diagrams and to calculate accurate statistics etc. [all …]
|
/kernel/linux/linux-5.10/drivers/base/power/ |
D | domain_governor.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/domain_governor.c - Governors for device PM domains. 20 if (dev->power.subsys_data && dev->power.subsys_data->domain_data) { in dev_update_qos_constraint() 22 * Only take suspend-time QoS constraints of devices into in dev_update_qos_constraint() 28 constraint_ns = dev_gpd_data(dev)->td.effective_constraint_ns; in dev_update_qos_constraint() 31 * The child is not in a domain and there's no info on its in dev_update_qos_constraint() 47 * default_suspend_ok - Default PM domain governor routine to suspend devices. 52 struct gpd_timing_data *td = &dev_gpd_data(dev)->td; in default_suspend_ok() 58 spin_lock_irqsave(&dev->power.lock, flags); in default_suspend_ok() 60 if (!td->constraint_changed) { in default_suspend_ok() [all …]
|
D | domain.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/domain.c - Common code related to device power domains. 34 __routine = genpd->dev_ops.callback; \ 53 mutex_lock(&genpd->mlock); in genpd_lock_mtx() 59 mutex_lock_nested(&genpd->mlock, depth); in genpd_lock_nested_mtx() 64 return mutex_lock_interruptible(&genpd->mlock); in genpd_lock_interruptible_mtx() 69 return mutex_unlock(&genpd->mlock); in genpd_unlock_mtx() 80 __acquires(&genpd->slock) in genpd_lock_spin() 84 spin_lock_irqsave(&genpd->slock, flags); in genpd_lock_spin() 85 genpd->lock_flags = flags; in genpd_lock_spin() [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mmc/ |
D | ti-omap-hsmmc.txt | 10 -------------------- 11 - compatible: 12 Should be "ti,omap2-hsmmc", for OMAP2 controllers 13 Should be "ti,omap3-hsmmc", for OMAP3 controllers 14 Should be "ti,omap3-pre-es3-hsmmc" for OMAP3 controllers pre ES3.0 15 Should be "ti,omap4-hsmmc", for OMAP4 controllers 16 Should be "ti,am33xx-hsmmc", for AM335x controllers 17 Should be "ti,k2g-hsmmc", "ti,omap4-hsmmc" for 66AK2G controllers. 20 --------------------------------- 22 - ti,hwmods: Must be "mmc<n>", n is controller instance starting 1. [all …]
|
/kernel/linux/linux-5.10/include/linux/ |
D | energy_model.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 * em_perf_state - Performance state of a performance domain 16 * @power: The power consumed at this level, in milli-watts (by 1 CPU or 29 * em_perf_domain - Performance domain 30 * @table: List of performance states, in ascending order 31 * @nr_perf_states: Number of performance states 32 * @cpus: Cpumask covering the CPUs of the domain. It's here 37 * In case of CPU device, a "performance domain" represents a group of CPUs 38 * whose performance is scaled together. All CPUs of a performance domain 39 * must have the same micro-architecture. Performance domains often have [all …]
|
D | pm_domain.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * pm_domain.h - Definitions and headers related to device power domains. 31 * ->power_on|off(), doesn't sleep. Hence, these 33 * enables genpd to power on/off the PM domain, 39 * GENPD_FLAG_ALWAYS_ON: Instructs genpd to always keep the PM domain 42 * GENPD_FLAG_ACTIVE_WAKEUP: Instructs genpd to keep the PM domain powered 50 * deploy idle power management support for CPUs 53 * last-man-standing algorithm, for the CPUs in the 54 * PM domain. 56 * GENPD_FLAG_RPM_ALWAYS_ON: Instructs genpd to always keep the PM domain [all …]
|
/kernel/linux/linux-5.10/Documentation/driver-api/pm/ |
D | devices.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 :Copyright: |copy| 2010-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 18 management (PM) code is also driver-specific. Most drivers will do very 22 This writeup gives an overview of how drivers interact with system-wide 25 background for the domain-specific work you'd do with any specific driver. 31 Drivers will use one or both of these models to put devices into low-power 32 states: 36 Drivers can enter low-power states as part of entering system-wide 37 low-power states like "suspend" (also known as "suspend-to-RAM"), or 39 "suspend-to-disk"). [all …]
|
/kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/ |
D | msm8916.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 6 #include <dt-bindings/arm/coresight-cti-dt.h> 7 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 8 #include <dt-bindings/clock/qcom,rpmcc.h> 9 #include <dt-bindings/interconnect/qcom,msm8916.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/reset/qcom,gcc-msm8916.h> 12 #include <dt-bindings/thermal/thermal.h> 15 interrupt-parent = <&intc>; [all …]
|
D | msm8998.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/clock/qcom,gcc-msm8998.h> 6 #include <dt-bindings/clock/qcom,gpucc-msm8998.h> 7 #include <dt-bindings/clock/qcom,rpmcc.h> 8 #include <dt-bindings/power/qcom-rpmpd.h> 9 #include <dt-bindings/gpio/gpio.h> 12 interrupt-parent = <&intc>; 14 qcom,msm-id = <292 0x0>; 16 #address-cells = <2>; [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/thermal/ |
D | thermal-cooling-devices.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-cooling-devices.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Amit Kucheria <amitk@kernel.org> 20 - thermal-sensor: device that measures temperature, has SoC-specific bindings 21 - cooling-device: device used to dissipate heat either passively or actively 22 - thermal-zones: a container of the following node types used to describe all 28 - Passive cooling: by means of regulating device performance. A typical 30 scaling (DVFS), and uses lower frequencies as cooling states. [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/ |
D | rohm,bd71847-pmic.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/mfd/rohm,bd71847-pmic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 14 single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is 18 …/www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applica… 19 …//www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applic… 24 - rohm,bd71847 25 - rohm,bd71850 [all …]
|
D | rohm,bd71837-pmic.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/mfd/rohm,bd71837-pmic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 13 BD71837MWV is programmable Power Management ICs for powering single-core, 14 dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for low 18 …/www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applica… 35 "#clock-cells": 38 # The BD718x7 supports two different HW states as reset target states. States [all …]
|
/kernel/linux/linux-5.10/arch/arm/boot/dts/ |
D | qcom-apq8084.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/clock/qcom,gcc-apq8084.h> 6 #include <dt-bindings/gpio/gpio.h> 9 #address-cells = <1>; 10 #size-cells = <1>; 13 interrupt-parent = <&intc>; 15 reserved-memory { 16 #address-cells = <1>; [all …]
|
/kernel/linux/linux-5.10/arch/arm/mach-omap1/ |
D | pm.c | 2 * linux/arch/arm/mach-omap1/pm.c 57 #include <linux/omap-dma.h> 58 #include <clocksource/timer-ti-dm.h> 91 return -EINVAL; in idle_store() 104 * Let's power down on idle, but only if we are really 105 * idle, because once we start down the path of 106 * going idle we continue to do idle even if we get 163 * Turn off all interrupts except GPIO bank 1, L1-2nd level cascade, in omap_pm_wakeup_setup() 233 * idle the omap. in omap1_pm_suspend() 281 /* (Step 3 removed - we now allow deep sleep by default) */ in omap1_pm_suspend() [all …]
|
/kernel/linux/linux-5.10/Documentation/ABI/testing/ |
D | sysfs-devices-system-cpu | 2 Date: pre-git history 3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 18 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 37 See Documentation/admin-guide/cputopology.rst for more information. 43 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 58 Contact: Linux memory management mailing list <linux-mm@kvack.org> 67 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 77 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 93 core_siblings_list: human-readable list of the logical CPU 103 thread_siblings_list: human-readable list of cpu#'s hardware [all …]
|