[PATCH v7 0/6] TI TPS6594 PMIC support (Core, ESM, PFSM)

Julien Panis posted 6 patches 2 years, 4 months ago
.../devicetree/bindings/mfd/ti,tps6594.yaml   |  193 ++++
Documentation/misc-devices/index.rst          |    1 +
Documentation/misc-devices/tps6594-pfsm.rst   |   87 ++
.../userspace-api/ioctl/ioctl-number.rst      |    1 +
drivers/mfd/Kconfig                           |   32 +
drivers/mfd/Makefile                          |    3 +
drivers/mfd/tps6594-core.c                    |  462 ++++++++
drivers/mfd/tps6594-i2c.c                     |  244 ++++
drivers/mfd/tps6594-spi.c                     |  129 +++
drivers/misc/Kconfig                          |   23 +
drivers/misc/Makefile                         |    2 +
drivers/misc/tps6594-esm.c                    |  132 +++
drivers/misc/tps6594-pfsm.c                   |  306 +++++
include/linux/mfd/tps6594.h                   | 1020 +++++++++++++++++
include/uapi/linux/tps6594_pfsm.h             |   37 +
samples/Kconfig                               |    6 +
samples/Makefile                              |    1 +
samples/pfsm/.gitignore                       |    2 +
samples/pfsm/Makefile                         |    4 +
samples/pfsm/pfsm-wakeup.c                    |  125 ++
20 files changed, 2810 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/ti,tps6594.yaml
create mode 100644 Documentation/misc-devices/tps6594-pfsm.rst
create mode 100644 drivers/mfd/tps6594-core.c
create mode 100644 drivers/mfd/tps6594-i2c.c
create mode 100644 drivers/mfd/tps6594-spi.c
create mode 100644 drivers/misc/tps6594-esm.c
create mode 100644 drivers/misc/tps6594-pfsm.c
create mode 100644 include/linux/mfd/tps6594.h
create mode 100644 include/uapi/linux/tps6594_pfsm.h
create mode 100644 samples/pfsm/.gitignore
create mode 100644 samples/pfsm/Makefile
create mode 100644 samples/pfsm/pfsm-wakeup.c
[PATCH v7 0/6] TI TPS6594 PMIC support (Core, ESM, PFSM)
Posted by Julien Panis 2 years, 4 months ago
TPS6594 is a Power Management IC which provides regulators and others
features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and
PFSM (Pre-configurable Finite State Machine). The SoC and the PMIC can
communicate through the I2C or SPI interfaces.
TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives.

This series adds support to TI TPS6594 PMIC and its derivatives.

The features implemented in this series are:
- Core (MFD I2C and SPI entry points)
- ESM (child device)
- PFSM (child device)

- Core description:
I2C and SPI interface protocols are implemented, with and without
the bit-integrity error detection feature (CRC mode).
In multi-PMIC configuration, all instances share a single GPIO of
the SoC to generate interrupt requests via their respective nINT
output pin.

- ESM description:
This device monitors the SoC error output signal at its nERR_SOC
input pin. In error condition, ESM toggles its nRSTOUT_SOC pin
to reset the SoC.
Basically, ESM driver starts ESM hardware.

- PFSM description:
Strictly speaking, PFSM is not hardware. It is a piece of code.
PMIC integrates a state machine which manages operational modes.
Depending on the current operational mode, some voltage domains
remain energized while others can be off.
PFSM driver can be used to trigger transitions between configured
states.

Changes since v6:
* Rebase on linux v6.4-rc1 (no modification in the series)

Link to v6:
https://lore.kernel.org/all/20230406075622.8990-1-jpanis@baylibre.com/

Others series will be submitted over the next few weeks, providing
drivers for others child devices like GPIOs (pinctrl), RTC, and
regulators. Board support will also be added (device trees).

