Skip to content

Commit dba2d5a

Browse files
committed
ASoC: fsl_sai: Add support for i.MX8MM, MP, ULP
Merge series from Shengjiu Wang <[email protected]>: ASoC: fsl_sai: Add support for i.MX8MM, MP, ULP platforms
2 parents 0af9de0 + af0bd3c commit dba2d5a

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

sound/soc/fsl/fsl_sai.c

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1147,7 +1147,7 @@ static int fsl_sai_probe(struct platform_device *pdev)
11471147

11481148
/* Select MCLK direction */
11491149
if (of_find_property(np, "fsl,sai-mclk-direction-output", NULL) &&
1150-
sai->verid.version >= 0x0301) {
1150+
sai->soc_data->max_register >= FSL_SAI_MCTL) {
11511151
regmap_update_bits(sai->regmap, FSL_SAI_MCTL,
11521152
FSL_SAI_MCTL_MCLK_EN, FSL_SAI_MCTL_MCLK_EN);
11531153
}
@@ -1203,6 +1203,7 @@ static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
12031203
.reg_offset = 0,
12041204
.mclk0_is_mclk1 = false,
12051205
.flags = 0,
1206+
.max_register = FSL_SAI_RMR,
12061207
};
12071208

12081209
static const struct fsl_sai_soc_data fsl_sai_imx6sx_data = {
@@ -1213,6 +1214,7 @@ static const struct fsl_sai_soc_data fsl_sai_imx6sx_data = {
12131214
.reg_offset = 0,
12141215
.mclk0_is_mclk1 = true,
12151216
.flags = 0,
1217+
.max_register = FSL_SAI_RMR,
12161218
};
12171219

12181220
static const struct fsl_sai_soc_data fsl_sai_imx7ulp_data = {
@@ -1223,6 +1225,7 @@ static const struct fsl_sai_soc_data fsl_sai_imx7ulp_data = {
12231225
.reg_offset = 8,
12241226
.mclk0_is_mclk1 = false,
12251227
.flags = PMQOS_CPU_LATENCY,
1228+
.max_register = FSL_SAI_RMR,
12261229
};
12271230

12281231
static const struct fsl_sai_soc_data fsl_sai_imx8mq_data = {
@@ -1233,6 +1236,7 @@ static const struct fsl_sai_soc_data fsl_sai_imx8mq_data = {
12331236
.reg_offset = 8,
12341237
.mclk0_is_mclk1 = false,
12351238
.flags = 0,
1239+
.max_register = FSL_SAI_RMR,
12361240
};
12371241

12381242
static const struct fsl_sai_soc_data fsl_sai_imx8qm_data = {
@@ -1243,6 +1247,40 @@ static const struct fsl_sai_soc_data fsl_sai_imx8qm_data = {
12431247
.reg_offset = 0,
12441248
.mclk0_is_mclk1 = false,
12451249
.flags = 0,
1250+
.max_register = FSL_SAI_RMR,
1251+
};
1252+
1253+
static const struct fsl_sai_soc_data fsl_sai_imx8mm_data = {
1254+
.use_imx_pcm = true,
1255+
.use_edma = false,
1256+
.fifo_depth = 128,
1257+
.reg_offset = 8,
1258+
.mclk0_is_mclk1 = false,
1259+
.pins = 8,
1260+
.flags = 0,
1261+
.max_register = FSL_SAI_MCTL,
1262+
};
1263+
1264+
static const struct fsl_sai_soc_data fsl_sai_imx8mp_data = {
1265+
.use_imx_pcm = true,
1266+
.use_edma = false,
1267+
.fifo_depth = 128,
1268+
.reg_offset = 8,
1269+
.mclk0_is_mclk1 = false,
1270+
.pins = 8,
1271+
.flags = 0,
1272+
.max_register = FSL_SAI_MDIV,
1273+
};
1274+
1275+
static const struct fsl_sai_soc_data fsl_sai_imx8ulp_data = {
1276+
.use_imx_pcm = true,
1277+
.use_edma = true,
1278+
.fifo_depth = 16,
1279+
.reg_offset = 8,
1280+
.mclk0_is_mclk1 = false,
1281+
.pins = 4,
1282+
.flags = PMQOS_CPU_LATENCY,
1283+
.max_register = FSL_SAI_RTCAP,
12461284
};
12471285

12481286
static const struct of_device_id fsl_sai_ids[] = {
@@ -1252,6 +1290,9 @@ static const struct of_device_id fsl_sai_ids[] = {
12521290
{ .compatible = "fsl,imx7ulp-sai", .data = &fsl_sai_imx7ulp_data },
12531291
{ .compatible = "fsl,imx8mq-sai", .data = &fsl_sai_imx8mq_data },
12541292
{ .compatible = "fsl,imx8qm-sai", .data = &fsl_sai_imx8qm_data },
1293+
{ .compatible = "fsl,imx8mm-sai", .data = &fsl_sai_imx8mm_data },
1294+
{ .compatible = "fsl,imx8mp-sai", .data = &fsl_sai_imx8mp_data },
1295+
{ .compatible = "fsl,imx8ulp-sai", .data = &fsl_sai_imx8ulp_data },
12551296
{ /* sentinel */ }
12561297
};
12571298
MODULE_DEVICE_TABLE(of, fsl_sai_ids);

sound/soc/fsl/fsl_sai.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ struct fsl_sai_soc_data {
223223
unsigned int pins;
224224
unsigned int reg_offset;
225225
unsigned int flags;
226+
unsigned int max_register;
226227
};
227228

228229
/**

0 commit comments

Comments
 (0)