1*4882a593Smuzhiyunconfig DM_REGULATOR 2*4882a593Smuzhiyun bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)" 3*4882a593Smuzhiyun depends on DM 4*4882a593Smuzhiyun ---help--- 5*4882a593Smuzhiyun This config enables the driver model regulator support. 6*4882a593Smuzhiyun UCLASS_REGULATOR - designed to provide a common API for basic regulator's 7*4882a593Smuzhiyun functions, like get/set Voltage or Current value, enable state, etc... 8*4882a593Smuzhiyun Note: 9*4882a593Smuzhiyun When enabling this, please read the description, found in the files: 10*4882a593Smuzhiyun - 'include/power/pmic.h' 11*4882a593Smuzhiyun - 'include/power/regulator.h' 12*4882a593Smuzhiyun - 'drivers/power/pmic/pmic-uclass.c' 13*4882a593Smuzhiyun - 'drivers/power/pmic/regulator-uclass.c' 14*4882a593Smuzhiyun It's important to call the device_bind() with the proper node offset, 15*4882a593Smuzhiyun when binding the regulator devices. The pmic_bind_childs() can be used 16*4882a593Smuzhiyun for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev() 17*4882a593Smuzhiyun otherwise. Detailed information can be found in the header file. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunconfig SPL_DM_REGULATOR 20*4882a593Smuzhiyun bool "Enable regulators for SPL" 21*4882a593Smuzhiyun depends on DM_REGULATOR 22*4882a593Smuzhiyun ---help--- 23*4882a593Smuzhiyun Regulators are seldom needed in SPL. Even if they are accessed, some 24*4882a593Smuzhiyun code space can be saved by accessing the PMIC registers directly. 25*4882a593Smuzhiyun Enable this option if you need regulators in SPL and can cope with 26*4882a593Smuzhiyun the extra code size. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunconfig REGULATOR_ACT8846 29*4882a593Smuzhiyun bool "Enable driver for ACT8846 regulator" 30*4882a593Smuzhiyun depends on DM_REGULATOR && PMIC_ACT8846 31*4882a593Smuzhiyun ---help--- 32*4882a593Smuzhiyun Enable support for the regulator functions of the ACT8846 PMIC. The 33*4882a593Smuzhiyun driver implements get/set api for the various BUCKS and LDOS supported 34*4882a593Smuzhiyun by the PMIC device. This driver is controlled by a device tree node 35*4882a593Smuzhiyun which includes voltage limits. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig REGULATOR_AS3722 38*4882a593Smuzhiyun bool "Enable driver for AS7322 regulator" 39*4882a593Smuzhiyun depends on DM_REGULATOR && PMIC_AS3722 40*4882a593Smuzhiyun help 41*4882a593Smuzhiyun Enable support for the regulator functions of the AS3722. The 42*4882a593Smuzhiyun driver implements enable/disable for step-down bucks and LDOs, 43*4882a593Smuzhiyun but does not yet support change voltages. Currently this must be 44*4882a593Smuzhiyun done using direct register writes to the PMIC. 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunconfig DM_REGULATOR_PFUZE100 47*4882a593Smuzhiyun bool "Enable Driver Model for REGULATOR PFUZE100" 48*4882a593Smuzhiyun depends on DM_REGULATOR && DM_PMIC_PFUZE100 49*4882a593Smuzhiyun ---help--- 50*4882a593Smuzhiyun This config enables implementation of driver-model regulator uclass 51*4882a593Smuzhiyun features for REGULATOR PFUZE100. The driver implements get/set api for: 52*4882a593Smuzhiyun value, enable and mode. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig REGULATOR_FAN53555 55*4882a593Smuzhiyun bool "Enable driver for fan53555 regulators" 56*4882a593Smuzhiyun depends on DM_REGULATOR 57*4882a593Smuzhiyun ---help--- 58*4882a593Smuzhiyun Enable support for the regulator functions of the fan53555 DCDC. The 59*4882a593Smuzhiyun driver implements get/set api for the various BUCK.This driver is 60*4882a593Smuzhiyun controlled by a device tree node which includes voltage limits. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyunconfig REGULATOR_PWM 63*4882a593Smuzhiyun bool "Enable driver for PWM regulators" 64*4882a593Smuzhiyun depends on DM_REGULATOR 65*4882a593Smuzhiyun ---help--- 66*4882a593Smuzhiyun Enable support for the PWM regulator functions which voltage are 67*4882a593Smuzhiyun controlled by PWM duty ratio. Some of Rockchip board using this kind 68*4882a593Smuzhiyun of regulator. The driver implements get/set api for the various BUCKS. 69*4882a593Smuzhiyun This driver is controlled by a device tree node 70*4882a593Smuzhiyun which includes voltage limits. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig DM_REGULATOR_MAX77686 73*4882a593Smuzhiyun bool "Enable Driver Model for REGULATOR MAX77686" 74*4882a593Smuzhiyun depends on DM_REGULATOR && DM_PMIC_MAX77686 75*4882a593Smuzhiyun ---help--- 76*4882a593Smuzhiyun This config enables implementation of driver-model regulator uclass 77*4882a593Smuzhiyun features for REGULATOR MAX77686. The driver implements get/set api for: 78*4882a593Smuzhiyun value, enable and mode. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunconfig DM_REGULATOR_FIXED 81*4882a593Smuzhiyun bool "Enable Driver Model for REGULATOR Fixed value" 82*4882a593Smuzhiyun depends on DM_REGULATOR 83*4882a593Smuzhiyun ---help--- 84*4882a593Smuzhiyun This config enables implementation of driver-model regulator uclass 85*4882a593Smuzhiyun features for fixed value regulators. The driver implements get/set api 86*4882a593Smuzhiyun for enable and get only for voltage value. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunconfig SPL_DM_REGULATOR_FIXED 89*4882a593Smuzhiyun bool "Enable Driver Model for REGULATOR Fixed value in SPL" 90*4882a593Smuzhiyun depends on DM_REGULATOR_FIXED 91*4882a593Smuzhiyun ---help--- 92*4882a593Smuzhiyun This config enables implementation of driver-model regulator uclass 93*4882a593Smuzhiyun features for fixed value regulators in SPL. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunconfig DM_REGULATOR_GPIO 96*4882a593Smuzhiyun bool "Enable Driver Model for GPIO REGULATOR" 97*4882a593Smuzhiyun depends on DM_REGULATOR 98*4882a593Smuzhiyun ---help--- 99*4882a593Smuzhiyun This config enables implementation of driver-model regulator uclass 100*4882a593Smuzhiyun features for gpio regulators. The driver implements get/set for 101*4882a593Smuzhiyun voltage value. 102*4882a593Smuzhiyun 103*4882a593Smuzhiyunconfig REGULATOR_RK860X 104*4882a593Smuzhiyun bool "Enable driver for rk860x regulators" 105*4882a593Smuzhiyun depends on DM_REGULATOR 106*4882a593Smuzhiyun ---help--- 107*4882a593Smuzhiyun Enable support for the regulator functions of the rk860x DCDC. The 108*4882a593Smuzhiyun driver implements get/set api for the various BUCK.This driver is 109*4882a593Smuzhiyun controlled by a device tree node which includes voltage limits. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig REGULATOR_RK8XX 112*4882a593Smuzhiyun bool "Enable driver for RK8XX regulators" 113*4882a593Smuzhiyun depends on DM_REGULATOR && PMIC_RK8XX 114*4882a593Smuzhiyun ---help--- 115*4882a593Smuzhiyun Enable support for the regulator functions of the RK8XX PMIC. The 116*4882a593Smuzhiyun driver implements get/set api for the various BUCKS and LDOs supported 117*4882a593Smuzhiyun by the PMIC device. This driver is controlled by a device tree node 118*4882a593Smuzhiyun which includes voltage limits. 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig REGULATOR_RK806 121*4882a593Smuzhiyun bool "Enable driver for RK8XX regulators" 122*4882a593Smuzhiyun depends on DM_REGULATOR && PMIC_SPI_RK8XX 123*4882a593Smuzhiyun ---help--- 124*4882a593Smuzhiyun Enable support for the regulator functions of the RK806 PMIC. The 125*4882a593Smuzhiyun driver implements get/set api for the various BUCKS and LDOs supported 126*4882a593Smuzhiyun by the PMIC device. This driver is controlled by a device tree node 127*4882a593Smuzhiyun which includes voltage limits 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig REGULATOR_S5M8767 130*4882a593Smuzhiyun bool "Enable support for S5M8767 regulator" 131*4882a593Smuzhiyun depends on DM_REGULATOR && PMIC_S5M8767 132*4882a593Smuzhiyun ---help--- 133*4882a593Smuzhiyun This enables the regulator features of the S5M8767, allowing voltages 134*4882a593Smuzhiyun to be set, etc. The driver is not fully complete but supports most 135*4882a593Smuzhiyun common requirements, including all LDOs and BUCKs. This allows many 136*4882a593Smuzhiyun supplies to be set automatically using the device tree values. 137*4882a593Smuzhiyun 138*4882a593Smuzhiyunconfig DM_REGULATOR_SANDBOX 139*4882a593Smuzhiyun bool "Enable Driver Model for Sandbox PMIC regulator" 140*4882a593Smuzhiyun depends on DM_REGULATOR && DM_PMIC_SANDBOX 141*4882a593Smuzhiyun ---help--- 142*4882a593Smuzhiyun Enable the regulator driver for emulated Sandbox PMIC. 143*4882a593Smuzhiyun The emulated PMIC device depends on two drivers: 144*4882a593Smuzhiyun - sandbox PMIC I/O driver - implements dm pmic operations 145*4882a593Smuzhiyun - sandbox PMIC regulator driver - implements dm regulator operations 146*4882a593Smuzhiyun - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun The regulator driver provides uclass operations for sandbox PMIC's 149*4882a593Smuzhiyun regulators. The driver implements get/set api for: voltage, current, 150*4882a593Smuzhiyun operation mode and enable state. 151*4882a593Smuzhiyun The driver supports LDO and BUCK regulators. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun The Sandbox PMIC info: 154*4882a593Smuzhiyun * I/O interface: 155*4882a593Smuzhiyun - I2C chip address: 0x40 156*4882a593Smuzhiyun - first register address: 0x0 157*4882a593Smuzhiyun - register count: 0x10 158*4882a593Smuzhiyun * Adjustable outputs: 159*4882a593Smuzhiyun - 2x LDO 160*4882a593Smuzhiyun - 2x BUCK 161*4882a593Smuzhiyun - Each, with a different operating conditions (header). 162*4882a593Smuzhiyun * Reset values: 163*4882a593Smuzhiyun - set by i2c emul driver's probe() (defaults in header) 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun A detailed information can be found in header: '<power/sandbox_pmic.h>' 166*4882a593Smuzhiyun Binding info: 'doc/device-tree-bindings/pmic/max77686.txt' 167*4882a593Smuzhiyun 168*4882a593Smuzhiyunconfig REGULATOR_TPS65090 169*4882a593Smuzhiyun bool "Enable driver for TPS65090 PMIC regulators" 170*4882a593Smuzhiyun depends on PMIC_TPS65090 171*4882a593Smuzhiyun ---help--- 172*4882a593Smuzhiyun The TPS65090 provides several FETs (Field-effect Transistors, 173*4882a593Smuzhiyun effectively switches) which are supported by this driver as 174*4882a593Smuzhiyun regulators, one for each FET. The standard regulator interface is 175*4882a593Smuzhiyun supported, but it is only possible to turn the regulators on or off. 176*4882a593Smuzhiyun There is no voltage/current control. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunconfig DM_REGULATOR_PALMAS 179*4882a593Smuzhiyun bool "Enable driver for PALMAS PMIC regulators" 180*4882a593Smuzhiyun depends on PMIC_PALMAS 181*4882a593Smuzhiyun ---help--- 182*4882a593Smuzhiyun This enables implementation of driver-model regulator uclass 183*4882a593Smuzhiyun features for REGULATOR PALMAS and the family of PALMAS PMICs. 184*4882a593Smuzhiyun The driver implements get/set api for: value and enable. 185*4882a593Smuzhiyun 186*4882a593Smuzhiyunconfig DM_REGULATOR_LP873X 187*4882a593Smuzhiyun bool "Enable driver for LP873X PMIC regulators" 188*4882a593Smuzhiyun depends on PMIC_LP873X 189*4882a593Smuzhiyun ---help--- 190*4882a593Smuzhiyun This enables implementation of driver-model regulator uclass 191*4882a593Smuzhiyun features for REGULATOR LP873X and the family of LP873X PMICs. 192*4882a593Smuzhiyun The driver implements get/set api for: value and enable. 193*4882a593Smuzhiyun 194*4882a593Smuzhiyunconfig DM_REGULATOR_LP87565 195*4882a593Smuzhiyun bool "Enable driver for LP87565 PMIC regulators" 196*4882a593Smuzhiyun depends on PMIC_LP87565 197*4882a593Smuzhiyun ---help--- 198*4882a593Smuzhiyun This enables implementation of driver-model regulator uclass 199*4882a593Smuzhiyun features for REGULATOR LP87565 and the family of LP87565 PMICs. 200*4882a593Smuzhiyun LP87565 series of PMICs have 4 single phase BUCKs that can also 201*4882a593Smuzhiyun be configured in multi phase modes. The driver implements 202*4882a593Smuzhiyun get/set api for value and enable. 203