/linux/drivers/regulator/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 bool "Voltage and Current Regulator Support" 6 Generic Voltage and Current Regulator support. 8 This framework is designed to provide a generic interface to voltage 9 and current regulators within the Linux kernel. It's intended to 10 provide voltage and current control to client or consumer drivers and 16 to both voltage regulators (where voltage output is controllable) and 21 regulators. 34 tristate "Fixed voltage regulator support" 36 This driver provides support for fixed voltage regulators, [all …]
|
H A 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 24 * Regulators that use regmap for their register I/O can set the 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() [all …]
|
H A D | tps65219-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // tps65219-regulator.c 7 // Copyright (C) 2022 BayLibre Incorporated - https://www.baylibre.com/ 10 // "J Keerthy <j-keerthy@ti.com>" 58 { "BUCK1_RV", "BUCK1", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN }, 59 { "BUCK2_RV", "BUCK2", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN }, 60 { "BUCK3_RV", "BUCK3", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN }, 61 { "LDO1_RV", "LDO1", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN }, 62 { "LDO2_RV", "LDO2", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN }, 63 { "LDO3_RV", "LDO3", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN }, [all …]
|
H A D | hi6421-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Device driver for regulators in Hi6421 IC 5 // Copyright (c) <2011-2014> HiSilicon Technologies Co., Ltd. 7 // Copyright (c) <2013-2014> Linaro Ltd. 22 #include <linux/mfd/hi6421-pmic.h> 25 * struct hi6421_regulator_pdata - Hi6421 regulator data of platform device 33 * struct hi6421_regulator_info - hi6421 regulator information 44 /* HI6421 regulators */ 77 /* LDO 0, 4~7, 9~14, 16~20 have same voltage table. */ 83 /* LDO 8, 15 have same voltage table. */ [all …]
|
H A D | bd96801-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // bd96801-regulator.c ROHM BD96801 regulator driver 11 * Supporting the ERRB interrupt would require dropping the regmap-IRQ 16 * regulator safety limits (like limits for the over/under -voltages, over 29 * the safety limit configurations - but leaves the state change handling 43 #include <linux/mfd/rohm-generic.h> 44 #include <linux/mfd/rohm-bd96801.h> 150 * This is a voltage range that get's appended to selected 153 * and the range from 0x10 to 0x1f is bd96801_buck_init_volts - 150mV ... 154 * bd96801_buck_init_volts - 0. But as the members of linear_range [all …]
|
H A D | tps65023-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tps65023-regulator.c 7 * Copyright (C) 2009 Texas Instrument Incorporated - https://www.ti.com/ 64 /* Number of step-down converters available */ 66 /* Number of LDO voltage regulators available */ 68 /* Number of total regulators available */ 85 .regulators_node = of_match_ptr("regulators"), \ 93 .vsel_mask = ARRAY_SIZE(_t) - 1, \ 104 .regulators_node = of_match_ptr("regulators"), \ 117 /* Supported voltage values for regulators */ [all …]
|
H A D | max8998.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // max8998.c - Voltage regulator driver for the Maxim 8998 5 // Copyright (C) 2009-2010 Samsung Electronics 23 #include <linux/mfd/max8998-private.h> 31 unsigned int buck1_idx; /* index to last changed voltage */ 51 *shift = 3 - (ldo - MAX8998_LDO2); in max8998_get_enable_register() 55 *shift = 7 - (ldo - MAX8998_LDO6); in max8998_get_enable_register() 59 *shift = 7 - (ldo - MAX8998_LDO14); in max8998_get_enable_register() 63 *shift = 7 - (ldo - MAX8998_BUCK1); in max8998_get_enable_register() 67 *shift = 7 - (ldo - MAX8998_EN32KHZ_AP); in max8998_get_enable_register() [all …]
|
/linux/Documentation/power/regulator/ |
H A D | overview.rst | 2 Linux voltage and current regulator framework 9 voltage and current regulators. 12 in order to save power and prolong battery life. This applies to both voltage 13 regulators (where voltage output is controllable) and current sinks (where 26 - Regulator 27 - Electronic device that supplies power to other devices. 28 Most regulators can enable and disable their output while 29 some can control their output voltage and or current. 31 Input Voltage -> Regulator -> Output Voltage 34 - PMIC [all …]
|
H A D | consumer.rst | 72 3. Regulator Voltage Control & Status (dynamic drivers) 76 voltage to match system operating points. e.g. CPUfreq drivers can scale 77 voltage along with frequency to save power, SD drivers may need to select the 78 correct card voltage, etc. 80 Consumers can control their supply voltage by calling:: 88 when enabled, then the voltage changes instantly, otherwise the voltage 89 configuration changes and the voltage is physically set when the regulator is 92 The regulators configured voltage output can be found by calling:: 97 get_voltage() will return the configured output voltage whether the 100 determine the regulator physical output voltage. [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-regulator | 8 regulators which can report that input value. 20 supplying power to the system (unless some non-Linux 34 regulators which can report that output value. 38 - off 39 - on 40 - error 41 - fast 42 - normal 43 - idle 44 - standby [all …]
|
/linux/Documentation/devicetree/bindings/regulator/ |
H A D | nvidia,tegra-regulators-coupling.txt | 1 NVIDIA Tegra Regulators Coupling 4 NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators. 5 Thus on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30 8 Tegra20 voltage coupling 9 ------------------------ 11 On Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU. 13 and they both shall be higher than the CPU voltage by at least 120mV. 15 Tegra30 voltage coupling 16 ------------------------ 18 On Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE [all …]
|
H A D | ltc3589.txt | 1 Linear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators 4 - compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2" 5 - reg: I2C slave address 8 - regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out, 12 Each regulator is defined using the standard binding for regulators. The 13 nodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify 14 the resistor values of their external feedback voltage dividers: 17 - lltc,fb-voltage-divider: An array of two integers containing the resistor 18 values R1 and R2 of the feedback voltage divider in ohms. 20 Regulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from [all …]
|
H A D | regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Voltage/Current Regulators 10 - Liam Girdwood <lgirdwood@gmail.com> 11 - Mark Brown <broonie@kernel.org> 14 regulator-name: 18 regulator-min-microvolt: 19 description: smallest voltage consumers may set 21 regulator-max-microvolt: [all …]
|
H A D | rohm,bd71847-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/rohm,bd71847-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ROHM BD71847 and BD71850 Power Management Integrated Circuit regulators 10 - Matti Vaittinen <mazziesaccount@gmail.com> 13 List of regulators provided by this controller. BD71847 regulators node 15 Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml 18 binding for regulators at 21 regulator-boot-on at least for BUCK5. LDO6 is supplied by it and it must [all …]
|
H A D | nxp,pca9450-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators 10 - Robin Gong <yibin.gong@nxp.com> 15 binding for regulators at 18 https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf 28 - nxp,pca9450a 29 - nxp,pca9450b [all …]
|
H A D | rohm,bd71837-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/rohm,bd71837-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ROHM BD71837 Power Management Integrated Circuit regulators 10 - Matti Vaittinen <mazziesaccount@gmail.com> 13 List of regulators provided by this controller. BD71837 regulators node 15 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml 18 binding for regulators at 21 regulator-boot-on at least for BUCK6 and BUCK7 so that those are not [all …]
|
H A D | maxim,max8997.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 13 The Maxim MAX8997 is a Power Management IC which includes voltage and current 14 regulators, charger controller with fuel gauge, RTC, clock outputs, haptic 15 motor driver, flash LED driver and Micro-USB Interface Controller. 22 const: maxim,max8997-pmic 24 charger-supply: 30 - description: irq1 interrupt [all …]
|
/linux/Documentation/driver-api/ |
H A D | regulator.rst | 1 .. Copyright 2007-2008 Wolfson Microelectronics 8 Voltage and current regulator API 18 control voltage and current regulators. 22 both voltage regulators (where voltage output is controllable) and 30 -------- 36 Electronic device that supplies power to other devices. Most regulators 38 output voltage or current. 54 An IC which contains numerous regulators and often also other 62 drivers use `get <#API-regulator-get>`__ and 63 `put <#API-regulator-put>`__ operations to acquire and release [all …]
|
/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# 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: 30 their DVFS state together, i.e. they share clock/voltage/current lines. 31 Missing property means devices have independent clock/voltage/current [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# 11 registers, which contain OPP-specific voltage information tailored 16 Also, some supplies may have an associated vbb-supply, an Adaptive 18 w.r.t the vdd-supply and clk when making an OPP transition. By 19 supplying two regulators to the device that will undergo OPP 20 transitions, we can use the multi-regulator support implemented by 21 the OPP core to describe both regulators the platform needs. The [all …]
|
/linux/Documentation/devicetree/bindings/power/ |
H A D | rockchip-io-domain.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/rockchip-io-domain.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Rockchip SRAM for IO Voltage Domains 10 - Heiko Stuebner <heiko@sntech.de> 14 kept in sync between the regulators and the SoC using a special 23 General Register File (GRF) in sync with the actual value of a voltage 27 any logic for deciding what voltage we should set regulators to 28 any logic for deciding whether regulators (or internal SoC blocks) [all …]
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | maxim,max8998.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 13 The Maxim MAX8998 is a Power Management IC which includes voltage/current 14 regulators, real time clock, battery charging controller and several other 15 sub-blocks. It is interfaced using an I2C interface. Each sub-block is 21 - maxim,max8998 22 - national,lp3974 23 - ti,lp3974 [all …]
|
H A D | rohm,bd96801-pmic.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/mfd/rohm,bd96801-pmic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 13 BD96801 is an automotive grade single-chip power management IC. 15 over-/under voltage and over current detection and a watchdog. 36 interrupt-names: 39 - enum: [intb, errb] 40 - const: errb [all …]
|
/linux/include/linux/mfd/ |
H A D | max8998.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * max8998.h - Voltage regulator driver for the Maxim 8998 5 * Copyright (C) 2009-2010 Samsung Electrnoics 46 * max8998_regulator_data - regulator data 49 * @reg_node: DT node of regulator (unused on non-DT platforms) 58 * struct max8998_board - packages regulator init data 59 * @regulators: array of defined regulators 60 * @num_regulators: number of regulators used 64 * registers set by buck?_voltage?. The voltage of BUCK1/2 cannot 66 * @buck1_voltage: BUCK1 DVS mode 1 voltage registers [all …]
|
/linux/drivers/mmc/core/ |
H A D | regulator.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Helper functions for MMC regulators. 19 * mmc_ocrbitnum_to_vdd - Convert a OCR bit number to its voltage 21 * @min_uV: minimum voltage value (mV) 22 * @max_uV: maximum voltage value (mV) 24 * This function returns the voltage range according to the provided OCR 32 return -EINVAL; in mmc_ocrbitnum_to_vdd() 37 * be too picky, most cards and regulators are OK with in mmc_ocrbitnum_to_vdd() 40 tmp = vdd_bit - ilog2(MMC_VDD_165_195); in mmc_ocrbitnum_to_vdd() 53 * mmc_regulator_get_ocrmask - return mask of supported voltages [all …]
|