|
16 | 16 |
|
17 | 17 | #include <sound/cs35l41.h> |
18 | 18 |
|
| 19 | +#define CS35L41_FIRMWARE_OLD_VERSION 0x001C00 /* v0.28.0 */ |
| 20 | + |
19 | 21 | static const struct reg_default cs35l41_reg[] = { |
20 | 22 | { CS35L41_PWR_CTRL1, 0x00000000 }, |
21 | 23 | { CS35L41_PWR_CTRL2, 0x00000000 }, |
@@ -1214,7 +1216,7 @@ EXPORT_SYMBOL_GPL(cs35l41_safe_reset); |
1214 | 1216 | * the PLL Lock interrupt, in the IRQ handler. |
1215 | 1217 | */ |
1216 | 1218 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type, |
1217 | | - int enable, bool firmware_running) |
| 1219 | + int enable, struct cs_dsp *dsp) |
1218 | 1220 | { |
1219 | 1221 | int ret; |
1220 | 1222 | unsigned int gpio1_func, pad_control, pwr_ctrl1, pwr_ctrl3, int_status, pup_pdn_mask; |
@@ -1309,7 +1311,7 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4 |
1309 | 1311 | } |
1310 | 1312 | regmap_write(regmap, CS35L41_IRQ1_STATUS1, CS35L41_PUP_DONE_MASK); |
1311 | 1313 |
|
1312 | | - if (firmware_running) |
| 1314 | + if (dsp->running && dsp->fw_id_version > CS35L41_FIRMWARE_OLD_VERSION) |
1313 | 1315 | ret = cs35l41_set_cspl_mbox_cmd(dev, regmap, |
1314 | 1316 | CSPL_MBOX_CMD_SPK_OUT_ENABLE); |
1315 | 1317 | else |
|
0 commit comments