1af41e8dbSPrzemyslaw Marczakconfig DM_REGULATOR 2af41e8dbSPrzemyslaw Marczak bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)" 3af41e8dbSPrzemyslaw Marczak depends on DM 4af41e8dbSPrzemyslaw Marczak ---help--- 5af41e8dbSPrzemyslaw Marczak This config enables the driver model regulator support. 6af41e8dbSPrzemyslaw Marczak UCLASS_REGULATOR - designed to provide a common API for basic regulator's 7af41e8dbSPrzemyslaw Marczak functions, like get/set Voltage or Current value, enable state, etc... 8af41e8dbSPrzemyslaw Marczak Note: 9af41e8dbSPrzemyslaw Marczak When enabling this, please read the description, found in the files: 10af41e8dbSPrzemyslaw Marczak - 'include/power/pmic.h' 11af41e8dbSPrzemyslaw Marczak - 'include/power/regulator.h' 12af41e8dbSPrzemyslaw Marczak - 'drivers/power/pmic/pmic-uclass.c' 13af41e8dbSPrzemyslaw Marczak - 'drivers/power/pmic/regulator-uclass.c' 14af41e8dbSPrzemyslaw Marczak It's important to call the device_bind() with the proper node offset, 15af41e8dbSPrzemyslaw Marczak when binding the regulator devices. The pmic_bind_childs() can be used 162e3f1ff6SSimon Glass for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev() 173b880757SPrzemyslaw Marczak otherwise. Detailed information can be found in the header file. 181757df46SPrzemyslaw Marczak 191f2b4b06SSimon Glassconfig SPL_DM_REGULATOR 201f2b4b06SSimon Glass bool "Enable regulators for SPL" 211f2b4b06SSimon Glass depends on DM_REGULATOR 221f2b4b06SSimon Glass ---help--- 231f2b4b06SSimon Glass Regulators are seldom needed in SPL. Even if they are accessed, some 241f2b4b06SSimon Glass code space can be saved by accessing the PMIC registers directly. 251f2b4b06SSimon Glass Enable this option if you need regulators in SPL and can cope with 261f2b4b06SSimon Glass the extra code size. 271f2b4b06SSimon Glass 289119820bSSimon Glassconfig REGULATOR_ACT8846 299119820bSSimon Glass bool "Enable driver for ACT8846 regulator" 309119820bSSimon Glass depends on DM_REGULATOR && PMIC_ACT8846 319119820bSSimon Glass ---help--- 329119820bSSimon Glass Enable support for the regulator functions of the ACT8846 PMIC. The 339119820bSSimon Glass driver implements get/set api for the various BUCKS and LDOS supported 349119820bSSimon Glass by the PMIC device. This driver is controlled by a device tree node 359119820bSSimon Glass which includes voltage limits. 369119820bSSimon Glass 37deea211aSSimon Glassconfig REGULATOR_AS3722 38deea211aSSimon Glass bool "Enable driver for AS7322 regulator" 39deea211aSSimon Glass depends on DM_REGULATOR && PMIC_AS3722 40deea211aSSimon Glass help 41deea211aSSimon Glass Enable support for the regulator functions of the AS3722. The 42deea211aSSimon Glass driver implements enable/disable for step-down bucks and LDOs, 43deea211aSSimon Glass but does not yet support change voltages. Currently this must be 44deea211aSSimon Glass done using direct register writes to the PMIC. 45deea211aSSimon Glass 468fa46350SPeng Fanconfig DM_REGULATOR_PFUZE100 478fa46350SPeng Fan bool "Enable Driver Model for REGULATOR PFUZE100" 488fa46350SPeng Fan depends on DM_REGULATOR && DM_PMIC_PFUZE100 498fa46350SPeng Fan ---help--- 508fa46350SPeng Fan This config enables implementation of driver-model regulator uclass 518fa46350SPeng Fan features for REGULATOR PFUZE100. The driver implements get/set api for: 528fa46350SPeng Fan value, enable and mode. 538fa46350SPeng Fan 541a016956SKever Yangconfig REGULATOR_PWM 551a016956SKever Yang bool "Enable driver for PWM regulators" 561a016956SKever Yang depends on DM_REGULATOR 571a016956SKever Yang ---help--- 581a016956SKever Yang Enable support for the PWM regulator functions which voltage are 591a016956SKever Yang controlled by PWM duty ratio. Some of Rockchip board using this kind 601a016956SKever Yang of regulator. The driver implements get/set api for the various BUCKS. 611a016956SKever Yang This driver is controlled by a device tree node 621a016956SKever Yang which includes voltage limits. 631a016956SKever Yang 641757df46SPrzemyslaw Marczakconfig DM_REGULATOR_MAX77686 651757df46SPrzemyslaw Marczak bool "Enable Driver Model for REGULATOR MAX77686" 661757df46SPrzemyslaw Marczak depends on DM_REGULATOR && DM_PMIC_MAX77686 671757df46SPrzemyslaw Marczak ---help--- 681757df46SPrzemyslaw Marczak This config enables implementation of driver-model regulator uclass 691757df46SPrzemyslaw Marczak features for REGULATOR MAX77686. The driver implements get/set api for: 701757df46SPrzemyslaw Marczak value, enable and mode. 719923a8b4SPrzemyslaw Marczak 72*dfb0a70aSPhilipp Tomsichconfig DM_REGULATOR_FAN53555 73*dfb0a70aSPhilipp Tomsich bool "Enable Driver Model for REGULATOR FAN53555" 74*dfb0a70aSPhilipp Tomsich depends on DM_PMIC_FAN53555 75*dfb0a70aSPhilipp Tomsich help 76*dfb0a70aSPhilipp Tomsich This config enables implementation of driver-model regulator 77*dfb0a70aSPhilipp Tomsich uclass features for the FAN53555 regulator. The FAN53555 is 78*dfb0a70aSPhilipp Tomsich a (family of) single-output regulators that supports 79*dfb0a70aSPhilipp Tomsich transitioning between two different output voltages based on 80*dfb0a70aSPhilipp Tomsich an voltage selection pin. 81*dfb0a70aSPhilipp Tomsich 82*dfb0a70aSPhilipp Tomsich The driver implements a get/set api for the voltage of the 83*dfb0a70aSPhilipp Tomsich 'normal mode' voltage only. Switching to 'suspend mode' 84*dfb0a70aSPhilipp Tomsich (i.e. the alternate voltage), disabling output via software, 85*dfb0a70aSPhilipp Tomsich or switching the mode is not supported by this driver (at 86*dfb0a70aSPhilipp Tomsich this time). 87*dfb0a70aSPhilipp Tomsich 889923a8b4SPrzemyslaw Marczakconfig DM_REGULATOR_FIXED 899923a8b4SPrzemyslaw Marczak bool "Enable Driver Model for REGULATOR Fixed value" 909923a8b4SPrzemyslaw Marczak depends on DM_REGULATOR 919923a8b4SPrzemyslaw Marczak ---help--- 929923a8b4SPrzemyslaw Marczak This config enables implementation of driver-model regulator uclass 939923a8b4SPrzemyslaw Marczak features for fixed value regulators. The driver implements get/set api 949923a8b4SPrzemyslaw Marczak for enable and get only for voltage value. 955d387d0dSPrzemyslaw Marczak 969086eab8SPhilipp Tomsichconfig SPL_DM_REGULATOR_FIXED 979086eab8SPhilipp Tomsich bool "Enable Driver Model for REGULATOR Fixed value in SPL" 989086eab8SPhilipp Tomsich depends on DM_REGULATOR_FIXED 999086eab8SPhilipp Tomsich ---help--- 1009086eab8SPhilipp Tomsich This config enables implementation of driver-model regulator uclass 1019086eab8SPhilipp Tomsich features for fixed value regulators in SPL. 1029086eab8SPhilipp Tomsich 103477dfe2fSKeerthyconfig DM_REGULATOR_GPIO 104477dfe2fSKeerthy bool "Enable Driver Model for GPIO REGULATOR" 10526da01f7SLokesh Vutla depends on DM_REGULATOR && DM_GPIO 106477dfe2fSKeerthy ---help--- 107477dfe2fSKeerthy This config enables implementation of driver-model regulator uclass 108477dfe2fSKeerthy features for gpio regulators. The driver implements get/set for 109477dfe2fSKeerthy voltage value. 110477dfe2fSKeerthy 11126da01f7SLokesh Vutlaconfig SPL_DM_REGULATOR_GPIO 11226da01f7SLokesh Vutla bool "Enable Driver Model for GPIO REGULATOR in SPL" 11326da01f7SLokesh Vutla depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT 11426da01f7SLokesh Vutla ---help--- 11526da01f7SLokesh Vutla This config enables implementation of driver-model regulator uclass 11626da01f7SLokesh Vutla features for gpio regulators in SPL. 11726da01f7SLokesh Vutla 118453c5a92SJacob Chenconfig REGULATOR_RK8XX 119453c5a92SJacob Chen bool "Enable driver for RK8XX regulators" 120453c5a92SJacob Chen depends on DM_REGULATOR && PMIC_RK8XX 121e1227764SSimon Glass ---help--- 122453c5a92SJacob Chen Enable support for the regulator functions of the RK8XX PMIC. The 123e1227764SSimon Glass driver implements get/set api for the various BUCKS and LDOs supported 124e1227764SSimon Glass by the PMIC device. This driver is controlled by a device tree node 125e1227764SSimon Glass which includes voltage limits. 126e1227764SSimon Glass 12760599ea6SJaehoon Chungconfig DM_REGULATOR_S2MPS11 12860599ea6SJaehoon Chung bool "Enable driver for S2MPS11 regulator" 12960599ea6SJaehoon Chung depends on DM_REGULATOR && PMIC_S2MPS11 13060599ea6SJaehoon Chung ---help--- 13160599ea6SJaehoon Chung This enables implementation of driver-model regulator uclass 13260599ea6SJaehoon Chung features for REGULATOR S2MPS11. 13360599ea6SJaehoon Chung The driver implements get/set api for: value and enable. 13460599ea6SJaehoon Chung 135f615e6a6SSimon Glassconfig REGULATOR_S5M8767 136f615e6a6SSimon Glass bool "Enable support for S5M8767 regulator" 137f615e6a6SSimon Glass depends on DM_REGULATOR && PMIC_S5M8767 138f615e6a6SSimon Glass ---help--- 139f615e6a6SSimon Glass This enables the regulator features of the S5M8767, allowing voltages 140f615e6a6SSimon Glass to be set, etc. The driver is not fully complete but supports most 141f615e6a6SSimon Glass common requirements, including all LDOs and BUCKs. This allows many 142f615e6a6SSimon Glass supplies to be set automatically using the device tree values. 143f615e6a6SSimon Glass 1445d387d0dSPrzemyslaw Marczakconfig DM_REGULATOR_SANDBOX 1455d387d0dSPrzemyslaw Marczak bool "Enable Driver Model for Sandbox PMIC regulator" 1465d387d0dSPrzemyslaw Marczak depends on DM_REGULATOR && DM_PMIC_SANDBOX 1475d387d0dSPrzemyslaw Marczak ---help--- 1485d387d0dSPrzemyslaw Marczak Enable the regulator driver for emulated Sandbox PMIC. 1495d387d0dSPrzemyslaw Marczak The emulated PMIC device depends on two drivers: 1505d387d0dSPrzemyslaw Marczak - sandbox PMIC I/O driver - implements dm pmic operations 1515d387d0dSPrzemyslaw Marczak - sandbox PMIC regulator driver - implements dm regulator operations 1525d387d0dSPrzemyslaw Marczak - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission 1535d387d0dSPrzemyslaw Marczak 1545d387d0dSPrzemyslaw Marczak The regulator driver provides uclass operations for sandbox PMIC's 1555d387d0dSPrzemyslaw Marczak regulators. The driver implements get/set api for: voltage, current, 1565d387d0dSPrzemyslaw Marczak operation mode and enable state. 1575d387d0dSPrzemyslaw Marczak The driver supports LDO and BUCK regulators. 1585d387d0dSPrzemyslaw Marczak 1595d387d0dSPrzemyslaw Marczak The Sandbox PMIC info: 1605d387d0dSPrzemyslaw Marczak * I/O interface: 1615d387d0dSPrzemyslaw Marczak - I2C chip address: 0x40 1625d387d0dSPrzemyslaw Marczak - first register address: 0x0 1635d387d0dSPrzemyslaw Marczak - register count: 0x10 1645d387d0dSPrzemyslaw Marczak * Adjustable outputs: 1655d387d0dSPrzemyslaw Marczak - 2x LDO 1665d387d0dSPrzemyslaw Marczak - 2x BUCK 1675d387d0dSPrzemyslaw Marczak - Each, with a different operating conditions (header). 1685d387d0dSPrzemyslaw Marczak * Reset values: 1695d387d0dSPrzemyslaw Marczak - set by i2c emul driver's probe() (defaults in header) 1705d387d0dSPrzemyslaw Marczak 1715d387d0dSPrzemyslaw Marczak A detailed information can be found in header: '<power/sandbox_pmic.h>' 1725d387d0dSPrzemyslaw Marczak Binding info: 'doc/device-tree-bindings/pmic/max77686.txt' 1731c88b67eSSimon Glass 1741c88b67eSSimon Glassconfig REGULATOR_TPS65090 1751c88b67eSSimon Glass bool "Enable driver for TPS65090 PMIC regulators" 1761c88b67eSSimon Glass depends on PMIC_TPS65090 1771c88b67eSSimon Glass ---help--- 1781c88b67eSSimon Glass The TPS65090 provides several FETs (Field-effect Transistors, 1791c88b67eSSimon Glass effectively switches) which are supported by this driver as 1801c88b67eSSimon Glass regulators, one for each FET. The standard regulator interface is 1811c88b67eSSimon Glass supported, but it is only possible to turn the regulators on or off. 1821c88b67eSSimon Glass There is no voltage/current control. 183884d88bcSKeerthy 184884d88bcSKeerthyconfig DM_REGULATOR_PALMAS 185884d88bcSKeerthy bool "Enable driver for PALMAS PMIC regulators" 186884d88bcSKeerthy depends on PMIC_PALMAS 187884d88bcSKeerthy ---help--- 188884d88bcSKeerthy This enables implementation of driver-model regulator uclass 189884d88bcSKeerthy features for REGULATOR PALMAS and the family of PALMAS PMICs. 190884d88bcSKeerthy The driver implements get/set api for: value and enable. 19199785de8SKeerthy 1928ff7763dSJean-Jacques Hiblotconfig DM_REGULATOR_PBIAS 1938ff7763dSJean-Jacques Hiblot bool "Enable driver for PBIAS regulator" 1948ff7763dSJean-Jacques Hiblot depends on DM_REGULATOR 1958ff7763dSJean-Jacques Hiblot select REGMAP 1968ff7763dSJean-Jacques Hiblot select SYSCON 1978ff7763dSJean-Jacques Hiblot ---help--- 1988ff7763dSJean-Jacques Hiblot This enables implementation of driver-model regulator uclass 1998ff7763dSJean-Jacques Hiblot features for pseudo-regulator PBIAS found in the OMAP SOCs. 2008ff7763dSJean-Jacques Hiblot This pseudo-regulator is used to provide a BIAS voltage to MMC1 2018ff7763dSJean-Jacques Hiblot signal pads and must be configured properly during a voltage switch. 2028ff7763dSJean-Jacques Hiblot Voltage switching is required by some operating modes of SDcards and 2038ff7763dSJean-Jacques Hiblot eMMC. 2048ff7763dSJean-Jacques Hiblot 20599785de8SKeerthyconfig DM_REGULATOR_LP873X 20699785de8SKeerthy bool "Enable driver for LP873X PMIC regulators" 20799785de8SKeerthy depends on PMIC_LP873X 20899785de8SKeerthy ---help--- 20999785de8SKeerthy This enables implementation of driver-model regulator uclass 21099785de8SKeerthy features for REGULATOR LP873X and the family of LP873X PMICs. 21199785de8SKeerthy The driver implements get/set api for: value and enable. 2122dd9dc02SKeerthy 2132dd9dc02SKeerthyconfig DM_REGULATOR_LP87565 2142dd9dc02SKeerthy bool "Enable driver for LP87565 PMIC regulators" 2152dd9dc02SKeerthy depends on PMIC_LP87565 2162dd9dc02SKeerthy ---help--- 2172dd9dc02SKeerthy This enables implementation of driver-model regulator uclass 2182dd9dc02SKeerthy features for REGULATOR LP87565 and the family of LP87565 PMICs. 2192dd9dc02SKeerthy LP87565 series of PMICs have 4 single phase BUCKs that can also 2202dd9dc02SKeerthy be configured in multi phase modes. The driver implements 2212dd9dc02SKeerthy get/set api for value and enable. 222854dfbf9SFelix Brack 22393cf0ae7SFabrice Gasnierconfig DM_REGULATOR_STM32_VREFBUF 22493cf0ae7SFabrice Gasnier bool "Enable driver for STMicroelectronics STM32 VREFBUF" 22593cf0ae7SFabrice Gasnier depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP) 22693cf0ae7SFabrice Gasnier help 22793cf0ae7SFabrice Gasnier This driver supports STMicroelectronics STM32 VREFBUF (voltage 22893cf0ae7SFabrice Gasnier reference buffer) which can be used as voltage reference for 22993cf0ae7SFabrice Gasnier internal ADCs, DACs and also for external components through 23093cf0ae7SFabrice Gasnier dedicated Vref+ pin. 23193cf0ae7SFabrice Gasnier 232854dfbf9SFelix Brackconfig DM_REGULATOR_TPS65910 233854dfbf9SFelix Brack bool "Enable driver for TPS65910 PMIC regulators" 234854dfbf9SFelix Brack depends on DM_PMIC_TPS65910 235854dfbf9SFelix Brack ---help--- 236854dfbf9SFelix Brack The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all 237854dfbf9SFelix Brack regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements 238854dfbf9SFelix Brack the get/set api for value and enable. 239069f0b63SChristophe Kerello 240069f0b63SChristophe Kerelloconfig DM_REGULATOR_STPMU1 241069f0b63SChristophe Kerello bool "Enable driver for STPMU1 regulators" 242069f0b63SChristophe Kerello depends on DM_REGULATOR && PMIC_STPMU1 243069f0b63SChristophe Kerello ---help--- 244069f0b63SChristophe Kerello Enable support for the regulator functions of the STPMU1 PMIC. The 245069f0b63SChristophe Kerello driver implements get/set api for the various BUCKS and LDOs supported 246069f0b63SChristophe Kerello by the PMIC device. This driver is controlled by a device tree node 247069f0b63SChristophe Kerello which includes voltage limits. 248