Julien Panis (6):
  dt-bindings: mfd: Add TI TPS6594 PMIC
  mfd: tps6594: Add driver for TI TPS6594 PMIC
  misc: tps6594-esm: Add driver for TI TPS6594 ESM
  misc: tps6594-pfsm: Add driver for TI TPS6594 PFSM
  Documentation: Add TI TPS6594 PFSM
  samples: Add userspace example for TI TPS6594 PFSM

 .../devicetree/bindings/mfd/ti,tps6594.yaml   |  193 ++++
 Documentation/misc-devices/index.rst          |    1 +
 Documentation/misc-devices/tps6594-pfsm.rst   |   87 ++
 .../userspace-api/ioctl/ioctl-number.rst      |    1 +
 drivers/mfd/Kconfig                           |   32 +
 drivers/mfd/Makefile                          |    3 +
 drivers/mfd/tps6594-core.c                    |  462 ++++++++
 drivers/mfd/tps6594-i2c.c                     |  244 ++++
 drivers/mfd/tps6594-spi.c                     |  129 +++
 drivers/misc/Kconfig                          |   23 +
 drivers/misc/Makefile                         |    2 +
 drivers/misc/tps6594-esm.c                    |  132 +++
 drivers/misc/tps6594-pfsm.c                   |  306 +++++
 include/linux/mfd/tps6594.h                   | 1020 +++++++++++++++++
 include/uapi/linux/tps6594_pfsm.h             |   37 +
 samples/Kconfig                               |    6 +
 samples/Makefile                              |    1 +
 samples/pfsm/.gitignore                       |    2 +
 samples/pfsm/Makefile                         |    4 +
 samples/pfsm/pfsm-wakeup.c                    |  125 ++
 20 files changed, 2810 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,tps6594.yaml
 create mode 100644 Documentation/misc-devices/tps6594-pfsm.rst
 create mode 100644 drivers/mfd/tps6594-core.c
 create mode 100644 drivers/mfd/tps6594-i2c.c
 create mode 100644 drivers/mfd/tps6594-spi.c
 create mode 100644 drivers/misc/tps6594-esm.c
 create mode 100644 drivers/misc/tps6594-pfsm.c
 create mode 100644 include/linux/mfd/tps6594.h
 create mode 100644 include/uapi/linux/tps6594_pfsm.h
 create mode 100644 samples/pfsm/.gitignore
 create mode 100644 samples/pfsm/Makefile
 create mode 100644 samples/pfsm/pfsm-wakeup.c


base-commit: ac9a78681b921877518763ba0e89202254349d1b
-- 
2.37.3
[GIT PULL] Immutable branch containing TPS6594 core (MFD) support due for the v6.5 merge window
Posted by Lee Jones 2 years, 3 months ago
As promised.

The following changes since commit ac9a78681b921877518763ba0e89202254349d1b:

  Linux 6.4-rc1 (2023-05-07 13:34:35 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-tps6594-core-v6.5

for you to fetch changes up to 325bec7157b3859b45b9471447f5d130ab8a8723:

  mfd: tps6594: Add driver for TI TPS6594 PMIC (2023-05-18 16:06:14 +0100)

----------------------------------------------------------------
Immutable branch containing TPS6594 core (MFD) support due for the v6.5 merge window

----------------------------------------------------------------
Julien Panis (1):
      mfd: tps6594: Add driver for TI TPS6594 PMIC

 drivers/mfd/Kconfig         |   32 ++
 drivers/mfd/Makefile        |    3 +
 drivers/mfd/tps6594-core.c  |  462 ++++++++++++++++++++
 drivers/mfd/tps6594-i2c.c   |  244 +++++++++++
 drivers/mfd/tps6594-spi.c   |  129 ++++++
 include/linux/mfd/tps6594.h | 1020 +++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 1890 insertions(+)
 create mode 100644 drivers/mfd/tps6594-core.c
 create mode 100644 drivers/mfd/tps6594-i2c.c
 create mode 100644 drivers/mfd/tps6594-spi.c
 create mode 100644 include/linux/mfd/tps6594.h

-- 
Lee Jones [李琼斯]
Re: [GIT PULL] Immutable branch containing TPS6594 core (MFD) support due for the v6.5 merge window
Posted by Greg KH 2 years, 2 months ago
On Tue, May 23, 2023 at 08:44:16AM +0100, Lee Jones wrote:
> As promised.
> 
> The following changes since commit ac9a78681b921877518763ba0e89202254349d1b:
> 
>   Linux 6.4-rc1 (2023-05-07 13:34:35 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-tps6594-core-v6.5
> 
> for you to fetch changes up to 325bec7157b3859b45b9471447f5d130ab8a8723:
> 
>   mfd: tps6594: Add driver for TI TPS6594 PMIC (2023-05-18 16:06:14 +0100)

Thanks, I've pulled this into my char-misc tree so that I can take the
other patches here.

greg k-h