mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-05 21:16:39 +07:00
3f0292ae8b
This patch adds support for regulators that can be controlled via gpios. Examples for such regulators are the TI-tps65024x voltage regulators with 4 fixed and 1 runtime-switchable voltage regulators or the TI-bq240XX charger regulators. The number of controlling gpios is not limited, the mapping between voltage/current and target gpio state is done via the states map and the driver can be used for either voltage or current regulators. A mapping for a regulator with two GPIOs could look like: gpios = { { .gpio = GPIO1, .flags = GPIOF_OUT_INIT_HIGH, .label = "gpio name 1" }, { .gpio = GPIO2, .flags = GPIOF_OUT_INIT_LOW, .label = "gpio name 2" }, } The flags element of the gpios array determines the initial state of the gpio, set during probe. The initial state of the regulator is also calculated from these values states = { { .value = volt_or_cur1, .gpios = (0 << 1) | (0 << 0) }, { .value = volt_or_cur2, .gpios = (0 << 1) | (1 << 0) }, { .value = volt_or_cur3, .gpios = (1 << 1) | (0 << 0) }, { .value = volt_or_cur4, .gpios = (1 << 1) | (1 << 0) }, } The target-state for the n-th gpio is determined by the n-th bit in the bitfield of the target-value. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
331 lines
10 KiB
Plaintext
331 lines
10 KiB
Plaintext
menuconfig REGULATOR
|
|
bool "Voltage and Current Regulator Support"
|
|
help
|
|
Generic Voltage and Current Regulator support.
|
|
|
|
This framework is designed to provide a generic interface to voltage
|
|
and current regulators within the Linux kernel. It's intended to
|
|
provide voltage and current control to client or consumer drivers and
|
|
also provide status information to user space applications through a
|
|
sysfs interface.
|
|
|
|
The intention is to allow systems to dynamically control regulator
|
|
output in order to save power and prolong battery life. This applies
|
|
to both voltage regulators (where voltage output is controllable) and
|
|
current sinks (where current output is controllable).
|
|
|
|
This framework safely compiles out if not selected so that client
|
|
drivers can still be used in systems with no software controllable
|
|
regulators.
|
|
|
|
If unsure, say no.
|
|
|
|
if REGULATOR
|
|
|
|
config REGULATOR_DEBUG
|
|
bool "Regulator debug support"
|
|
help
|
|
Say yes here to enable debugging support.
|
|
|
|
config REGULATOR_DUMMY
|
|
bool "Provide a dummy regulator if regulator lookups fail"
|
|
help
|
|
If this option is enabled then when a regulator lookup fails
|
|
and the board has not specified that it has provided full
|
|
constraints then the regulator core will provide an always
|
|
enabled dummy regulator will be provided, allowing consumer
|
|
drivers to continue.
|
|
|
|
A warning will be generated when this substitution is done.
|
|
|
|
config REGULATOR_FIXED_VOLTAGE
|
|
tristate "Fixed voltage regulator support"
|
|
help
|
|
This driver provides support for fixed voltage regulators,
|
|
useful for systems which use a combination of software
|
|
managed regulators and simple non-configurable regulators.
|
|
|
|
config REGULATOR_VIRTUAL_CONSUMER
|
|
tristate "Virtual regulator consumer support"
|
|
help
|
|
This driver provides a virtual consumer for the voltage and
|
|
current regulator API which provides sysfs controls for
|
|
configuring the supplies requested. This is mainly useful
|
|
for test purposes.
|
|
|
|
If unsure, say no.
|
|
|
|
config REGULATOR_USERSPACE_CONSUMER
|
|
tristate "Userspace regulator consumer support"
|
|
help
|
|
There are some classes of devices that are controlled entirely
|
|
from user space. Userspace consumer driver provides ability to
|
|
control power supplies for such devices.
|
|
|
|
If unsure, say no.
|
|
|
|
config REGULATOR_GPIO
|
|
tristate "GPIO regulator support"
|
|
help
|
|
This driver provides support for regulators that can be
|
|
controlled via gpios.
|
|
It is capable of supporting current and voltage regulators
|
|
and the platform has to provide a mapping of GPIO-states
|
|
to target volts/amps.
|
|
|
|
config REGULATOR_BQ24022
|
|
tristate "TI bq24022 Dual Input 1-Cell Li-Ion Charger IC"
|
|
help
|
|
This driver controls a TI bq24022 Charger attached via
|
|
GPIOs. The provided current regulator can enable/disable
|
|
charging select between 100 mA and 500 mA charging current
|
|
limit.
|
|
|
|
config REGULATOR_MAX1586
|
|
tristate "Maxim 1586/1587 voltage regulator"
|
|
depends on I2C
|
|
help
|
|
This driver controls a Maxim 1586 or 1587 voltage output
|
|
regulator via I2C bus. The provided regulator is suitable
|
|
for PXA27x chips to control VCC_CORE and VCC_USIM voltages.
|
|
|
|
config REGULATOR_MAX8649
|
|
tristate "Maxim 8649 voltage regulator"
|
|
depends on I2C
|
|
help
|
|
This driver controls a Maxim 8649 voltage output regulator via
|
|
I2C bus.
|
|
|
|
config REGULATOR_MAX8660
|
|
tristate "Maxim 8660/8661 voltage regulator"
|
|
depends on I2C
|
|
help
|
|
This driver controls a Maxim 8660/8661 voltage output
|
|
regulator via I2C bus.
|
|
|
|
config REGULATOR_MAX8925
|
|
tristate "Maxim MAX8925 Power Management IC"
|
|
depends on MFD_MAX8925
|
|
help
|
|
Say y here to support the voltage regulaltor of Maxim MAX8925 PMIC.
|
|
|
|
config REGULATOR_MAX8952
|
|
tristate "Maxim MAX8952 Power Management IC"
|
|
depends on I2C
|
|
help
|
|
This driver controls a Maxim 8952 voltage output regulator
|
|
via I2C bus. Maxim 8952 has one voltage output and supports 4 DVS
|
|
modes ranging from 0.77V to 1.40V by 0.01V steps.
|
|
|
|
config REGULATOR_MAX8997
|
|
tristate "Maxim 8997/8966 regulator"
|
|
depends on MFD_MAX8997
|
|
help
|
|
This driver controls a Maxim 8997/8966 regulator
|
|
via I2C bus. The provided regulator is suitable for S5PC110,
|
|
S5PV210, and Exynos-4 chips to control VCC_CORE and
|
|
VCC_USIM voltages.
|
|
|
|
config REGULATOR_MAX8998
|
|
tristate "Maxim 8998 voltage regulator"
|
|
depends on MFD_MAX8998
|
|
help
|
|
This driver controls a Maxim 8998 voltage output regulator
|
|
via I2C bus. The provided regulator is suitable for S3C6410
|
|
and S5PC1XX chips to control VCC_CORE and VCC_USIM voltages.
|
|
|
|
config REGULATOR_TWL4030
|
|
bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 PMIC"
|
|
depends on TWL4030_CORE
|
|
help
|
|
This driver supports the voltage regulators provided by
|
|
this family of companion chips.
|
|
|
|
config REGULATOR_WM831X
|
|
tristate "Wolfson Microelcronics WM831x PMIC regulators"
|
|
depends on MFD_WM831X
|
|
help
|
|
Support the voltage and current regulators of the WM831x series
|
|
of PMIC devices.
|
|
|
|
config REGULATOR_WM8350
|
|
tristate "Wolfson Microelectronics WM8350 AudioPlus PMIC"
|
|
depends on MFD_WM8350
|
|
help
|
|
This driver provides support for the voltage and current regulators
|
|
of the WM8350 AudioPlus PMIC.
|
|
|
|
config REGULATOR_WM8400
|
|
tristate "Wolfson Microelectronics WM8400 AudioPlus PMIC"
|
|
depends on MFD_WM8400
|
|
help
|
|
This driver provides support for the voltage regulators of the
|
|
WM8400 AudioPlus PMIC.
|
|
|
|
config REGULATOR_WM8994
|
|
tristate "Wolfson Microelectronics WM8994 CODEC"
|
|
depends on MFD_WM8994
|
|
help
|
|
This driver provides support for the voltage regulators on the
|
|
WM8994 CODEC.
|
|
|
|
config REGULATOR_DA903X
|
|
tristate "Support regulators on Dialog Semiconductor DA9030/DA9034 PMIC"
|
|
depends on PMIC_DA903X
|
|
help
|
|
Say y here to support the BUCKs and LDOs regulators found on
|
|
Dialog Semiconductor DA9030/DA9034 PMIC.
|
|
|
|
config REGULATOR_PCF50633
|
|
tristate "PCF50633 regulator driver"
|
|
depends on MFD_PCF50633
|
|
help
|
|
Say Y here to support the voltage regulators and convertors
|
|
on PCF50633
|
|
|
|
config REGULATOR_LP3971
|
|
tristate "National Semiconductors LP3971 PMIC regulator driver"
|
|
depends on I2C
|
|
help
|
|
Say Y here to support the voltage regulators and convertors
|
|
on National Semiconductors LP3971 PMIC
|
|
|
|
config REGULATOR_LP3972
|
|
tristate "National Semiconductors LP3972 PMIC regulator driver"
|
|
depends on I2C
|
|
help
|
|
Say Y here to support the voltage regulators and convertors
|
|
on National Semiconductors LP3972 PMIC
|
|
|
|
config REGULATOR_PCAP
|
|
tristate "PCAP2 regulator driver"
|
|
depends on EZX_PCAP
|
|
help
|
|
This driver provides support for the voltage regulators of the
|
|
PCAP2 PMIC.
|
|
|
|
config REGULATOR_MC13XXX_CORE
|
|
tristate
|
|
|
|
config REGULATOR_MC13783
|
|
tristate "Support regulators on Freescale MC13783 PMIC"
|
|
depends on MFD_MC13783
|
|
select REGULATOR_MC13XXX_CORE
|
|
help
|
|
Say y here to support the regulators found on the Freescale MC13783
|
|
PMIC.
|
|
|
|
config REGULATOR_MC13892
|
|
tristate "Support regulators on Freescale MC13892 PMIC"
|
|
depends on MFD_MC13XXX
|
|
select REGULATOR_MC13XXX_CORE
|
|
help
|
|
Say y here to support the regulators found on the Freescale MC13892
|
|
PMIC.
|
|
|
|
config REGULATOR_AB3100
|
|
tristate "ST-Ericsson AB3100 Regulator functions"
|
|
depends on AB3100_CORE
|
|
default y if AB3100_CORE
|
|
help
|
|
These regulators correspond to functionality in the
|
|
AB3100 analog baseband dealing with power regulators
|
|
for the system.
|
|
|
|
config REGULATOR_TPS6105X
|
|
tristate "TI TPS6105X Power regulators"
|
|
depends on TPS6105X
|
|
default y if TPS6105X
|
|
help
|
|
This driver supports TPS61050/TPS61052 voltage regulator chips.
|
|
It is a single boost converter primarily for white LEDs and
|
|
audio amplifiers.
|
|
|
|
config REGULATOR_TPS65023
|
|
tristate "TI TPS65023 Power regulators"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
This driver supports TPS65023 voltage regulator chips. TPS65023 provides
|
|
three step-down converters and two general-purpose LDO voltage regulators.
|
|
It supports TI's software based Class-2 SmartReflex implementation.
|
|
|
|
config REGULATOR_TPS6507X
|
|
tristate "TI TPS6507X Power regulators"
|
|
depends on I2C
|
|
help
|
|
This driver supports TPS6507X voltage regulator chips. TPS6507X provides
|
|
three step-down converters and two general-purpose LDO voltage regulators.
|
|
It supports TI's software based Class-2 SmartReflex implementation.
|
|
|
|
config REGULATOR_TPS65912
|
|
tristate "TI TPS65912 Power regulator"
|
|
depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
|
|
help
|
|
This driver supports TPS65912 voltage regulator chip.
|
|
|
|
config REGULATOR_88PM8607
|
|
bool "Marvell 88PM8607 Power regulators"
|
|
depends on MFD_88PM860X=y
|
|
help
|
|
This driver supports 88PM8607 voltage regulator chips.
|
|
|
|
config REGULATOR_ISL6271A
|
|
tristate "Intersil ISL6271A Power regulator"
|
|
depends on I2C
|
|
help
|
|
This driver supports ISL6271A voltage regulator chip.
|
|
|
|
config REGULATOR_AD5398
|
|
tristate "Analog Devices AD5398/AD5821 regulators"
|
|
depends on I2C
|
|
help
|
|
This driver supports AD5398 and AD5821 current regulator chips.
|
|
If building into module, its name is ad5398.ko.
|
|
|
|
config REGULATOR_AB8500
|
|
bool "ST-Ericsson AB8500 Power Regulators"
|
|
depends on AB8500_CORE
|
|
help
|
|
This driver supports the regulators found on the ST-Ericsson mixed
|
|
signal AB8500 PMIC
|
|
|
|
config REGULATOR_DB8500_PRCMU
|
|
bool "ST-Ericsson DB8500 Voltage Domain Regulators"
|
|
depends on MFD_DB8500_PRCMU
|
|
help
|
|
This driver supports the voltage domain regulators controlled by the
|
|
DB8500 PRCMU
|
|
|
|
config REGULATOR_TPS6586X
|
|
tristate "TI TPS6586X Power regulators"
|
|
depends on MFD_TPS6586X
|
|
help
|
|
This driver supports TPS6586X voltage regulator chips.
|
|
|
|
config REGULATOR_TPS6524X
|
|
tristate "TI TPS6524X Power regulators"
|
|
depends on SPI
|
|
help
|
|
This driver supports TPS6524X voltage regulator chips. TPS6524X
|
|
provides three step-down converters and two general-purpose LDO
|
|
voltage regulators. This device is interfaced using a customized
|
|
serial interface currently supported on the sequencer serial
|
|
port controller.
|
|
|
|
config REGULATOR_TPS65910
|
|
tristate "TI TPS65910 Power Regulator"
|
|
depends on MFD_TPS65910
|
|
help
|
|
This driver supports TPS65910 voltage regulator chips.
|
|
|
|
config REGULATOR_AAT2870
|
|
tristate "AnalogicTech AAT2870 Regulators"
|
|
depends on MFD_AAT2870_CORE
|
|
help
|
|
If you have a AnalogicTech AAT2870 say Y to enable the
|
|
regulator driver.
|
|
|
|
endif
|
|
|