diff mbox series

mfd: cs42l43: Prepare support for updated bios patch

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

Commit Message

Maciej Strozek Oct. 23, 2024, 10:06 a.m. UTC
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

Comments

Charles Keepax Oct. 23, 2024, 10:38 a.m. UTC | #1
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 mbox series

Patch

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) {