| /kernel/linux/linux-4.19/drivers/opp/ |
| D | of.c | 4 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 33 if (opp_table->np == np) { in _managed_opp() 36 * so will have same node-pointer, np. in _managed_opp() 38 * But the OPPs will be considered as shared only if the 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() 60 * Only required for backward compatibility with v1 bindings, but isn't in _of_init_opp_table() 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() 68 opp_table->clock_latency_ns_max = val; in _of_init_opp_table() [all …]
|
| D | core.c | 4 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 28 * The root of the list of all opp-tables. All opp_table structures branch off 29 * from here, with each opp_table containing the list of opps it supports in 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 69 * Return: pointer to 'struct opp_table' if found, otherwise -ENODEV or 70 * -EINVAL based on type of error. 80 return ERR_PTR(-EINVAL); in _find_opp_table() [all …]
|
| D | cpu.c | 4 * Copyright (C) 2009-2014 Texas Instruments Incorporated. 28 * dev_pm_opp_init_cpufreq_table() - create a cpufreq table for a device 32 * Generate a cpufreq table for a provided device- this assumes that the 35 * This function allocates required memory for the cpufreq table. It is 36 * expected that the caller does the required maintenance such as freeing 37 * the table as required. 39 * Returns -EINVAL for bad pointers, -ENODEV if the device is not found, -ENOMEM 56 return max_opps ? max_opps : -ENODATA; in dev_pm_opp_init_cpufreq_table() 60 return -ENOMEM; in dev_pm_opp_init_cpufreq_table() 93 * dev_pm_opp_free_cpufreq_table() - free the cpufreq table [all …]
|
| /kernel/linux/linux-5.10/drivers/opp/ |
| D | of.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 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() 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() 52 if (opp_table->np == np) { in _managed_opp() 55 * so will have same node-pointer, np. in _managed_opp() 57 * But the OPPs will be considered as shared only if the in _managed_opp() 58 * OPP table contains a "opp-shared" property. in _managed_opp() [all …]
|
| D | opp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 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) 42 * `- device m (represents mth voltage domain) 48 * struct dev_pm_opp - Generic OPP description structure 50 * of boot. It is expected only an optimal set of OPPs are [all …]
|
| D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 25 * The root of the list of all opp-tables. All opp_table structures branch off 26 * from here, with each opp_table containing the list of opps it supports in 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() 62 return ERR_PTR(-ENODEV); in _find_opp_table_unlocked() 66 * _find_opp_table() - find opp_table struct using device pointer [all …]
|
| D | cpu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2009-2014 Texas Instruments Incorporated. 25 * dev_pm_opp_init_cpufreq_table() - create a cpufreq table for a device 29 * Generate a cpufreq table for a provided device- this assumes that the 32 * This function allocates required memory for the cpufreq table. It is 33 * expected that the caller does the required maintenance such as freeing 34 * the table as required. 36 * Returns -EINVAL for bad pointers, -ENODEV if the device is not found, -ENOMEM 53 return max_opps ? max_opps : -ENODATA; in dev_pm_opp_init_cpufreq_table() 57 return -ENOMEM; in dev_pm_opp_init_cpufreq_table() [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. 20 Required properties: 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>; [all …]
|
| /kernel/linux/linux-5.10/Documentation/power/ |
| D | opp.rst | 5 (C) 2009-2010 Nishanth Menon <nm@ti.com>, Texas Instruments Incorporated 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 31 OPPs. 39 We can represent these as three OPPs as the following {Hz, uV} tuples: 41 - {300000000, 1000000} 42 - {800000000, 1200000} 43 - {1000000000, 1300000} 46 ---------------------------------------- [all …]
|
| /kernel/linux/linux-4.19/Documentation/power/ |
| D | opp.txt | 4 (C) 2009-2010 Nishanth Menon <nm@ti.com>, Texas Instruments Incorporated 7 -------- 19 Complex SoCs of today consists of a multiple sub-modules working in conjunction. 22 facilitate this, sub-modules in a SoC are grouped into domains, allowing some 28 OPPs. 35 We can represent these as three OPPs as the following {Hz, uV} tuples: 50 (users) -> registers a set of default OPPs -> (library) 51 SoC framework -> modifies on required cases certain OPPs -> OPP layer 52 -> queries to search/retrieve information -> 55 framework registers a set of initial OPPs per device with the OPP layer. This [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/opp/ |
| D | opp.txt | 2 ---------------------------------------------------- 4 Devices work at voltage-current-frequency combinations and some implementations 6 Performance Points aka OPPs. This document defines bindings for these OPPs 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>; 30 operating-points = < [all …]
|
| D | qcom-opp.txt | 3 The bindings are based on top of the operating-points-v2 bindings 9 Required properties: 10 - compatible: Allow OPPs to express their compatibility. It should be: 11 "operating-points-v2-qcom-level" 15 Required properties: 16 - qcom,opp-fuse-level: A positive value representing the fuse corner/level
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/opp/ |
| D | opp.txt | 2 ---------------------------------------------------- 4 Devices work at voltage-current-frequency combinations and some implementations 6 Performance Points aka OPPs. This document defines bindings for these OPPs 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>; 30 operating-points = < [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. 16 Required properties: 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 [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/cpufreq/ |
| D | ti-cpufreq.txt | 5 families support different OPPs depending on the silicon variant in use. 6 The ti-cpufreq driver can use revision and an efuse value from the SoC to 8 used to determine which OPPs from the operating-points-v2 table get enabled 11 Required properties: 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, 20 - syscon: A phandle pointing to a syscon node representing the control module [all …]
|
| D | cpufreq-dt.txt | 7 Both required and optional properties listed below must be defined 10 Required properties: 11 - None 14 - operating-points: Refer to Documentation/devicetree/bindings/opp/opp.txt for 15 details. OPPs *must* be supplied either via DT, i.e. this property, or 17 - clock-latency: Specify the possible maximum transition latency for clock, 19 - voltage-tolerance: Specify the CPU voltage tolerance in percentage. 20 - #cooling-cells: 22 Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml. 27 #address-cells = <1>; [all …]
|
| D | imx-cpufreq-dt.txt | 1 i.MX CPUFreq-DT OPP bindings 4 Certain i.MX SoCs support different OPPs depending on the "market segment" and 6 the opp-supported-hw values for each OPP to check if the OPP is allowed. 8 Required properties: 9 -------------------- 11 For each opp entry in 'operating-points-v2' table: 12 - opp-supported-hw: Two bitmaps indicating: 13 - Supported speed grade mask 14 - Supported market segment mask 21 -------- [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/cpufreq/ |
| D | ti-cpufreq.txt | 5 families support different OPPs depending on the silicon variant in use. 6 The ti-cpufreq driver can use revision and an efuse value from the SoC to 8 used to determine which OPPs from the operating-points-v2 table get enabled 11 Required properties: 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 19 - syscon: A phandle pointing to a syscon node representing the control module [all …]
|
| D | cpufreq-dt.txt | 7 Both required and optional properties listed below must be defined 10 Required properties: 11 - None 14 - operating-points: Refer to Documentation/devicetree/bindings/opp/opp.txt for 15 details. OPPs *must* be supplied either via DT, i.e. this property, or 17 - clock-latency: Specify the possible maximum transition latency for clock, 19 - voltage-tolerance: Specify the CPU voltage tolerance in percentage. 20 - #cooling-cells: 26 #address-cells = <1>; 27 #size-cells = <0>; [all …]
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/ |
| D | sdm845.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/clock/qcom,camcc-sdm845.h> 9 #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 10 #include <dt-bindings/clock/qcom,gcc-sdm845.h> 11 #include <dt-bindings/clock/qcom,gpucc-sdm845.h> 12 #include <dt-bindings/clock/qcom,lpass-sdm845.h> 13 #include <dt-bindings/clock/qcom,rpmh.h> 14 #include <dt-bindings/clock/qcom,videocc-sdm845.h> 15 #include <dt-bindings/interconnect/qcom,osm-l3.h> 16 #include <dt-bindings/interconnect/qcom,sdm845.h> [all …]
|
| D | sc7180.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 8 #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 9 #include <dt-bindings/clock/qcom,gcc-sc7180.h> 10 #include <dt-bindings/clock/qcom,gpucc-sc7180.h> 11 #include <dt-bindings/clock/qcom,lpasscorecc-sc7180.h> 12 #include <dt-bindings/clock/qcom,rpmh.h> 13 #include <dt-bindings/clock/qcom,videocc-sc7180.h> 14 #include <dt-bindings/interconnect/qcom,osm-l3.h> 15 #include <dt-bindings/interconnect/qcom,sc7180.h> 16 #include <dt-bindings/interrupt-controller/arm-gic.h> [all …]
|
| /kernel/linux/linux-4.19/drivers/cpufreq/ |
| D | cpufreq-dt.c | 28 #include "cpufreq-dt.h" 40 NULL, /* Extra space for boost-attr if required */ 46 struct private_data *priv = policy->driver_data; in set_target() 47 unsigned long freq = policy->freq_table[index].frequency; in set_target() 50 ret = dev_pm_opp_set_rate(priv->cpu_dev, freq * 1000); in set_target() 53 arch_set_freq_scale(policy->related_cpus, freq, in set_target() 54 policy->cpuinfo.max_freq); in set_target() 61 * An earlier version of opp-v1 bindings used to name the regulator 62 * "cpu0-supply", we still need to handle that for backwards compatibility. 68 int cpu = dev->id; in find_supply_name() [all …]
|
| /kernel/linux/linux-4.19/Documentation/arm/OMAP/ |
| D | omap_pm | 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 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 35 (*pdata->set_max_mpu_wakeup_lat)(struct device *dev, unsigned long t) 38 (*pdata->set_max_dev_wakeup_lat)(struct device *dev, unsigned long t) 41 (*pdata->set_max_sdma_lat)(struct device *dev, long t) 44 (*pdata->set_min_bus_tput)(struct device *dev, u8 agent_id, unsigned long r) [all …]
|
| /kernel/linux/linux-5.10/drivers/firmware/ |
| D | arm_scpi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * provides a mechanism for inter-processor communication between SCP's 155 /* List all commands that are required to go through the high priority link */ 207 -1, /* GET_CLOCK_INFO */ 216 -1, /* SET_DEVICE_PWR_STATE */ 217 -1, /* GET_DEVICE_PWR_STATE */ 259 * The SCP firmware only executes in little-endian mode, so any buffers 260 * shared through SCPI should have their contents converted to little-endian 307 } opps[MAX_DVFS_OPPS]; member 332 -EINVAL, /* SCPI_ERR_PARAM */ [all …]
|