tps80031: Add mfd and regulator driver
v2 cover tps80031: Add mfd and regulator driver
This patch series supports mfd core and regulator driver for the Texas Instruments TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. The device provides five configurable step-down converters, 11 general purpose LDOs, USB OTG Module, ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with Power Path from USB, 32K clock generator.
Changes from V1:
- remove the volatle api.
- add regmap irq regardless of client->irq.
- Correct the irq cleanups.
- remove usage of irq_base.
- remove suspend/resume
- Correct acroym and ES nomenclature.
- Rewrite dcdc get voltage apis.
- Remove -1 and +1 in vsel.
- Correct the vbus ops for sw and hw based.
Laxman Dewangan (2):
mfd: add TI TPS80031 mfd core driver
regulator: tps80031: add regulator driver for tps80031
drivers/mfd/Kconfig | 14 + drivers/mfd/Makefile | 1 + drivers/mfd/tps80031.c | 580 ++++++++++++++++++++++ drivers/regulator/Kconfig | 9 + drivers/regulator/Makefile | 1 + drivers/regulator/tps80031-regulator.c | 821 ++++++++++++++++++++++++++++++++ include/linux/mfd/tps80031.h | 624 ++++++++++++++++++++++++ 7 files changed, 2050 insertions(+), 0 deletions(-) create mode 100644 drivers/mfd/tps80031.c create mode 100644 drivers/regulator/tps80031-regulator.c create mode 100644 include/linux/mfd/tps80031.h
PATCH v2 1/2 mfd: add TI TPS80031 mfd core driver
TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. The device provides five configurable step-down converters, 11 general purpose LDOs, USB OTG Module, ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with Power Path from USB, 32K clock generator.
Add the mfd core driver for TPS80031/TPS80032.
---
Changes from V1:
- remove the volatle api.
- add regmap irq regardless of client->irq.
- Correct the irq cleanups.
- remove usage of irq_base.
- remove suspend/resume
- Correct acroym and ES nomenclature.
drivers/mfd/Kconfig | 14 + drivers/mfd/Makefile | 1 + drivers/mfd/tps80031.c | 545 +++++++++++++++++++++++++++++++++++++++ include/linux/mfd/tps80031.h | 577 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1137 insertions(+), 0 deletions(-) create mode 100644 drivers/mfd/tps80031.c create mode 100644 include/linux/mfd/tps80031.h
drivers/mfd/Kconfig +14 -0
@@ -244,6 +244,20 @@ config MFD_TPS65912_SPI If you say yes here you get support for the TPS65912 series of PM chips with SPI interface. +config MFD_TPS80031 + bool "TI TPS80031/TPS80032 Power Management chips" + depends on I2C && GENERIC_HARDIRQS + select MFD_CORE + select REGMAP_I2C + select IRQ_DOMAIN + help + If you say yes here you get support for the Texas Instruments + TPS80031/ TPS80032 Fully Integrated Power Management with Power + Path and Battery Charger. The device provides five configurable + step-down converters, 11 general purpose LDOs, USB OTG Module, + ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with + Power Path from USB, 32K clock generator. + config MENELAUS bool "Texas Instruments TWL92330/Menelaus PM chip" depends on I2C=y && ARCH_OMAP2
drivers/mfd/Makefile +1 -0
@@ -57,6 +57,7 @@ tps65912-objs := tps65912-core.o tps65912-irq.o obj-$(CONFIG_MFD_TPS65912) += tps65912.o obj-$(CONFIG_MFD_TPS65912_I2C) += tps65912-i2c.o obj-$(CONFIG_MFD_TPS65912_SPI) += tps65912-spi.o +obj-$(CONFIG_MFD_TPS80031) += tps80031.o obj-$(CONFIG_MENELAUS) += menelaus.o obj-$(CONFIG_TWL4030_CORE) += twl-core.o twl4030-irq.o twl6030-irq.o
drivers/mfd/tps80031.c new file +545 -0
545 lines not on this page · raw message
include/linux/mfd/tps80031.h new file +577 -0
577 lines not on this page · raw message
Signature · 1 line
1.7.1.1
PATCH v2 2/2 regulator: tps80031: add regulator driver for tps80031
In reply to Laxman DewanganAdd regulator driver for Texas Instrument TPS80031/TPS80032 device. TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. It has 5 configurable step-down converters, 11 general purpose LDOs, VBUS generator and digital output to control regulators.
---
Changes from V1:
- Rewrite dcdc get voltage apis.
- Remove -1 and +1 in vsel.
- Correct the vbus ops for sw and hw based.
drivers/regulator/Kconfig | 9 + drivers/regulator/Makefile | 1 + drivers/regulator/tps80031-regulator.c | 789 ++++++++++++++++++++++++++++++++ include/linux/mfd/tps80031.h | 55 +++ 4 files changed, 854 insertions(+), 0 deletions(-) create mode 100644 drivers/regulator/tps80031-regulator.c
drivers/regulator/Kconfig +9 -0
@@ -426,6 +426,15 @@ config REGULATOR_TPS65912 help This driver supports TPS65912 voltage regulator chip. +config REGULATOR_TPS80031 + tristate "TI TPS80031/TPS80032 power regualtor driver" + depends on MFD_TPS80031 + help + TPS80031/ TPS80032 Fully Integrated Power Management with Power + Path and Battery Charger. It has 5 configurable step-down + converters, 11 general purpose LDOs, VBUS generator and digital + output to control regulators. + config REGULATOR_TWL4030 bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 PMIC" depends on TWL4030_CORE
drivers/regulator/Makefile +1 -0
@@ -57,6 +57,7 @@ obj-$(CONFIG_REGULATOR_TPS6524X) += tps6524x-regulator.o obj-$(CONFIG_REGULATOR_TPS6586X) += tps6586x-regulator.o obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o +obj-$(CONFIG_REGULATOR_TPS80031) += tps80031-regulator.o obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o obj-$(CONFIG_REGULATOR_VEXPRESS) += vexpress.o obj-$(CONFIG_REGULATOR_WM831X) += wm831x-dcdc.o
drivers/regulator/tps80031-regulator.c new file +789 -0
789 lines not on this page · raw message
include/linux/mfd/tps80031.h +55 -0
72 lines not on this page · raw message
Signature · 1 line
1.7.1.1
Re: [PATCH V2 2/2] regulator: tps80031: add regulator driver for tps80031
Quoted 5 lines · Laxman Dewangan
Add regulator driver for Texas Instrument TPS80031/TPS80032 device. TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. It has 5 configurable step-down converters, 11 general purpose LDOs, VBUS generator and digital output to control regulators.
This looks OK but can't be applied as you're updating the header file which was added in patch 1 - can you rework so that the header file is added all at once rather than incrementally please? For new MFDs this is easier as the individual drivers can be applied as normal without needing to all go through one tree.