| From: |
| Amelie Delaunay <amelie.delaunay-AT-st.com> |
| To: |
| Lee Jones <lee.jones-AT-linaro.org>, Linus Walleij <linus.walleij-AT-linaro.org>, Rob Herring <robh+dt-AT-kernel.org>, Mark Rutland <mark.rutland-AT-arm.com>, Alexandre Torgue <alexandre.torgue-AT-st.com>, "Maxime Coquelin" <mcoquelin.stm32-AT-gmail.com> |
| Subject: |
| [PATCH v6 0/9] Introduce STMFX I2C Multi-Function eXpander |
| Date: |
| Thu, 9 May 2019 10:58:47 +0200 |
| Message-ID: |
| <1557392336-28239-1-git-send-email-amelie.delaunay@st.com> |
| Cc: |
| <linux-gpio-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-stm32-AT-st-md-mailman.stormreply.com>, Amelie Delaunay <amelie.delaunay-AT-st.com> |
| Archive-link: |
| Article |
This series adds support for STMicroelectronics Multi-Function eXpander
(STMFX), used on some STM32 discovery and evaluation boards.
STMFX is an STM32L152 slave controller whose firmware embeds the following
features:
- I/O expander (16 GPIOs + 8 extra if the other features are not enabled),
- resistive touchscreen controller,
- IDD measurement.
I2C stuff and chip initialization is based on an MFD parent driver, which
registers STMFX features MFD children.
---
Changes in v6:
- mfd: go with Lee's suggestion about vdd regulator management (but
initialize ret with PTR_ERR_OR_ZERO to use it in if/else if and error log),
also remove backup/restore helpers and move the code in suspend/
resume
Changes in v5:
- mfd: fix Lee's comments (reorder struct declaration, drop mfd cells
platform data initialization, typos)
- pinctrl: get stmfx struct through dev_get_drvdata(pdev->dev.parent)
instead of dev_get_platdata(&pdev->dev);
Changes in v4:
- mfd: move registers #define into the header
- mfd: merge stmfx and stmfx_ddata structures into one stmfx structure
- mfd: change stmfx_chip_init/exit and stmfx_irq_init/exit args: use
i2c_client struct and i2c_get_clientdata
- mfd: fix typos
- mfd: add MFD cells for IDD and TS features
- pinctrl: rework registers #define
- dts: add STMFX support on stm32mp157c-ev1
Changes in v3:
- fix MFD interrupt bindings
- fix drivers/mfd/stmfx.c:103:8: warning: 'mask' may be used uninitialized
in this function
Changes in v2:
- move to MFD parent driver for i2c stuff and chip initialization
- improve regmap configuration
- take advantage of the use of gpio-ranges
Amelie Delaunay (9):
dt-bindings: mfd: Add ST Multi-Function eXpander (STMFX) core bindings
mfd: Add ST Multi-Function eXpander (STMFX) core driver
dt-bindings: pinctrl: document the STMFX pinctrl bindings
pinctrl: Add STMFX GPIO expander Pinctrl/GPIO driver
ARM: dts: stm32: add STMFX support on stm32746g-eval
ARM: dts: stm32: add joystick support on stm32746g-eval
ARM: dts: stm32: add orange and blue leds on stm32746g-eval
ARM: dts: stm32: add STMFX support on stm32mp157c-ev1
ARM: dts: stm32: add joystick support on stm32mp157c-ev1
Documentation/devicetree/bindings/mfd/stmfx.txt | 28 +
.../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 +++
arch/arm/boot/dts/stm32746g-eval.dts | 66 ++
arch/arm/boot/dts/stm32mp157c-ev1.dts | 60 ++
drivers/mfd/Kconfig | 13 +
drivers/mfd/Makefile | 2 +-
drivers/mfd/stmfx.c | 545 ++++++++++++++
drivers/pinctrl/Kconfig | 12 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-stmfx.c | 820 +++++++++++++++++++++
include/linux/mfd/stmfx.h | 123 ++++
11 files changed, 1785 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
create mode 100644 drivers/mfd/stmfx.c
create mode 100644 drivers/pinctrl/pinctrl-stmfx.c
create mode 100644 include/linux/mfd/stmfx.h
--
2.7.4