aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,xcvr.yaml11
-rw-r--r--sound/soc/codecs/ak4619.c2
-rw-r--r--sound/soc/codecs/max98088.c10
-rw-r--r--sound/soc/meson/axg-fifo.c2
-rw-r--r--sound/soc/meson/axg-frddr.c4
-rw-r--r--sound/soc/meson/axg-tdm.h2
-rw-r--r--sound/soc/meson/axg-toddr.c4
-rw-r--r--sound/soc/soc-utils.c9
8 files changed, 28 insertions, 16 deletions
diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
index 197ae8ba9c30..5e2801014221 100644
--- a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
+++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
@@ -42,6 +42,7 @@ properties:
items:
- description: WAKEUPMIX Audio XCVR Interrupt 1
- description: WAKEUPMIX Audio XCVR Interrupt 2
+ - description: SPDIF wakeup interrupt from PHY
minItems: 1
clocks:
@@ -88,6 +89,7 @@ required:
- dma-names
allOf:
+ - $ref: dai-common.yaml#
- if:
properties:
compatible:
@@ -112,7 +114,8 @@ allOf:
else:
properties:
interrupts:
- maxItems: 1
+ minItems: 3
+ maxItems: 3
- if:
properties:
@@ -128,7 +131,7 @@ allOf:
clock-names:
maxItems: 4
-additionalProperties: false
+unevaluatedProperties: false
examples:
- |
@@ -143,7 +146,9 @@ examples:
<0x30cc0c00 0x080>,
<0x30cc0e00 0x080>;
reg-names = "ram", "regs", "rxfifo", "txfifo";
- interrupts = <0x0 128 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_IPG>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_PHY>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_SPBA2_ROOT>,
diff --git a/sound/soc/codecs/ak4619.c b/sound/soc/codecs/ak4619.c
index cbe27abe1f50..8f2442482f72 100644
--- a/sound/soc/codecs/ak4619.c
+++ b/sound/soc/codecs/ak4619.c
@@ -754,7 +754,7 @@ static void ak4619_hw_constraints(struct ak4619_priv *ak4619,
default:
break;
}
- };
+ }
constraint->list = ak4619_sr;
constraint->mask = ak4619_rate_mask;
diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c
index 8b56ee550c09..8b0645c63462 100644
--- a/sound/soc/codecs/max98088.c
+++ b/sound/soc/codecs/max98088.c
@@ -1318,6 +1318,7 @@ static int max98088_set_bias_level(struct snd_soc_component *component,
enum snd_soc_bias_level level)
{
struct max98088_priv *max98088 = snd_soc_component_get_drvdata(component);
+ int ret;
switch (level) {
case SND_SOC_BIAS_ON:
@@ -1333,10 +1334,13 @@ static int max98088_set_bias_level(struct snd_soc_component *component,
*/
if (!IS_ERR(max98088->mclk)) {
if (snd_soc_component_get_bias_level(component) ==
- SND_SOC_BIAS_ON)
+ SND_SOC_BIAS_ON) {
clk_disable_unprepare(max98088->mclk);
- else
- clk_prepare_enable(max98088->mclk);
+ } else {
+ ret = clk_prepare_enable(max98088->mclk);
+ if (ret)
+ return ret;
+ }
}
break;
diff --git a/sound/soc/meson/axg-fifo.c b/sound/soc/meson/axg-fifo.c
index 59abe0b3c59f..7e6090af720b 100644
--- a/sound/soc/meson/axg-fifo.c
+++ b/sound/soc/meson/axg-fifo.c
@@ -32,7 +32,7 @@ static const struct snd_pcm_hardware axg_fifo_hw = {
SNDRV_PCM_INFO_NO_PERIOD_WAKEUP),
.formats = AXG_FIFO_FORMATS,
.rate_min = 5512,
- .rate_max = 384000,
+ .rate_max = 768000,
.channels_min = 1,
.channels_max = AXG_FIFO_CH_MAX,
.period_bytes_min = AXG_FIFO_BURST,
diff --git a/sound/soc/meson/axg-frddr.c b/sound/soc/meson/axg-frddr.c
index e97d43ae7fd2..e70c8c34c7db 100644
--- a/sound/soc/meson/axg-frddr.c
+++ b/sound/soc/meson/axg-frddr.c
@@ -112,7 +112,7 @@ static struct snd_soc_dai_driver axg_frddr_dai_drv = {
.channels_max = AXG_FIFO_CH_MAX,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 5515,
- .rate_max = 384000,
+ .rate_max = 768000,
.formats = AXG_FIFO_FORMATS,
},
.ops = &axg_frddr_ops,
@@ -189,7 +189,7 @@ static struct snd_soc_dai_driver g12a_frddr_dai_drv = {
.channels_max = AXG_FIFO_CH_MAX,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 5515,
- .rate_max = 384000,
+ .rate_max = 768000,
.formats = AXG_FIFO_FORMATS,
},
.ops = &g12a_frddr_ops,
diff --git a/sound/soc/meson/axg-tdm.h b/sound/soc/meson/axg-tdm.h
index daaca10fec9e..1a17f546ce6e 100644
--- a/sound/soc/meson/axg-tdm.h
+++ b/sound/soc/meson/axg-tdm.h
@@ -16,7 +16,7 @@
#define AXG_TDM_NUM_LANES 4
#define AXG_TDM_CHANNEL_MAX 128
#define AXG_TDM_RATES (SNDRV_PCM_RATE_5512 | \
- SNDRV_PCM_RATE_8000_384000)
+ SNDRV_PCM_RATE_8000_768000)
#define AXG_TDM_FORMATS (SNDRV_PCM_FMTBIT_S8 | \
SNDRV_PCM_FMTBIT_S16_LE | \
SNDRV_PCM_FMTBIT_S20_LE | \
diff --git a/sound/soc/meson/axg-toddr.c b/sound/soc/meson/axg-toddr.c
index e03a6e21c1c6..03512da4092b 100644
--- a/sound/soc/meson/axg-toddr.c
+++ b/sound/soc/meson/axg-toddr.c
@@ -131,7 +131,7 @@ static struct snd_soc_dai_driver axg_toddr_dai_drv = {
.channels_max = AXG_FIFO_CH_MAX,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 5515,
- .rate_max = 384000,
+ .rate_max = 768000,
.formats = AXG_FIFO_FORMATS,
},
.ops = &axg_toddr_ops,
@@ -228,7 +228,7 @@ static struct snd_soc_dai_driver g12a_toddr_dai_drv = {
.channels_max = AXG_FIFO_CH_MAX,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 5515,
- .rate_max = 384000,
+ .rate_max = 768000,
.formats = AXG_FIFO_FORMATS,
},
.ops = &g12a_toddr_ops,
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c
index 11ba89c6b83c..303823dc45d7 100644
--- a/sound/soc/soc-utils.c
+++ b/sound/soc/soc-utils.c
@@ -144,7 +144,6 @@ static const struct snd_soc_component_driver dummy_codec = {
.endianness = 1,
};
-#define STUB_RATES SNDRV_PCM_RATE_8000_384000
#define STUB_FORMATS (SNDRV_PCM_FMTBIT_S8 | \
SNDRV_PCM_FMTBIT_U8 | \
SNDRV_PCM_FMTBIT_S16_LE | \
@@ -198,14 +197,18 @@ static struct snd_soc_dai_driver dummy_dai = {
.stream_name = "Playback",
.channels_min = 1,
.channels_max = 384,
- .rates = STUB_RATES,
+ .rates = SNDRV_PCM_RATE_CONTINUOUS,
+ .rate_min = 5512,
+ .rate_max = 768000,
.formats = STUB_FORMATS,
},
.capture = {
.stream_name = "Capture",
.channels_min = 1,
.channels_max = 384,
- .rates = STUB_RATES,
+ .rates = SNDRV_PCM_RATE_CONTINUOUS,
+ .rate_min = 5512,
+ .rate_max = 768000,
.formats = STUB_FORMATS,
},
.ops = &dummy_dai_ops,