mbox series

[v4,0/9] Introduce STMFX I2C Multi-Function eXpander

Message ID 1551260094-32570-1-git-send-email-amelie.delaunay@st.com (mailing list archive)
Headers show
Series Introduce STMFX I2C Multi-Function eXpander | expand

Message

Amelie Delaunay Feb. 27, 2019, 9:34 a.m. UTC
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 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                                | 568 ++++++++++++++
 drivers/pinctrl/Kconfig                            |  12 +
 drivers/pinctrl/Makefile                           |   1 +
 drivers/pinctrl/pinctrl-stmfx.c                    | 820 +++++++++++++++++++++
 include/linux/mfd/stmfx.h                          | 123 ++++
 11 files changed, 1808 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

Comments

Alexandre TORGUE Feb. 28, 2019, 8:51 a.m. UTC | #1
Hi Amélie

On 2/27/19 10:34 AM, Amelie Delaunay wrote:
> 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 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
> 

DT patches looks good. I'll take them in STM32 soc tree as soon as Lee 
takes driver part.

Regards
Alex
Amelie Delaunay March 29, 2019, 8:48 a.m. UTC | #2
Hi,

A gentle ping on this series (mfd + pinctrl patches, DT patches will be 
taken in STM32 soc tree).

Regards,
Amelie

On 2/27/19 10:34 AM, Amelie Delaunay wrote:
> 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 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                                | 568 ++++++++++++++
>   drivers/pinctrl/Kconfig                            |  12 +
>   drivers/pinctrl/Makefile                           |   1 +
>   drivers/pinctrl/pinctrl-stmfx.c                    | 820 +++++++++++++++++++++
>   include/linux/mfd/stmfx.h                          | 123 ++++
>   11 files changed, 1808 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
>
Lee Jones April 1, 2019, 10:19 a.m. UTC | #3
On Fri, 29 Mar 2019, Amelie DELAUNAY wrote:

> Hi,
> 
> A gentle ping on this series (mfd + pinctrl patches, DT patches will be 
> taken in STM32 soc tree).

I currently have over 100 reviews in my backlog.

Please be patient.  You are on the list.

> On 2/27/19 10:34 AM, Amelie Delaunay wrote:
> > 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 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                                | 568 ++++++++++++++
> >   drivers/pinctrl/Kconfig                            |  12 +
> >   drivers/pinctrl/Makefile                           |   1 +
> >   drivers/pinctrl/pinctrl-stmfx.c                    | 820 +++++++++++++++++++++
> >   include/linux/mfd/stmfx.h                          | 123 ++++
> >   11 files changed, 1808 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
> >