On Sun, Oct 01, 2023 at 04:11:26AM -0400, Abdel Alkuor wrote: > From: Abdel Alkuor <abdelalkuor@xxxxxxxxxx> > > Dead battery flag must be cleared after switching tps25750 to APP mode > so the PD controller becomes fully functional. > > Signed-off-by: Abdel Alkuor <abdelalkuor@xxxxxxxxxx> I'm sorry I noticed these so late, but this one really feels like it should be part of the patch 4/14. Is there some reason why you do this separately? > --- > Changes in v9: > - No changes > Changes in v8: > - No changes > Changes in v7: > - Add driver name to commit subject > Changes in v6: > - No changes > Changes in v5: > - Incorporating tps25750 into tps6598x driver > > drivers/usb/typec/tipd/core.c | 16 ++++++++++++++++ > drivers/usb/typec/tipd/tps6598x.h | 1 + > 2 files changed, 17 insertions(+) > > diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c > index 21b0ea2c9627..2598433a69cf 100644 > --- a/drivers/usb/typec/tipd/core.c > +++ b/drivers/usb/typec/tipd/core.c > @@ -946,6 +946,22 @@ static int tps25750_apply_patch(struct tps6598x *tps) > > } while (ret != TPS_MODE_APP); > > + /* > + * The dead battery flag may be triggered when the controller > + * port is connected to a device that can source power and > + * attempts to power up both the controller and the board it is on. > + * To restore controller functionality, it is necessary to clear > + * this flag > + */ > + if (status & TPS_BOOT_STATUS_DEAD_BATTERY_FLAG) { > + ret = tps6598x_exec_cmd(tps, "DBfg", 0, NULL, 0, NULL); > + if (ret) { > + dev_err(tps->dev, > + "failed to clear dead battery %d\n", ret); One line is enough. > + return ret; > + } > + } > + > dev_info(tps->dev, "controller switched to \"APP\" mode\n"); > > return 0; > diff --git a/drivers/usb/typec/tipd/tps6598x.h b/drivers/usb/typec/tipd/tps6598x.h > index a80d0929f3ee..c000170f4547 100644 > --- a/drivers/usb/typec/tipd/tps6598x.h > +++ b/drivers/usb/typec/tipd/tps6598x.h > @@ -200,6 +200,7 @@ > #define TPS_DATA_STATUS_DP_SPEC_PIN_ASSIGNMENT_B (BIT(2) | BIT(1)) > > /* BOOT STATUS REG*/ > +#define TPS_BOOT_STATUS_DEAD_BATTERY_FLAG BIT(2) > #define TPS_BOOT_STATUS_I2C_EEPROM_PRESENT BIT(3) > > #endif /* __TPS6598X_H__ */ > -- > 2.34.1 Br, -- heikki