/linux/Documentation/devicetree/bindings/opp/ |
H A D | opp-v2-base.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/opp/opp-v2-base.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic OPP (Operating Performance Points) Common Properties 10 - Viresh Kumar <viresh.kumar@linaro.org> 13 Devices work at voltage-current-frequency combinations and some implementations 25 pattern: '^opp-table(-[a-z0-9]+)?$' 27 opp-shared: 29 Indicates that device nodes using this OPP Table Node's phandle switch [all …]
|
H A D | ti,omap-opp-supply.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/opp/ti,omap-opp-supply.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Texas Instruments OMAP compatible OPP supply 11 registers, which contain OPP-specific voltage information tailored 12 for the specific device. This binding provides the information 14 the primary regulator during an OPP transition. 16 Also, some supplies may have an associated vbb-supply, an Adaptive 17 Body Bias regulator, which must transition in a specific sequence [all …]
|
/linux/drivers/opp/ |
H A D | debugfs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic OPP debugfs interface 5 * Copyright (C) 2015-2016 Viresh Kumar <viresh.kumar@linaro.org> 18 #include "opp.h" 24 if (dev->parent) in opp_set_dev_name() 25 snprintf(name, NAME_MAX, "%s-%s", dev_name(dev->parent), in opp_set_dev_name() 31 void opp_debug_remove_one(struct dev_pm_opp *opp) in opp_debug_remove_one() argument 33 debugfs_remove_recursive(opp->dentry); in opp_debug_remove_one() 39 struct icc_path *path = fp->private_data; in bw_name_read() 56 static void opp_debug_create_bw(struct dev_pm_opp *opp, in opp_debug_create_bw() argument [all …]
|
H A D | ti-opp-supply.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2016-2017 Texas Instruments Incorporated - https://www.ti.com/ 5 * Dave Gerlach <d-gerlach@ti.com> 7 * TI OPP supply driver that provides override into the regulator control 8 * for generic opp core to handle devices with ABB regulator and/or 26 * struct ti_opp_supply_optimum_voltage_table - optimized voltage table 36 * struct ti_opp_supply_data - OMAP specific opp supply data 40 * @old_supplies: Placeholder for supplies information for old OPP. 41 * @new_supplies: Placeholder for supplies information for new OPP. 54 * struct ti_opp_supply_of_data - device tree match data [all …]
|
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic OPP Interface 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 23 #include "opp.h" 26 * The root of the list of all opp-tables. All opp_table structures branch off 32 /* Lock to allow exclusive modification to the device and opp lists */ 37 /* OPP ID allocator */ 45 mutex_lock(&opp_table->lock); in _find_opp_dev() 46 list_for_each_entry(opp_dev, &opp_table->dev_list, node) in _find_opp_dev() 47 if (opp_dev->dev == dev) { in _find_opp_dev() [all …]
|
/linux/Documentation/driver-api/thermal/ |
H A D | cpu-idle-cooling.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 ---------- 24 Last but not least, the system can ask for a specific power budget but 25 because of the OPP density, we can only choose an OPP with a power 26 budget lower than the requested one and under-utilize the CPU, thus 27 losing performance. In other words, one OPP under-utilizes the CPU 28 with a power less than the requested power budget and the next OPP 29 exceeds the power budget. An intermediate OPP could have been used if 33 ---------- 35 If we can remove the static and the dynamic leakage for a specific [all …]
|
/linux/arch/arm/mach-omap2/ |
H A D | omap_opp_data.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * OMAP SoC specific OPP Data helpers 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated - https://www.ti.com/ 20 * USE the following ONLY in opp data initialization common to an SoC. 25 * struct omap_opp_def - OMAP OPP Definition 27 * @freq: Frequency in hertz corresponding to this OPP 28 * @u_volt: Nominal voltage in microvolts corresponding to this OPP 29 * @default_available: True/false - is this OPP available by default 33 * Operating Points or OPP. The actual definitions of OMAP Operating Points 34 * varies over silicon within the same family of devices. For a specific [all …]
|
/linux/arch/arm/boot/dts/samsung/ |
H A D | exynos5800.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 10 * values for board specific bindings. 20 compatible = "samsung,exynos5800-clock", "syscon"; 24 opp-2000000000 { 25 opp-hz = /bits/ 64 <2000000000>; 26 opp-microvolt = <1312500 1312500 1500000>; 27 clock-latency-ns = <140000>; 29 opp-1900000000 { 30 opp-hz = /bits/ 64 <1900000000>; 31 opp-microvolt = <1262500 1262500 1500000>; [all …]
|
H A D | exynos4212.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 9 * based board files can include this file and provide values for board specific 23 #address-cells = <1>; 24 #size-cells = <0>; 26 cpu-map { 39 compatible = "arm,cortex-a9"; 42 clock-names = "cpu"; 43 operating-points-v2 = <&cpu0_opp_table>; 44 #cooling-cells = <2>; /* min followed by max */ 49 compatible = "arm,cortex-a9"; [all …]
|
H A D | exynos4412.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 9 * based board files can include this file and provide values for board specific 23 #address-cells = <1>; 24 #size-cells = <0>; 26 cpu-map { 45 compatible = "arm,cortex-a9"; 48 clock-names = "cpu"; 49 operating-points-v2 = <&cpu0_opp_table>; 50 #cooling-cells = <2>; /* min followed by max */ 55 compatible = "arm,cortex-a9"; [all …]
|
H A D | exynos4210.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. 7 * Copyright (c) 2010-2011 Linaro Ltd. 11 * based board files can include this file and provide values for board specific 20 #include "exynos4-cpu-thermal.dtsi" 31 bus_acp: bus-acp { 32 compatible = "samsung,exynos-bus"; 34 clock-names = "bus"; 35 operating-points-v2 = <&bus_acp_opp_table>; 38 bus_acp_opp_table: opp-table { [all …]
|
H A D | exynos4x12.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 10 * values for SoCs specific bindings. 19 #include "exynos4-cpu-thermal.dtsi" 27 fimc-lite0 = &fimc_lite_0; 28 fimc-lite1 = &fimc_lite_1; 31 bus_acp: bus-acp { 32 compatible = "samsung,exynos-bus"; 34 clock-names = "bus"; 35 operating-points-v2 = <&bus_acp_opp_table>; 38 bus_acp_opp_table: opp-table { [all …]
|
H A D | exynos3250.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 9 * based board files can include this file and provide values for board specific 17 #include "exynos4-cpu-thermal.dtsi" 18 #include <dt-bindings/clock/exynos3250.h> 19 #include <dt-bindings/interrupt-controller/arm-gic.h> 20 #include <dt-bindings/interrupt-controller/irq.h> 24 interrupt-parent = <&gic>; 25 #address-cells = <1>; 26 #size-cells = <1>; 46 bus_dmc: bus-dmc { [all …]
|
/linux/Documentation/devicetree/bindings/interconnect/ |
H A D | mediatek,cci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jia-Wei Chang <jia-wei.chang@mediatek.com> 11 - Johnson Wang <johnson.wang@mediatek.com> 21 - mediatek,mt8183-cci 22 - mediatek,mt8186-cci 26 - description: 28 - description: 33 clock-names: [all …]
|
H A D | fsl,imx8m-noc.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/interconnect/fsl,imx8m-noc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peng Fan <peng.fan@nxp.com> 18 for normal (non-secure) world. 20 The buses are based on externally licensed IPs such as ARM NIC-301 and 21 Arteris FlexNOC but DT bindings are specific to the integration of these bus 27 - items: 28 - enum: [all …]
|
/linux/Documentation/power/ |
H A D | opp.rst | 2 Operating Performance Points (OPP) Library 5 (C) 2009-2010 Nishanth Menon <nm@ti.com>, Texas Instruments Incorporated 10 2. Initial OPP List Registration 11 3. OPP Search Functions 12 4. OPP Availability Control Functions 13 5. OPP Data Retrieval Functions 19 1.1 What is an Operating Performance Point (OPP)? 20 ------------------------------------------------- 22 Complex SoCs of today consists of a multiple sub-modules working in conjunction. 25 facilitate this, sub-modules in a SoC are grouped into domains, allowing some [all …]
|
/linux/include/linux/mfd/ |
H A D | dbx500-prcmu.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 14 #include <dt-bindings/mfd/dbx500-prcmu.h> /* For clock identifiers */ 40 * - EPOD_ID_SVAMMDSP: power domain for SVA MMDSP 41 * - EPOD_ID_SVAPIPE: power domain for SVA pipe 42 * - EPOD_ID_SIAMMDSP: power domain for SIA MMDSP 43 * - EPOD_ID_SIAPIPE: power domain for SIA pipe 44 * - EPOD_ID_SGA: power domain for SGA 45 * - EPOD_ID_B2R2_MCDE: power domain for B2R2 and MCDE 46 * - EPOD_ID_ESRAM12: power domain for ESRAM 1 and 2 47 * - EPOD_ID_ESRAM34: power domain for ESRAM 3 and 4 [all …]
|
/linux/Documentation/devicetree/bindings/cpufreq/ |
H A D | cpufreq-st.txt | 5 from the SoC, then supplies the OPP framework with 'prop' and 'supported 10 ---------------------- 12 No vendor specific driver required for this. 16 - operating-points : [See: ../power/opp-v1.yaml] 19 -------------- 24 operating-points = <1500000 0 32 -------------------------------------------- 38 - operating-points-v2 : [See ../power/opp-v2.yaml] 41 ---------------- 45 operating-points-v2 = <&cpu0_opp_table>; [all …]
|
H A D | cpufreq-mediatek.txt | 5 - clocks: A list of phandle + clock-specifier pairs for the clocks listed in clock names. 6 - clock-names: Should contain the following: 7 "cpu" - The multiplexer for clock input of CPU cluster. 8 "intermediate" - A parent of "cpu" clock which is used as "intermediate" clock 11 Please refer to Documentation/devicetree/bindings/clock/clock-bindings.txt for 13 - operating-points-v2: Please refer to Documentation/devicetree/bindings/opp/opp-v2.yaml 15 - proc-supply: Regulator for Vproc of CPU cluster. 18 - sram-supply: Regulator for Vsram of CPU cluster. When present, the cpufreq driver 20 Vsram to fit SoC specific needs. When absent, the voltage scaling 23 - mediatek,cci: [all …]
|
/linux/Documentation/arch/arm/omap/ |
H A D | omap_pm.rst | 13 - support the range of power management parameters present in the TI SRF; 15 - separate the drivers from the underlying PM parameter 19 - specify PM parameters in terms of fundamental units, such as 20 latency and throughput, rather than units which are specific to OMAP 23 - allow drivers which are shared with other architectures (e.g., 24 DaVinci) to add these constraints in a way which won't affect non-OMAP 27 - can be implemented immediately with minimal disruption of other 36 (*pdata->set_max_mpu_wakeup_lat)(struct device *dev, unsigned long t) 40 (*pdata->set_max_dev_wakeup_lat)(struct device *dev, unsigned long t) 44 (*pdata->set_max_sdma_lat)(struct device *dev, long t) [all …]
|
/linux/include/linux/platform_data/ |
H A D | voltage-omap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 * struct omap_volt_data - Omap voltage specific data. 16 * the n-target value for the smartreflex module. 18 * differs at differnet opp and thus is linked 21 * field also differs according to the voltage/opp.
|
/linux/drivers/devfreq/ |
H A D | devfreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * for Non-CPU Devices. 49 /* The list of all device-devfreq governors */ 51 /* The list of all device-devfreq */ 61 * find_device_devfreq() - find devfreq struct using device pointer 75 return ERR_PTR(-EINVAL); in find_device_devfreq() 79 if (tmp_devfreq->dev.parent == dev) in find_device_devfreq() 83 return ERR_PTR(-ENODEV); in find_device_devfreq() 88 struct dev_pm_opp *opp; in find_available_min_freq() local 91 opp = dev_pm_opp_find_freq_ceil_indexed(devfreq->dev.parent, &min_freq, 0); in find_available_min_freq() [all …]
|
/linux/Documentation/scheduler/ |
H A D | sched-energy.rst | 6 --------------- 25 please refer to its documentation (see Documentation/power/energy-model.rst). 29 ----------------------------- 32 - energy = [joule] (resource like a battery on powered devices) 33 - power = energy/time = [joule/second] = [watt] 39 -------------------- 45 ----------- 49 optimization objective to the current performance-only objective for the 50 scheduler. This alternative considers two objectives: energy-efficiency and 54 implications of its decisions rather than blindly applying energy-saving [all …]
|
/linux/Documentation/devicetree/bindings/power/ |
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# 10 - Rafael J. Wysocki <rjw@rjwysocki.net> 11 - Kevin Hilman <khilman@kernel.org> 12 - Ulf Hansson <ulf.hansson@linaro.org> 25 \#power-domain-cells property in the PM domain provider node. 29 pattern: "^(power-controller|power-domain|performance-domain)([@-].*)?$" 31 domain-idle-states: [all …]
|
/linux/include/linux/ |
H A D | devfreq.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * for Non-CPU Devices. 45 * struct devfreq_dev_status - Data given from devfreq user device to 54 * A device and a specific governor may have their 56 * this is governor-specific, a governor using this 76 * struct devfreq_dev_profile - Devfreq's user device profile 82 * freq or lowest-upper-than-freq value. If freq is 98 * has registered devfreq->nb at a notifier-head, 104 * @is_cooling_device: A self-explanatory boolean giving the device a 125 * struct devfreq_stats - Statistics of devfreq device behavior [all …]
|