Message ID | 20240223093701.66034-1-bhargav.r@ltts.com |
---|---|
Headers | show |
Series | Add support for TI TPS65224 PMIC | expand |
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@baylibre.com/ > > 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?
Hi, On Thu, 29 Feb 2024 17:49:52 +0000, Lee Jones wrote: > 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@baylibre.com/ > > > > 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 [李琼斯] The drivers do not have to be applied in lockstep or taken in wholesale. Regards, Bhargav