| /kernel/linux/linux-5.10/drivers/opp/ |
| D | cpu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic OPP helper interface for CPU device 5 * Copyright (C) 2009-2014 Texas Instruments Incorporated. 20 #include "opp.h" 25 * dev_pm_opp_init_cpufreq_table() - create a cpufreq table for a device 27 * @table: Cpufreq table returned back to caller 29 * Generate a cpufreq table for a provided device- this assumes that the 30 * opp table is already initialized and ready for usage. 32 * This function allocates required memory for the cpufreq table. It is 34 * the table as required. [all …]
|
| D | of.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic OPP OF helpers 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 22 #include "opp.h" 25 * Returns opp descriptor node for a device node, caller must 31 /* "operating-points-v2" can be an array for power domain providers */ in _opp_of_get_opp_desc_node() 32 return of_parse_phandle(np, "operating-points-v2", index); in _opp_of_get_opp_desc_node() 35 /* Returns opp descriptor node for a device, caller must do of_node_put() */ 38 return _opp_of_get_opp_desc_node(dev->of_node, 0); in dev_pm_opp_of_get_opp_desc_node() 47 np = _opp_of_get_opp_desc_node(dev->of_node, index); in _managed_opp() [all …]
|
| D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic OPP Interface 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 22 #include "opp.h" 25 * The root of the list of all opp-tables. All opp_table structures branch off 30 /* Lock to allow exclusive modification to the device and opp lists */ 38 list_for_each_entry(opp_dev, &opp_table->dev_list, node) in _find_opp_dev() 39 if (opp_dev->dev == dev) in _find_opp_dev() 51 mutex_lock(&opp_table->lock); in _find_opp_table_unlocked() 53 mutex_unlock(&opp_table->lock); in _find_opp_table_unlocked() [all …]
|
| D | opp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Generic OPP Interface 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 26 /* Lock to allow exclusive modification to the device and opp lists */ 32 * Internal data structure organization with the OPP layer library is as 35 * |- device 1 (represents voltage domain 1) 36 * | |- opp 1 (availability, freq, voltage) 37 * | |- opp 2 .. 39 * | `- opp n .. 40 * |- device 2 (represents the next voltage domain) [all …]
|
| 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 25 * struct ti_opp_supply_optimum_voltage_table - optimized voltage table 35 * struct ti_opp_supply_data - OMAP specific opp supply data 36 * @vdd_table: Optimized voltage mapping table 49 * struct ti_opp_supply_of_data - device tree match data 50 * @flags: specific type of opp supply [all …]
|
| /kernel/linux/linux-4.19/drivers/opp/ |
| D | cpu.c | 2 * Generic OPP helper interface for CPU device 4 * Copyright (C) 2009-2014 Texas Instruments Incorporated. 23 #include "opp.h" 28 * dev_pm_opp_init_cpufreq_table() - create a cpufreq table for a device 30 * @table: Cpufreq table returned back to caller 32 * Generate a cpufreq table for a provided device- this assumes that the 33 * opp table is already initialized and ready for usage. 35 * This function allocates required memory for the cpufreq table. It is 37 * the table as required. 39 * Returns -EINVAL for bad pointers, -ENODEV if the device is not found, -ENOMEM [all …]
|
| D | of.c | 2 * Generic OPP OF helpers 4 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 24 #include "opp.h" 33 if (opp_table->np == np) { in _managed_opp() 35 * Multiple devices can point to the same OPP table and in _managed_opp() 36 * so will have same node-pointer, np. in _managed_opp() 39 * OPP table contains a "opp-shared" property. in _managed_opp() 41 if (opp_table->shared_opp == OPP_TABLE_ACCESS_SHARED) { in _managed_opp() 63 np = of_node_get(dev->of_node); in _of_init_opp_table() 67 if (!of_property_read_u32(np, "clock-latency", &val)) in _of_init_opp_table() [all …]
|
| D | core.c | 2 * Generic OPP Interface 4 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 25 #include "opp.h" 28 * The root of the list of all opp-tables. All opp_table structures branch off 33 /* Lock to allow exclusive modification to the device and opp lists */ 41 list_for_each_entry(opp_dev, &opp_table->dev_list, node) in _find_opp_dev() 42 if (opp_dev->dev == dev) in _find_opp_dev() 60 return ERR_PTR(-ENODEV); in _find_opp_table_unlocked() 64 * _find_opp_table() - find opp_table struct using device pointer 65 * @dev: device pointer used to lookup OPP table [all …]
|
| D | opp.h | 2 * Generic OPP Interface 4 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 28 /* Lock to allow exclusive modification to the device and opp lists */ 34 * Internal data structure organization with the OPP layer library is as 37 * |- device 1 (represents voltage domain 1) 38 * | |- opp 1 (availability, freq, voltage) 39 * | |- opp 2 .. 41 * | `- opp n .. 42 * |- device 2 (represents the next voltage domain) 44 * `- device m (represents mth voltage domain) [all …]
|
| D | ti-opp-supply.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2016-2017 Texas Instruments Incorporated - http://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 25 * struct ti_opp_supply_optimum_voltage_table - optimized voltage table 35 * struct ti_opp_supply_data - OMAP specific opp supply data 36 * @vdd_table: Optimized voltage mapping table 49 * struct ti_opp_supply_of_data - device tree match data 50 * @flags: specific type of opp supply [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/ |
| D | qcom,rpmpd.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rajendra Nayak <rnayak@codeaurora.org> 19 - qcom,msm8976-rpmpd 20 - qcom,msm8996-rpmpd 21 - qcom,msm8998-rpmpd 22 - qcom,qcs404-rpmpd 23 - qcom,sc7180-rpmhpd 24 - qcom,sdm845-rpmhpd [all …]
|
| D | power_domain.txt | 12 #power-domain-cells property in the PM domain provider node. 16 See power-domain.yaml. 21 - power-domains : A list of PM domain specifiers, as defined by bindings of 25 - power-domain-names : A list of power domain name strings sorted in the same 26 order as the power-domains property. Consumers drivers will use 27 power-domain-names to match power domains with power-domains 32 leaky-device@12350000 { 33 compatible = "foo,i-leak-current"; 35 power-domains = <&power 0>; 36 power-domain-names = "io"; [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/cpufreq/ |
| D | ti-cpufreq.txt | 1 TI CPUFreq and OPP bindings 6 The ti-cpufreq driver can use revision and an efuse value from the SoC to 7 provide the OPP framework with supported hardware information. This is 8 used to determine which OPPs from the operating-points-v2 table get enabled 9 when it is parsed by the OPP framework. 12 -------------------- 14 - operating-points-v2: Phandle to the operating-points-v2 table to use. 16 In 'operating-points-v2' table: 17 - compatible: Should be 18 - 'operating-points-v2-ti-cpu' for am335x, am43xx, and dra7xx/am57xx, [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/cpufreq/ |
| D | ti-cpufreq.txt | 1 TI CPUFreq and OPP bindings 6 The ti-cpufreq driver can use revision and an efuse value from the SoC to 7 provide the OPP framework with supported hardware information. This is 8 used to determine which OPPs from the operating-points-v2 table get enabled 9 when it is parsed by the OPP framework. 12 -------------------- 14 - operating-points-v2: Phandle to the operating-points-v2 table to use. 16 In 'operating-points-v2' table: 17 - compatible: Should be 18 - 'operating-points-v2-ti-cpu' for am335x, am43xx, and dra7xx/am57xx SoCs [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/opp/ |
| D | opp.txt | 1 Generic OPP (Operating Performance Points) Bindings 2 ---------------------------------------------------- 4 Devices work at voltage-current-frequency combinations and some implementations 10 This document contain multiple versions of OPP binding and only one of them 13 Binding 1: operating-points 16 This binding only supports voltage-frequency pairs. 19 - operating-points: An array of 2-tuples items, and each item consists 20 of frequency and voltage like <freq-kHz vol-uV>. 27 compatible = "arm,cortex-a9"; 29 next-level-cache = <&L2>; [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/opp/ |
| D | opp.txt | 1 Generic OPP (Operating Performance Points) Bindings 2 ---------------------------------------------------- 4 Devices work at voltage-current-frequency combinations and some implementations 10 This document contain multiple versions of OPP binding and only one of them 13 Binding 1: operating-points 16 This binding only supports voltage-frequency pairs. 19 - operating-points: An array of 2-tuples items, and each item consists 20 of frequency and voltage like <freq-kHz vol-uV>. 27 compatible = "arm,cortex-a9"; 29 next-level-cache = <&L2>; [all …]
|
| D | qcom-nvmem-cpufreq.txt | 1 Qualcomm Technologies, Inc. NVMEM CPUFreq and OPP bindings 5 the CPU frequencies subset and voltage value of each OPP varies based on 8 defines the voltage and frequency value based on the msm-id in SMEM 10 The qcom-cpufreq-nvmem driver reads the msm-id and efuse value from the SoC 11 to provide the OPP framework with required information (existing HW bitmap). 12 This is used to determine the voltage and frequency value for each OPP of 13 operating-points-v2 table when it is parsed by the OPP framework. 16 -------------------- 18 - operating-points-v2: Phandle to the operating-points-v2 table to use. 20 In 'operating-points-v2' table: [all …]
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/amlogic/ |
| D | meson-g12b-s922x.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12b.dtsi" 10 cpu_opp_table_0: opp-table-0 { 11 compatible = "operating-points-v2"; 12 opp-shared; 14 opp-100000000 { 15 opp-hz = /bits/ 64 <100000000>; 16 opp-microvolt = <731000>; 19 opp-250000000 { 20 opp-hz = /bits/ 64 <250000000>; [all …]
|
| D | meson-g12b-a311d.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12b.dtsi" 10 cpu_opp_table_0: opp-table-0 { 11 compatible = "operating-points-v2"; 12 opp-shared; 14 opp-100000000 { 15 opp-hz = /bits/ 64 <100000000>; 16 opp-microvolt = <731000>; 19 opp-250000000 { 20 opp-hz = /bits/ 64 <250000000>; [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | omap34xx.dtsi | 4 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ 11 #include <dt-bindings/bus/ti-sysc.h> 12 #include <dt-bindings/media/omap3-isp.h> 19 /* OMAP343x/OMAP35xx variants OPP1-6 */ 20 operating-points-v2 = <&cpu0_opp_table>; 22 clock-latency = <300000>; /* From legacy driver */ 23 #cooling-cells = <2>; 27 /* see Documentation/devicetree/bindings/opp/opp.txt */ 28 cpu0_opp_table: opp-table { 29 compatible = "operating-points-v2-ti-cpu"; [all …]
|
| /kernel/linux/linux-5.10/drivers/devfreq/ |
| D | governor_passive.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 = (struct devfreq_passive_data *)devfreq->data; in devfreq_passive_get_target_freq() 20 struct devfreq *parent_devfreq = (struct devfreq *)p_data->parent; in devfreq_passive_get_target_freq() 22 struct dev_pm_opp *opp; in devfreq_passive_get_target_freq() local 30 if (p_data->get_target_freq) { in devfreq_passive_get_target_freq() 31 ret = p_data->get_target_freq(devfreq, freq); in devfreq_passive_get_target_freq() 36 * If the parent and passive devfreq device uses the OPP table, in devfreq_passive_get_target_freq() 37 * get the next frequency by using the OPP table. in devfreq_passive_get_target_freq() 41 * - parent devfreq device uses the governors except for passive. in devfreq_passive_get_target_freq() 42 * - passive devfreq device uses the passive governor. in devfreq_passive_get_target_freq() [all …]
|
| /kernel/linux/linux-4.19/drivers/devfreq/ |
| D | governor_passive.c | 22 = (struct devfreq_passive_data *)devfreq->data; in devfreq_passive_get_target_freq() 23 struct devfreq *parent_devfreq = (struct devfreq *)p_data->parent; in devfreq_passive_get_target_freq() 25 struct dev_pm_opp *opp; in devfreq_passive_get_target_freq() local 33 if (p_data->get_target_freq) { in devfreq_passive_get_target_freq() 34 ret = p_data->get_target_freq(devfreq, freq); in devfreq_passive_get_target_freq() 39 * If the parent and passive devfreq device uses the OPP table, in devfreq_passive_get_target_freq() 40 * get the next frequency by using the OPP table. in devfreq_passive_get_target_freq() 44 * - parent devfreq device uses the governors except for passive. in devfreq_passive_get_target_freq() 45 * - passive devfreq device uses the passive governor. in devfreq_passive_get_target_freq() 47 * Each devfreq has the OPP table. After deciding the new frequency in devfreq_passive_get_target_freq() [all …]
|
| /kernel/linux/linux-5.10/drivers/cpufreq/ |
| D | qcom-cpufreq-hw.c | 1 // SPDX-License-Identifier: GPL-2.0 46 struct dev_pm_opp *opp; in qcom_cpufreq_set_bw() local 50 dev = get_cpu_device(policy->cpu); in qcom_cpufreq_set_bw() 52 return -ENODEV; in qcom_cpufreq_set_bw() 54 opp = dev_pm_opp_find_freq_exact(dev, freq_hz, true); in qcom_cpufreq_set_bw() 55 if (IS_ERR(opp)) in qcom_cpufreq_set_bw() 56 return PTR_ERR(opp); in qcom_cpufreq_set_bw() 58 ret = dev_pm_opp_set_bw(dev, opp); in qcom_cpufreq_set_bw() 59 dev_pm_opp_put(opp); in qcom_cpufreq_set_bw() 70 /* Skip voltage update if the opp table is not available */ in qcom_cpufreq_update_opp() [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/power/ |
| D | power_domain.txt | 12 #power-domain-cells property in the PM domain provider node. 17 - #power-domain-cells : Number of cells in a PM domain specifier; 23 - power-domains : A phandle and PM domain specifier as defined by bindings of 32 - domain-idle-states : A phandle of an idle-state that shall be soaked into a 34 compatible with domain-idle-state specified in [1]. phandles 35 that are not compatible with domain-idle-state will be 37 The domain-idle-state property reflects the idle state of this PM domain and 38 not the idle states of the devices or sub-domains in the PM domain. Devices 39 and sub-domains have their own idle-states independent of the parent 41 considered as capable of being powered-on or powered-off. [all …]
|
| /kernel/linux/linux-4.19/drivers/thermal/ |
| D | devfreq_cooling.c | 5 * Copyright (C) 2014-2015 ARM Limited 17 * - If OPPs are added or removed after devfreq cooling has 36 * struct devfreq_cooling_device - Devfreq cooling device 42 * @power_table: Pointer to table with maximum power draw for each 43 * cooling state. State is the index into the table, and 45 * @freq_table: Pointer to a table with the frequencies sorted in descending 46 * order. You can index the table by cooling device state 71 * partition_enable_opps() - disable all opps above a given state 82 struct device *dev = dfc->devfreq->dev.parent; in partition_enable_opps() 84 for (i = 0; i < dfc->freq_table_size; i++) { in partition_enable_opps() [all …]
|