2024-02-26 11:07:27

by Julien Panis

[permalink] [raw]
Subject: Re: [PATCH v2 01/14] mfd: tps6594: Add register definitions for TI TPS65224 PMIC

Hi Bhargav.

Thanks for the series.

On 2/23/24 10:36, Bhargav Raviprakash wrote:
> From: Nirmala Devi Mal Nadar <[email protected]>
>
> Extend TPS6594 PMIC register and field definitions to support TPS65224
> power management IC.
>
> TPS65224 is software compatible to TPS6594 and can re-use many of the
> same definitions, new definitions are added to support additional
> controls available on TPS65224.
>
> Signed-off-by: Nirmala Devi Mal Nadar <[email protected]>
> Signed-off-by: Bhargav Raviprakash <[email protected]>
> ---
> include/linux/mfd/tps6594.h | 354 ++++++++++++++++++++++++++++++++++--
> 1 file changed, 342 insertions(+), 12 deletions(-)

[...]
> +/* IRQs */
> +enum tps65224_irqs {
> + /* INT_BUCK register */
> + TPS65224_IRQ_BUCK1_UVOV,
> + TPS65224_IRQ_BUCK2_UVOV,
> + TPS65224_IRQ_BUCK3_UVOV,
> + TPS65224_IRQ_BUCK4_UVOV,
> + /* INT_LDO_VMON register */
> + TPS65224_IRQ_LDO1_UVOV,
> + TPS65224_IRQ_LDO2_UVOV,
> + TPS65224_IRQ_LDO3_UVOV,
> + TPS65224_IRQ_VCCA_UVOV,
> + TPS65224_IRQ_VMON1_UVOV,
> + TPS65224_IRQ_VMON2_UVOV,
> + /* INT_GPIO register */
> + TPS65224_IRQ_GPIO1,
> + TPS65224_IRQ_GPIO2,
> + TPS65224_IRQ_GPIO3,
> + TPS65224_IRQ_GPIO4,
> + TPS65224_IRQ_GPIO5,
> + TPS65224_IRQ_GPIO6,
> + /* INT_STARTUP register */
> + TPS65224_IRQ_VSENSE,
> + TPS65224_IRQ_ENABLE,
> + TPS65224_IRQ_PB_SHORT,
> + TPS65224_IRQ_FSD,
> + TPS65224_IRQ_SOFT_REBOOT,
> + /* INT_MISC register */
> + TPS65224_IRQ_BIST_PASS,
> + TPS65224_IRQ_EXT_CLK,
> + TPS65224_IRQ_REG_UNLOCK,
> + TPS65224_IRQ_TWARN,
> + TPS65224_IRQ_PB_LONG,
> + TPS65224_IRQ_PB_FALL,
> + TPS65224_IRQ_PB_RISE,
> + TPS65224_IRQ_ADC_CONV_READY,
> + /* INT_MODERATE_ERR register */
> + TPS65224_IRQ_TSD_ORD,
> + TPS65224_IRQ_BIST_FAIL,
> + TPS65224_IRQ_REG_CRC_ERR,
> + TPS65224_IRQ_RECOV_CNT,
> + /* INT_SEVERE_ERR register */
> + TPS65224_IRQ_TSD_IMM,
> + TPS65224_IRQ_VCCA_OVP,
> + TPS65224_IRQ_PFSM_ERR,
> + TPS65224_IRQ_BG_XMON,
> + /* INT_FSM_ERR register */
> + TPS65224_IRQ_IMM_SHUTDOWN,
> + TPS65224_IRQ_ORD_SHUTDOWN,
> + TPS65224_IRQ_MCU_PWR_ERR,
> + TPS65224_IRQ_SOC_PWR_ERR,
> + TPS65224_IRQ_COMM_ERR,
> + TPS65224_IRQ_I2C2_ERR,
> + /* INT_ESM register */
> + TPS65224_IRQ_ESM_MCU_PIN,
> + TPS65224_IRQ_ESM_MCU_FAIL,
> + TPS65224_IRQ_ESM_MCU_RST,
> +};

For tps6594, ESM_MCU interrupts were supposed to be cleared by the MCU FW. That's why we only had to
deal with ESM_SOC interrupts in linux. For tps65224, I would recommend double-checking with TI where
ESM_MCU interrupts should be handled (either in MCU FW or in the linux driver). For some reason this
might be different than tps6594's case, but it does not look very consistent to me at first sight.
Julien Panis