Loading Documentation/devicetree/bindings/regulator/regulator-max77620.txt +22 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,28 @@ Following are additional properties: This is applicable if suspend state FPS source is selected as FPS0, FPS1 or FPS2. - maxim,ramp-rate-setting: integer, ramp rate(uV/us) setting to be configured to the device. The platform may have different ramp rate than advertised ramp rate if it has design variation from Maxim's recommended. On this case, platform specific ramp rate is used for ramp time calculation and this property is used for device register configurations. The measured ramp rate of platform is provided by the regulator-ramp-delay as described in <devicetree/bindings/ regulator/regulator.txt>. Maxim Max77620 supports following ramp delay: SD: 13.75mV/us, 27.5mV/us, 55mV/us LDOs: 5mV/us, 100mV/us Note: If the measured ramp delay is same as advertised ramp delay then it is not required to provide the ramp delay with property "maxim,ramp-rate-setting". The ramp rate can be provided by the regulator-ramp-delay which will be used for ramp time calculation for voltage change as well as for device configuration. Example: -------- Loading drivers/regulator/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -321,6 +321,15 @@ config REGULATOR_LP872X help This driver supports LP8720/LP8725 PMIC config REGULATOR_LP873X tristate "TI LP873X Power regulators" depends on MFD_LP873X && OF help This driver supports LP873X voltage regulator chips. LP873X provides two step-down converters and two general-purpose LDO voltage regulators. It supports software based voltage control for different voltage domains config REGULATOR_LP8755 tristate "TI LP8755 High Performance PMU driver" depends on I2C Loading drivers/regulator/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ obj-$(CONFIG_REGULATOR_LM363X) += lm363x-regulator.o obj-$(CONFIG_REGULATOR_LP3971) += lp3971.o obj-$(CONFIG_REGULATOR_LP3972) += lp3972.o obj-$(CONFIG_REGULATOR_LP872X) += lp872x.o obj-$(CONFIG_REGULATOR_LP873X) += lp873x-regulator.o obj-$(CONFIG_REGULATOR_LP8788) += lp8788-buck.o obj-$(CONFIG_REGULATOR_LP8788) += lp8788-ldo.o obj-$(CONFIG_REGULATOR_LP8755) += lp8755.o Loading drivers/regulator/fan53555.c +24 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,13 @@ enum { FAN53555_CHIP_ID_03, FAN53555_CHIP_ID_04, FAN53555_CHIP_ID_05, FAN53555_CHIP_ID_08 = 8, }; /* IC mask revision */ enum { FAN53555_CHIP_REV_00 = 0x3, FAN53555_CHIP_REV_13 = 0xf, }; enum { Loading Loading @@ -217,9 +224,26 @@ static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di) /* Init voltage range and step */ switch (di->chip_id) { case FAN53555_CHIP_ID_00: switch (di->chip_rev) { case FAN53555_CHIP_REV_00: di->vsel_min = 600000; di->vsel_step = 10000; break; case FAN53555_CHIP_REV_13: di->vsel_min = 800000; di->vsel_step = 10000; break; default: dev_err(di->dev, "Chip ID %d with rev %d not supported!\n", di->chip_id, di->chip_rev); return -EINVAL; } break; case FAN53555_CHIP_ID_01: case FAN53555_CHIP_ID_03: case FAN53555_CHIP_ID_05: case FAN53555_CHIP_ID_08: di->vsel_min = 600000; di->vsel_step = 10000; break; Loading drivers/regulator/lp3971.c +1 −1 Original line number Diff line number Diff line Loading @@ -365,8 +365,8 @@ static int lp3971_set_bits(struct lp3971 *lp3971, u8 reg, u16 mask, u16 val) mutex_lock(&lp3971->io_lock); ret = lp3971_i2c_read(lp3971->i2c, reg, 1, &tmp); tmp = (tmp & ~mask) | val; if (ret == 0) { tmp = (tmp & ~mask) | val; ret = lp3971_i2c_write(lp3971->i2c, reg, 1, &tmp); dev_dbg(lp3971->dev, "reg write 0x%02x -> 0x%02x\n", (int)reg, (unsigned)val&0xff); Loading Loading
Documentation/devicetree/bindings/regulator/regulator-max77620.txt +22 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,28 @@ Following are additional properties: This is applicable if suspend state FPS source is selected as FPS0, FPS1 or FPS2. - maxim,ramp-rate-setting: integer, ramp rate(uV/us) setting to be configured to the device. The platform may have different ramp rate than advertised ramp rate if it has design variation from Maxim's recommended. On this case, platform specific ramp rate is used for ramp time calculation and this property is used for device register configurations. The measured ramp rate of platform is provided by the regulator-ramp-delay as described in <devicetree/bindings/ regulator/regulator.txt>. Maxim Max77620 supports following ramp delay: SD: 13.75mV/us, 27.5mV/us, 55mV/us LDOs: 5mV/us, 100mV/us Note: If the measured ramp delay is same as advertised ramp delay then it is not required to provide the ramp delay with property "maxim,ramp-rate-setting". The ramp rate can be provided by the regulator-ramp-delay which will be used for ramp time calculation for voltage change as well as for device configuration. Example: -------- Loading
drivers/regulator/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -321,6 +321,15 @@ config REGULATOR_LP872X help This driver supports LP8720/LP8725 PMIC config REGULATOR_LP873X tristate "TI LP873X Power regulators" depends on MFD_LP873X && OF help This driver supports LP873X voltage regulator chips. LP873X provides two step-down converters and two general-purpose LDO voltage regulators. It supports software based voltage control for different voltage domains config REGULATOR_LP8755 tristate "TI LP8755 High Performance PMU driver" depends on I2C Loading
drivers/regulator/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ obj-$(CONFIG_REGULATOR_LM363X) += lm363x-regulator.o obj-$(CONFIG_REGULATOR_LP3971) += lp3971.o obj-$(CONFIG_REGULATOR_LP3972) += lp3972.o obj-$(CONFIG_REGULATOR_LP872X) += lp872x.o obj-$(CONFIG_REGULATOR_LP873X) += lp873x-regulator.o obj-$(CONFIG_REGULATOR_LP8788) += lp8788-buck.o obj-$(CONFIG_REGULATOR_LP8788) += lp8788-ldo.o obj-$(CONFIG_REGULATOR_LP8755) += lp8755.o Loading
drivers/regulator/fan53555.c +24 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,13 @@ enum { FAN53555_CHIP_ID_03, FAN53555_CHIP_ID_04, FAN53555_CHIP_ID_05, FAN53555_CHIP_ID_08 = 8, }; /* IC mask revision */ enum { FAN53555_CHIP_REV_00 = 0x3, FAN53555_CHIP_REV_13 = 0xf, }; enum { Loading Loading @@ -217,9 +224,26 @@ static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di) /* Init voltage range and step */ switch (di->chip_id) { case FAN53555_CHIP_ID_00: switch (di->chip_rev) { case FAN53555_CHIP_REV_00: di->vsel_min = 600000; di->vsel_step = 10000; break; case FAN53555_CHIP_REV_13: di->vsel_min = 800000; di->vsel_step = 10000; break; default: dev_err(di->dev, "Chip ID %d with rev %d not supported!\n", di->chip_id, di->chip_rev); return -EINVAL; } break; case FAN53555_CHIP_ID_01: case FAN53555_CHIP_ID_03: case FAN53555_CHIP_ID_05: case FAN53555_CHIP_ID_08: di->vsel_min = 600000; di->vsel_step = 10000; break; Loading
drivers/regulator/lp3971.c +1 −1 Original line number Diff line number Diff line Loading @@ -365,8 +365,8 @@ static int lp3971_set_bits(struct lp3971 *lp3971, u8 reg, u16 mask, u16 val) mutex_lock(&lp3971->io_lock); ret = lp3971_i2c_read(lp3971->i2c, reg, 1, &tmp); tmp = (tmp & ~mask) | val; if (ret == 0) { tmp = (tmp & ~mask) | val; ret = lp3971_i2c_write(lp3971->i2c, reg, 1, &tmp); dev_dbg(lp3971->dev, "reg write 0x%02x -> 0x%02x\n", (int)reg, (unsigned)val&0xff); Loading