LP3943 is an integrated device capable of driving 16 output channels.
It can be used for GPIO expander and PWM generators.
LP3493 registers are controlled via the I2C interface.
This patch-set consists of four parts - MFD, GPIO, PWM and documents.
Update from v3 to v4:
Move the driver description from the documentation to the MFD driver file.
Milo Kim (4):
mfd: add LP3943 MFD driver
gpio: add LP3943 I2C GPIO expander driver
pwm: add LP3943 PWM driver
Documentation: add LP3943 DT bindings and document
.../devicetree/bindings/gpio/gpio-lp3943.txt | 37 +++
Documentation/devicetree/bindings/mfd/lp3943.txt | 33 ++
.../devicetree/bindings/pwm/pwm-lp3943.txt | 58 ++++
drivers/gpio/Kconfig | 8 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-lp3943.c | 242 +++++++++++++++
drivers/mfd/Kconfig | 11 +
drivers/mfd/Makefile | 1 +
drivers/mfd/lp3943.c | 167 +++++++++++
drivers/pwm/Kconfig | 10 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-lp3943.c | 314 ++++++++++++++++++++
include/linux/mfd/lp3943.h | 114 +++++++
13 files changed, 997 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
create mode 100644 Documentation/devicetree/bindings/mfd/lp3943.txt
create mode 100644 Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
create mode 100644 drivers/gpio/gpio-lp3943.c
create mode 100644 drivers/mfd/lp3943.c
create mode 100644 drivers/pwm/pwm-lp3943.c
create mode 100644 include/linux/mfd/lp3943.h