Message ID | 20241023100636.28511-1-mstrozek@opensource.cirrus.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mfd: cs42l43: Prepare support for updated bios patch | expand |
On Wed, Oct 23, 2024 at 11:06:34AM +0100, Maciej Strozek wrote: > Newer bios patch firmware versions now require use of the shadow register > interface, which was previously only required by the full firmware, update > the check accordingly. > > Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com> > --- Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles
diff --git a/drivers/mfd/cs42l43.c b/drivers/mfd/cs42l43.c index 3b4efb294471..35a633457a93 100644 --- a/drivers/mfd/cs42l43.c +++ b/drivers/mfd/cs42l43.c @@ -48,6 +48,7 @@ #define CS42L43_MCU_SUPPORTED_REV 0x2105 #define CS42L43_MCU_SHADOW_REGS_REQUIRED_REV 0x2200 +#define CS42L43_BIOS_SHADOW_REGS_REQUIRED_REV 0x1002 #define CS42L43_MCU_SUPPORTED_BIOS_REV 0x0001 #define CS42L43_VDDP_DELAY_US 50 @@ -773,7 +774,8 @@ static int cs42l43_mcu_update_step(struct cs42l43 *cs42l43) * Later versions of the firmwware require the driver to access some * features through a set of shadow registers. */ - shadow = mcu_rev >= CS42L43_MCU_SHADOW_REGS_REQUIRED_REV; + shadow = (mcu_rev >= CS42L43_MCU_SHADOW_REGS_REQUIRED_REV) || + (bios_rev >= CS42L43_BIOS_SHADOW_REGS_REQUIRED_REV); ret = regmap_read(cs42l43->regmap, CS42L43_BOOT_CONTROL, &secure_cfg); if (ret) {
Newer bios patch firmware versions now require use of the shadow register interface, which was previously only required by the full firmware, update the check accordingly. Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com> --- drivers/mfd/cs42l43.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.34.1