| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/regulator/ |
| D | pwm-regulator.txt | 6 Voltage Table: When in this mode, a voltage table (See below) of 7 predefined voltage <=> duty-cycle values must be 9 only operate at the voltages supplied in the table. 10 Intermediary duty-cycle values which would normally 11 allow finer grained voltage selection are ignored and 13 the user if the assumptions made in continuous-voltage 16 Continuous Voltage: This mode uses the regulator's maximum and minimum 18 regulator-{min,max}-microvolt properties to calculate 19 appropriate duty-cycle values. This allows for a much 21 voltage-table mode above. This solution does make an [all …]
|
| D | rohm,bd71828-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/rohm,bd71828-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 14 see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml. 16 The regulator controller is represented as a sub-node of the PMIC node 25 "^LDO[1-7]$": 32 regulator-name: 33 pattern: "^ldo[1-7]$" [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-omap2/ |
| D | voltage.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP3/OMAP4 Voltage Management Routines 29 #include "prm-regbits-34xx.h" 30 #include "prm-regbits-44xx.h" 36 #include "voltage.h" 46 * voltdm_get_voltage() - Gets the current non-auto-compensated voltage 47 * @voltdm: pointer to the voltdm for which current voltage info is needed 49 * API to get the current non-auto-compensated voltage for a voltage domain. 50 * Returns 0 in case of error else returns the current voltage. 59 return voltdm->nominal_volt; in voltdm_get_voltage() [all …]
|
| /kernel/linux/linux-6.6/arch/arm/mach-omap2/ |
| D | voltage.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP3/OMAP4 Voltage Management Routines 29 #include "prm-regbits-34xx.h" 30 #include "prm-regbits-44xx.h" 36 #include "voltage.h" 46 * voltdm_get_voltage() - Gets the current non-auto-compensated voltage 47 * @voltdm: pointer to the voltdm for which current voltage info is needed 49 * API to get the current non-auto-compensated voltage for a voltage domain. 50 * Returns 0 in case of error else returns the current voltage. 59 return voltdm->nominal_volt; in voltdm_get_voltage() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/regulator/ |
| D | pwm-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/regulator/pwm-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Brian Norris <briannorris@chromium.org> 11 - Lee Jones <lee@kernel.org> 12 - Alexandre Courbot <acourbot@nvidia.com> 17 Voltage Table: 18 When in this mode, a voltage table (See below) of predefined voltage <=> 19 duty-cycle values must be provided via DT. Limitations are that the [all …]
|
| D | rohm,bd71828-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/rohm,bd71828-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Matti Vaittinen <mazziesaccount@gmail.com> 14 see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml. 16 The regulator controller is represented as a sub-node of the PMIC node 25 "^LDO[1-7]$": 32 regulator-name: 33 pattern: "^ldo[1-7]$" [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/supply/ |
| D | battery.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sebastian Reichel <sre@kernel.org> 14 In smart batteries, these are typically stored in non-volatile memory 16 no appropriate non-volatile memory, or it is unprogrammed/incorrect. 27 Batteries must be referenced by chargers and/or fuel-gauges using a phandle. 28 The phandle's property should be named "monitored-battery". 32 const: simple-battery 34 over-voltage-threshold-microvolt: [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ |
| D | smu_helper.c | 38 return (uint8_t) ((6200 - (vddc * VOLTAGE_SCALE)) / 25); in convert_to_vid() 43 return (uint16_t) ((6200 - (vid * 25)) / VOLTAGE_SCALE); in convert_to_vddc() 53 uint32_t *table; in phm_copy_clock_limits_array() local 56 table = kzalloc(array_size, GFP_KERNEL); in phm_copy_clock_limits_array() 57 if (NULL == table) in phm_copy_clock_limits_array() 58 return -ENOMEM; in phm_copy_clock_limits_array() 61 table[i] = le32_to_cpu(pptable_array[i]); in phm_copy_clock_limits_array() 63 *pptable_info_array = table; in phm_copy_clock_limits_array() 75 uint32_t *table; in phm_copy_overdrive_settings_limits_array() local 78 table = kzalloc(array_size, GFP_KERNEL); in phm_copy_overdrive_settings_limits_array() [all …]
|
| D | ppatomctrl.c | 50 pp_atomctrl_mc_reg_table *table) in atomctrl_retrieve_ac_timing() argument 55 ((uint8_t *)reg_block + (2 * sizeof(uint16_t)) + le16_to_cpu(reg_block->usRegIndexTblSize)); in atomctrl_retrieve_ac_timing() 64 table->mc_reg_table_entry[num_ranges].mclk_max = in atomctrl_retrieve_ac_timing() 68 for (i = 0, j = 1; i < table->last; i++) { in atomctrl_retrieve_ac_timing() 69 if ((table->mc_reg_address[i].uc_pre_reg_data & in atomctrl_retrieve_ac_timing() 71 table->mc_reg_table_entry[num_ranges].mc_data[i] = in atomctrl_retrieve_ac_timing() 74 } else if ((table->mc_reg_address[i].uc_pre_reg_data & in atomctrl_retrieve_ac_timing() 77 table->mc_reg_table_entry[num_ranges].mc_data[i] = in atomctrl_retrieve_ac_timing() 78 table->mc_reg_table_entry[num_ranges].mc_data[i-1]; in atomctrl_retrieve_ac_timing() 85 ((uint8_t *)reg_data + le16_to_cpu(reg_block->usRegDataBlkSize)) ; in atomctrl_retrieve_ac_timing() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ |
| D | smu_helper.c | 38 return (uint8_t) ((6200 - (vddc * VOLTAGE_SCALE)) / 25); in convert_to_vid() 43 return (uint16_t) ((6200 - (vid * 25)) / VOLTAGE_SCALE); in convert_to_vddc() 53 uint32_t *table; in phm_copy_clock_limits_array() local 56 table = kzalloc(array_size, GFP_KERNEL); in phm_copy_clock_limits_array() 57 if (NULL == table) in phm_copy_clock_limits_array() 58 return -ENOMEM; in phm_copy_clock_limits_array() 61 table[i] = le32_to_cpu(pptable_array[i]); in phm_copy_clock_limits_array() 63 *pptable_info_array = table; in phm_copy_clock_limits_array() 75 uint32_t *table; in phm_copy_overdrive_settings_limits_array() local 78 table = kzalloc(array_size, GFP_KERNEL); in phm_copy_overdrive_settings_limits_array() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/power/supply/ |
| D | battery.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sebastian Reichel <sre@kernel.org> 14 In smart batteries, these are typically stored in non-volatile memory 16 no appropriate non-volatile memory, or it is unprogrammed/incorrect. 27 Batteries must be referenced by chargers and/or fuel-gauges using a phandle. 28 The phandle's property should be named "monitored-battery". 32 const: simple-battery 34 device-chemistry: [all …]
|
| /kernel/linux/linux-5.10/drivers/opp/ |
| 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> 25 * struct ti_opp_supply_optimum_voltage_table - optimized voltage table 26 * @reference_uv: reference voltage (usually Nominal voltage) 27 * @optimized_uv: Optimized voltage from efuse 35 * struct ti_opp_supply_data - OMAP specific opp supply data 36 * @vdd_table: Optimized voltage mapping table 38 * @vdd_absolute_max_voltage_uv: absolute maximum voltage in UV for the supply 49 * struct ti_opp_supply_of_data - device tree match data [all …]
|
| /kernel/linux/linux-6.6/drivers/opp/ |
| 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> 25 * struct ti_opp_supply_optimum_voltage_table - optimized voltage table 26 * @reference_uv: reference voltage (usually Nominal voltage) 27 * @optimized_uv: Optimized voltage from efuse 35 * struct ti_opp_supply_data - OMAP specific opp supply data 36 * @vdd_table: Optimized voltage mapping table 38 * @vdd_absolute_max_voltage_uv: absolute maximum voltage in UV for the supply 53 * struct ti_opp_supply_of_data - device tree match data [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/adc/ |
| D | qcom-vadc-common.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "qcom-vadc-common.h" 13 /* Voltage to temperature */ 15 {1758, -40}, 16 {1742, -35}, 17 {1719, -30}, 18 {1691, -25}, 19 {1654, -20}, 20 {1608, -15}, 21 {1551, -10}, [all …]
|
| /kernel/linux/linux-5.10/drivers/regulator/ |
| D | pwm-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2014 - STMicroelectronics Inc. 31 /* Voltage table */ 52 * Voltage table call-backs 61 pwm_get_state(drvdata->pwm, &pwm_state); in pwm_regulator_init_state() 64 for (i = 0; i < rdev->desc->n_voltages; i++) { in pwm_regulator_init_state() 65 if (dutycycle == drvdata->duty_cycle_table[i].dutycycle) { in pwm_regulator_init_state() 66 drvdata->state = i; in pwm_regulator_init_state() 76 if (drvdata->state < 0) in pwm_regulator_get_voltage_sel() 79 return drvdata->state; in pwm_regulator_get_voltage_sel() [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | power_supply.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 226 /* Run-time specific power supply configuration */ 354 int vbat_uv; /* Battery voltage in microvolt */ 359 * struct power_supply_maintenance_charge_table - setting for maintenace charging 363 * reach this voltage the maintenance charging current is turned off. It is 364 * turned back on if we fall below this voltage. 365 * @charge_voltage_max_uv: maintenance charging voltage that is usually a bit 367 * charge_current_max_ua until we get back up to this voltage. 371 * maintenance charge current and voltage pair in respective array and wait 392 * +-------------------------------------------------------------------> t [all …]
|
| /kernel/linux/linux-6.6/drivers/regulator/ |
| D | helpers.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 // helpers.c -- Voltage/Current Regulator framework helper functions. 20 * regulator_is_enabled_regmap - standard is_enabled() for regmap users 33 ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &val); in regulator_is_enabled_regmap() 37 val &= rdev->desc->enable_mask; in regulator_is_enabled_regmap() 39 if (rdev->desc->enable_is_inverted) { in regulator_is_enabled_regmap() 40 if (rdev->desc->enable_val) in regulator_is_enabled_regmap() 41 return val != rdev->desc->enable_val; in regulator_is_enabled_regmap() 44 if (rdev->desc->enable_val) in regulator_is_enabled_regmap() 45 return val == rdev->desc->enable_val; in regulator_is_enabled_regmap() [all …]
|
| D | pwm-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2014 - STMicroelectronics Inc. 31 /* Voltage table */ 52 * Voltage table call-backs 61 pwm_get_state(drvdata->pwm, &pwm_state); in pwm_regulator_init_state() 64 for (i = 0; i < rdev->desc->n_voltages; i++) { in pwm_regulator_init_state() 65 if (dutycycle == drvdata->duty_cycle_table[i].dutycycle) { in pwm_regulator_init_state() 66 drvdata->state = i; in pwm_regulator_init_state() 76 if (drvdata->state < 0) in pwm_regulator_get_voltage_sel() 79 return drvdata->state; in pwm_regulator_get_voltage_sel() [all …]
|
| /kernel/linux/linux-5.10/include/linux/regulator/ |
| D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * driver.h -- SoC Regulator driver support. 53 * struct regulator_ops - regulator operations. 60 * @set_voltage: Set the voltage for the regulator within the range specified. 61 * The driver should select the voltage closest to min_uV. 62 * @set_voltage_sel: Set the voltage for the regulator using the specified 64 * @map_voltage: Convert a voltage into a selector 65 * @get_voltage: Return the currently configured voltage for the regulator; 66 * return -ENOTRECOVERABLE if regulator can't be read at 68 * @get_voltage_sel: Return the currently configured voltage selector for the [all …]
|
| /kernel/linux/linux-5.10/drivers/thermal/ |
| D | devfreq_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Copyright (C) 2014-2015 ARM Limited 9 * - If OPPs are added or removed after devfreq cooling has 30 * struct devfreq_cooling_device - Devfreq cooling device 36 * @power_table: Pointer to table with maximum power draw for each 37 * cooling state. State is the index into the table, and 39 * @freq_table: Pointer to a table with the frequencies sorted in descending 40 * order. You can index the table by cooling device state 71 struct devfreq_cooling_device *dfc = cdev->devdata; in devfreq_cooling_get_max_state() 73 *state = dfc->freq_table_size - 1; in devfreq_cooling_get_max_state() [all …]
|
| /kernel/linux/linux-5.10/Documentation/userspace-api/media/cec/ |
| D | cec-ioc-dqevent.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 CEC_DQEVENT - Dequeue a CEC event 35 non-blocking mode and no event is pending, then it will return -1 and 38 The internal event queues are per-filehandle and per-event type. If 43 two :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` events with 51 .. flat-table:: struct cec_event_state_change 52 :header-rows: 0 53 :stub-columns: 0 56 * - __u16 57 - ``phys_addr`` [all …]
|
| /kernel/linux/linux-6.6/Documentation/userspace-api/media/cec/ |
| D | cec-ioc-dqevent.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 CEC_DQEVENT - Dequeue a CEC event 35 non-blocking mode and no event is pending, then it will return -1 and 38 The internal event queues are per-filehandle and per-event type. If 43 two :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` events with 51 .. flat-table:: struct cec_event_state_change 52 :header-rows: 0 53 :stub-columns: 0 56 * - __u16 57 - ``phys_addr`` [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/hikey9xx/ |
| D | hisilicon,hi6421-spmi-pmic.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mfd/hisilicon,hi6421-spmi-pmic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mauro Carvalho Chehab <mchehab+huawei@kernel.org> 16 The GPIO and interrupt settings are represented as part of the top-level PMIC 20 drivers/staging/hikey9xx/hisilicon,hisi-spmi-controller.yaml. 24 pattern: "pmic@[0-9a-f]" 27 const: hisilicon,hi6421v600-spmi 32 '#interrupt-cells': [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/tegra/ |
| D | cvb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Utility functions for parsing Tegra CVB voltage tables 5 * Copyright (C) 2012-2019 NVIDIA Corporation. All rights reserved. 20 mv = DIV_ROUND_CLOSEST(cvb->c2 * speedo, s_scale); in get_cvb_voltage() 21 mv = DIV_ROUND_CLOSEST((mv + cvb->c1) * speedo, s_scale) + cvb->c0; in get_cvb_voltage() 28 /* combined: apply voltage scale and round to cvb alignment step */ in round_cvb_voltage() 30 int step = (align->step_uv ? : 1000) * v_scale; in round_cvb_voltage() 31 int offset = align->offset_uv * v_scale; in round_cvb_voltage() 33 uv = max(mv * 1000, offset) - offset; in round_cvb_voltage() 34 uv = DIV_ROUND_UP(uv, step) * align->step_uv + align->offset_uv; in round_cvb_voltage() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/tegra/ |
| D | cvb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Utility functions for parsing Tegra CVB voltage tables 5 * Copyright (C) 2012-2019 NVIDIA Corporation. All rights reserved. 20 mv = DIV_ROUND_CLOSEST(cvb->c2 * speedo, s_scale); in get_cvb_voltage() 21 mv = DIV_ROUND_CLOSEST((mv + cvb->c1) * speedo, s_scale) + cvb->c0; in get_cvb_voltage() 28 /* combined: apply voltage scale and round to cvb alignment step */ in round_cvb_voltage() 30 int step = (align->step_uv ? : 1000) * v_scale; in round_cvb_voltage() 31 int offset = align->offset_uv * v_scale; in round_cvb_voltage() 33 uv = max(mv * 1000, offset) - offset; in round_cvb_voltage() 34 uv = DIV_ROUND_UP(uv, step) * align->step_uv + align->offset_uv; in round_cvb_voltage() [all …]
|