Loading Documentation/devicetree/bindings/regulator/pv88060.txt 0 → 100644 +124 −0 Original line number Diff line number Diff line * Powerventure Semiconductor PV88060 Voltage Regulator Required properties: - compatible: "pvs,pv88060". - reg: I2C slave address, usually 0x49. - interrupts: the interrupt outputs of the controller - regulators: A node that houses a sub-node for each regulator within the device. Each sub-node is identified using the node's name, with valid values listed below. The content of each sub-node is defined by the standard binding for regulators; see regulator.txt. BUCK1, LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7, SW1, SW2, SW3, SW4, SW5, and SW6. Optional properties: - Any optional property defined in regulator.txt Example pmic: pv88060@49 { compatible = "pvs,pv88060"; reg = <0x49>; interrupt-parent = <&gpio>; interrupts = <24 24>; regulators { BUCK1 { regulator-name = "buck1"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <4387500>; regulator-min-microamp = <1496000>; regulator-max-microamp = <4189000>; regulator-boot-on; }; LDO1 { regulator-name = "ldo1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO2 { regulator-name = "ldo2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO3 { regulator-name = "ldo3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO4 { regulator-name = "ldo4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO5 { regulator-name = "ldo5"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO6 { regulator-name = "ldo6"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO7 { regulator-name = "ldo7"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; SW1 { regulator-name = "sw1"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; SW2 { regulator-name = "sw2"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW3 { regulator-name = "sw3"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW4 { regulator-name = "sw4"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW5 { regulator-name = "sw5"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW6 { regulator-name = "sw6"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; }; }; No newline at end of file drivers/regulator/Kconfig +8 −0 Original line number Diff line number Diff line Loading @@ -514,6 +514,14 @@ config REGULATOR_PFUZE100 Say y here to support the regulators found on the Freescale PFUZE100/PFUZE200 PMIC. config REGULATOR_PV88060 tristate "Powerventure Semiconductor PV88060 regulator" depends on I2C select REGMAP_I2C help Say y here to support the voltage regulators and convertors PV88060 config REGULATOR_PWM tristate "PWM voltage regulator" depends on PWM Loading drivers/regulator/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o obj-$(CONFIG_REGULATOR_PV88060) += pv88060-regulator.o obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o Loading drivers/regulator/core.c +4 −2 Original line number Diff line number Diff line Loading @@ -3446,8 +3446,10 @@ int regulator_bulk_get(struct device *dev, int num_consumers, consumers[i].consumer = NULL; for (i = 0; i < num_consumers; i++) { consumers[i].consumer = regulator_get(dev, consumers[i].supply); consumers[i].consumer = _regulator_get(dev, consumers[i].supply, false, !consumers[i].optional); if (IS_ERR(consumers[i].consumer)) { ret = PTR_ERR(consumers[i].consumer); dev_err(dev, "Failed to get supply '%s': %d\n", Loading drivers/regulator/devres.c +5 −2 Original line number Diff line number Diff line Loading @@ -164,8 +164,11 @@ int devm_regulator_bulk_get(struct device *dev, int num_consumers, consumers[i].consumer = NULL; for (i = 0; i < num_consumers; i++) { consumers[i].consumer = devm_regulator_get(dev, consumers[i].supply); consumers[i].consumer = _devm_regulator_get(dev, consumers[i].supply, consumers[i].optional ? OPTIONAL_GET : NORMAL_GET); if (IS_ERR(consumers[i].consumer)) { ret = PTR_ERR(consumers[i].consumer); dev_err(dev, "Failed to get supply '%s': %d\n", Loading Loading
Documentation/devicetree/bindings/regulator/pv88060.txt 0 → 100644 +124 −0 Original line number Diff line number Diff line * Powerventure Semiconductor PV88060 Voltage Regulator Required properties: - compatible: "pvs,pv88060". - reg: I2C slave address, usually 0x49. - interrupts: the interrupt outputs of the controller - regulators: A node that houses a sub-node for each regulator within the device. Each sub-node is identified using the node's name, with valid values listed below. The content of each sub-node is defined by the standard binding for regulators; see regulator.txt. BUCK1, LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7, SW1, SW2, SW3, SW4, SW5, and SW6. Optional properties: - Any optional property defined in regulator.txt Example pmic: pv88060@49 { compatible = "pvs,pv88060"; reg = <0x49>; interrupt-parent = <&gpio>; interrupts = <24 24>; regulators { BUCK1 { regulator-name = "buck1"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <4387500>; regulator-min-microamp = <1496000>; regulator-max-microamp = <4189000>; regulator-boot-on; }; LDO1 { regulator-name = "ldo1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO2 { regulator-name = "ldo2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO3 { regulator-name = "ldo3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO4 { regulator-name = "ldo4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO5 { regulator-name = "ldo5"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO6 { regulator-name = "ldo6"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; LDO7 { regulator-name = "ldo7"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3350000>; regulator-boot-on; }; SW1 { regulator-name = "sw1"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; SW2 { regulator-name = "sw2"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW3 { regulator-name = "sw3"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW4 { regulator-name = "sw4"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW5 { regulator-name = "sw5"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; }; SW6 { regulator-name = "sw6"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; }; }; No newline at end of file
drivers/regulator/Kconfig +8 −0 Original line number Diff line number Diff line Loading @@ -514,6 +514,14 @@ config REGULATOR_PFUZE100 Say y here to support the regulators found on the Freescale PFUZE100/PFUZE200 PMIC. config REGULATOR_PV88060 tristate "Powerventure Semiconductor PV88060 regulator" depends on I2C select REGMAP_I2C help Say y here to support the voltage regulators and convertors PV88060 config REGULATOR_PWM tristate "PWM voltage regulator" depends on PWM Loading
drivers/regulator/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o obj-$(CONFIG_REGULATOR_PV88060) += pv88060-regulator.o obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o Loading
drivers/regulator/core.c +4 −2 Original line number Diff line number Diff line Loading @@ -3446,8 +3446,10 @@ int regulator_bulk_get(struct device *dev, int num_consumers, consumers[i].consumer = NULL; for (i = 0; i < num_consumers; i++) { consumers[i].consumer = regulator_get(dev, consumers[i].supply); consumers[i].consumer = _regulator_get(dev, consumers[i].supply, false, !consumers[i].optional); if (IS_ERR(consumers[i].consumer)) { ret = PTR_ERR(consumers[i].consumer); dev_err(dev, "Failed to get supply '%s': %d\n", Loading
drivers/regulator/devres.c +5 −2 Original line number Diff line number Diff line Loading @@ -164,8 +164,11 @@ int devm_regulator_bulk_get(struct device *dev, int num_consumers, consumers[i].consumer = NULL; for (i = 0; i < num_consumers; i++) { consumers[i].consumer = devm_regulator_get(dev, consumers[i].supply); consumers[i].consumer = _devm_regulator_get(dev, consumers[i].supply, consumers[i].optional ? OPTIONAL_GET : NORMAL_GET); if (IS_ERR(consumers[i].consumer)) { ret = PTR_ERR(consumers[i].consumer); dev_err(dev, "Failed to get supply '%s': %d\n", Loading