On Fri, 23 Feb 2024, Bhargav Raviprakash wrote: > This series modifies the existing TPS6594 drivers to add support for the > TPS65224 PMIC device that is a derivative of TPS6594. TPS65224 has a > similar register map to TPS6594 with a few differences. SPI, I2C, ESM, > PFSM, Regulators and GPIO features overlap between the two devices. > > TPS65224 is a Power Management IC (PMIC) which provides regulators and > other features like GPIOs, Watchdog, Error Signal Monitor (ESM) and > Pre-configurable Finite State Machine (PFSM). The SoC and the PMIC can > communicate through the I2C or SPI interfaces. The PMIC TPS65224 > additionally has a 12-bit ADC. > Data Sheet for TPS65224: https://www.ti.com/product/TPS65224-Q1 > > Driver re-use is applied following the advice of the following series: > https://lore.kernel.org/lkml/2f467b0a-1d11-4ec7-8ca6-6c4ba66e5887@xxxxxxxxxxxx/ > > The features implemented in this series are: > - TPS65224 Register definitions > - Core (MFD I2C and SPI entry points) > - PFSM > - ESM > - Regulators > - Pinctrl > > TPS65224 Register definitions: > This patch adds macros for register field definitions of TPS65224 > to the existing TPS6594 driver. > > Core description: > I2C and SPI interface protocols are implemented, with and without > the bit-integrity error detection feature (CRC mode). > > 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. > > ESM description: > This device monitors the SoC error output signal at its nERR_MCU > input pin. On error detection, ESM driver toggles the PMIC nRSTOUT pin > to reset the SoC. > > Regulators description: > 4 BUCKs and 3 LDOs. > BUCK12 can be used in dual-phase mode. > > Pinctrl description: > TPS65224 family has 6 GPIOs. Those GPIOs can also serve different > functions such as I2C or SPI interface or watchdog disable functions. > The driver provides both pinmuxing for the functions and GPIO capability. > > This series was tested on linux-next tag: next-20240118 > > Test logs can be found here: > https://gist.github.com/LeonardMH/58ec135921fb1062ffd4a8b384831eb0 > > Changelog v1 -> v2: > - Changes to patch sign-off > - Commit message change in dt-bindings patch > - regmap config included in the of_match_table data field > > Bhargav Raviprakash (11): > mfd: tps6594: use volatile_table instead of volatile_reg > mfd: tps6594: add regmap config in match data > dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC > mfd: tps6594-i2c: Add TI TPS65224 PMIC I2C > mfd: tps6594-spi: Add TI TPS65224 PMIC SPI > mfd: tps6594-core: Add TI TPS65224 PMIC core > misc: tps6594-pfsm: Add TI TPS65224 PMIC PFSM > misc: tps6594-esm: reversion check limited to TPS6594 family > misc: tps6594-esm: use regmap_field > misc: tps6594-esm: Add TI TPS65224 PMIC ESM > arch: arm64: dts: ti: k3-am62p5-sk: Add TPS65224 PMIC support in AM62P > dts > > Nirmala Devi Mal Nadar (3): > mfd: tps6594: Add register definitions for TI TPS65224 PMIC > regulator: tps6594-regulator: Add TI TPS65224 PMIC regulators > pinctrl: pinctrl-tps6594: Add TPS65224 PMIC pinctrl and GPIO > > .../devicetree/bindings/mfd/ti,tps6594.yaml | 1 + > arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 95 +++++ > drivers/mfd/tps6594-core.c | 266 +++++++++++-- > drivers/mfd/tps6594-i2c.c | 41 +- > drivers/mfd/tps6594-spi.c | 41 +- > drivers/misc/tps6594-esm.c | 89 +++-- > drivers/misc/tps6594-pfsm.c | 55 ++- > drivers/pinctrl/pinctrl-tps6594.c | 287 ++++++++++++-- > drivers/regulator/Kconfig | 4 +- > drivers/regulator/tps6594-regulator.c | 244 ++++++++++-- > include/linux/mfd/tps6594.h | 369 +++++++++++++++++- > 11 files changed, 1325 insertions(+), 167 deletions(-) Does this set have to be taken in wholesale? -- Lee Jones [李琼斯]