Skip to content

Commit 6f490e6

Browse files
TE-N-ShengjiuWangbroonie
authored andcommitted
ASoC: fsl_mqs: Add i.MX943 platform support
There are two MQS instances on the i.MX943 platform. The definition of bit positions in the control register are different. In order to support these MQS modules, define two compatible strings to distinguish them. On i.MX943 one instance is in Always-on mix, another is in Wakeup-mix. Signed-off-by: Shengjiu Wang <[email protected]> Reviewed-by: Daniel Baluta <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 84eac6d commit 6f490e6

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

sound/soc/fsl/fsl_mqs.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,12 +410,40 @@ static const struct fsl_mqs_soc_data fsl_mqs_imx95_netc_data = {
410410
.div_shift = 9,
411411
};
412412

413+
static const struct fsl_mqs_soc_data fsl_mqs_imx943_aon_data = {
414+
.type = TYPE_REG_SM,
415+
.ctrl_off = 0x88,
416+
.en_mask = BIT(1),
417+
.en_shift = 1,
418+
.rst_mask = BIT(2),
419+
.rst_shift = 2,
420+
.osr_mask = BIT(3),
421+
.osr_shift = 3,
422+
.div_mask = GENMASK(15, 8),
423+
.div_shift = 8,
424+
};
425+
426+
static const struct fsl_mqs_soc_data fsl_mqs_imx943_wakeup_data = {
427+
.type = TYPE_REG_GPR,
428+
.ctrl_off = 0x10,
429+
.en_mask = BIT(1),
430+
.en_shift = 1,
431+
.rst_mask = BIT(2),
432+
.rst_shift = 2,
433+
.osr_mask = BIT(3),
434+
.osr_shift = 3,
435+
.div_mask = GENMASK(15, 8),
436+
.div_shift = 8,
437+
};
438+
413439
static const struct of_device_id fsl_mqs_dt_ids[] = {
414440
{ .compatible = "fsl,imx8qm-mqs", .data = &fsl_mqs_imx8qm_data },
415441
{ .compatible = "fsl,imx6sx-mqs", .data = &fsl_mqs_imx6sx_data },
416442
{ .compatible = "fsl,imx93-mqs", .data = &fsl_mqs_imx93_data },
417443
{ .compatible = "fsl,imx95-aonmix-mqs", .data = &fsl_mqs_imx95_aon_data },
418444
{ .compatible = "fsl,imx95-netcmix-mqs", .data = &fsl_mqs_imx95_netc_data },
445+
{ .compatible = "fsl,imx943-aonmix-mqs", .data = &fsl_mqs_imx943_aon_data },
446+
{ .compatible = "fsl,imx943-wakeupmix-mqs", .data = &fsl_mqs_imx943_wakeup_data },
419447
{}
420448
};
421449
MODULE_DEVICE_TABLE(of, fsl_mqs_dt_ids);

0 commit comments

Comments
 (0)