ASoC: qcom: q6dsp: Add Senary MI2S audio interface support
Backport of the Senary MI2S port support merged upstream in 7.2-rc1 (series "ASoC: qcom: q6dsp: few fixes and enhancements"), using the same port IDs (SENARY_MI2S_RX=147/TX=148; 137-146 are reserved for the upstream LPI MI2S ports) so device trees remain compatible across the rebase. Needed for the Fairphone (Gen. 6) speaker amplifiers, which sit on Senary MI2S. Assisted-by: Claude:claude-fable-5 Signed-off-by: Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>
This commit is contained in:
parent
7c65854587
commit
eca3e60bc1
2 changed files with 32 additions and 0 deletions
|
|
@ -140,6 +140,9 @@
|
|||
#define DISPLAY_PORT_RX_6 134
|
||||
#define DISPLAY_PORT_RX_7 135
|
||||
#define USB_RX 136
|
||||
/* 137-146 reserved for LPI MI2S (upstream 7.2) */
|
||||
#define SENARY_MI2S_RX 147
|
||||
#define SENARY_MI2S_TX 148
|
||||
|
||||
#define LPASS_CLK_ID_PRI_MI2S_IBIT 1
|
||||
#define LPASS_CLK_ID_PRI_MI2S_EBIT 2
|
||||
|
|
|
|||
|
|
@ -483,6 +483,34 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = {
|
|||
},
|
||||
.id = QUINARY_MI2S_TX,
|
||||
.name = "QUIN_MI2S_TX",
|
||||
}, {
|
||||
.playback = {
|
||||
.stream_name = "Senary MI2S Playback",
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 192000,
|
||||
},
|
||||
.id = SENARY_MI2S_RX,
|
||||
.name = "SEN_MI2S_RX",
|
||||
}, {
|
||||
.capture = {
|
||||
.stream_name = "Senary MI2S Capture",
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 192000,
|
||||
},
|
||||
.id = SENARY_MI2S_TX,
|
||||
.name = "SEN_MI2S_TX",
|
||||
},
|
||||
Q6AFE_TDM_PB_DAI("Primary", 0, PRIMARY_TDM_RX_0),
|
||||
Q6AFE_TDM_PB_DAI("Primary", 1, PRIMARY_TDM_RX_1),
|
||||
|
|
@ -635,6 +663,7 @@ struct snd_soc_dai_driver *q6dsp_audio_ports_set_config(struct device *dev,
|
|||
q6dsp_audio_fe_dais[i].ops = cfg->q6slim_ops;
|
||||
break;
|
||||
case QUINARY_MI2S_RX ... QUINARY_MI2S_TX:
|
||||
case SENARY_MI2S_RX ... SENARY_MI2S_TX:
|
||||
case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX:
|
||||
q6dsp_audio_fe_dais[i].ops = cfg->q6i2s_ops;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue