Skip to content

Commit dac825b

Browse files
committed
Merge series "Patches to update for rockchip spdif" from Sugar Zhang <[email protected]>:
These patches fixup or update for rockchip spdif. Sugar Zhang (4): ASoC: rockchip: spdif: Mark SPDIF_SMPDR as volatile ASoC: rockchip: spdif: Fix some coding style ASoC: rockchip: spdif: Add support for rk3568 spdif ASoC: dt-bindings: rockchip: Add compatible for rk3568 spdif .../devicetree/bindings/sound/rockchip-spdif.yaml | 1 + sound/soc/rockchip/rockchip_spdif.c | 38 ++++++++++++---------- 2 files changed, 22 insertions(+), 17 deletions(-) -- 2.7.4
2 parents 11a08e0 + e79ef3c commit dac825b

File tree

2 files changed

+22
-17
lines changed

2 files changed

+22
-17
lines changed

Documentation/devicetree/bindings/sound/rockchip-spdif.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ properties:
2323
- const: rockchip,rk3366-spdif
2424
- const: rockchip,rk3368-spdif
2525
- const: rockchip,rk3399-spdif
26+
- const: rockchip,rk3568-spdif
2627
- items:
2728
- enum:
2829
- rockchip,rk3188-spdif

sound/soc/rockchip/rockchip_spdif.c

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ static const struct of_device_id rk_spdif_match[] __maybe_unused = {
5858
.data = (void *)RK_SPDIF_RK3366 },
5959
{ .compatible = "rockchip,rk3399-spdif",
6060
.data = (void *)RK_SPDIF_RK3366 },
61+
{ .compatible = "rockchip,rk3568-spdif",
62+
.data = (void *)RK_SPDIF_RK3366 },
6163
{},
6264
};
6365
MODULE_DEVICE_TABLE(of, rk_spdif_match);
@@ -103,8 +105,8 @@ static int __maybe_unused rk_spdif_runtime_resume(struct device *dev)
103105
}
104106

105107
static int rk_spdif_hw_params(struct snd_pcm_substream *substream,
106-
struct snd_pcm_hw_params *params,
107-
struct snd_soc_dai *dai)
108+
struct snd_pcm_hw_params *params,
109+
struct snd_soc_dai *dai)
108110
{
109111
struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai);
110112
unsigned int val = SPDIF_CFGR_HALFWORD_ENABLE;
@@ -137,15 +139,15 @@ static int rk_spdif_hw_params(struct snd_pcm_substream *substream,
137139
}
138140

139141
ret = regmap_update_bits(spdif->regmap, SPDIF_CFGR,
140-
SPDIF_CFGR_CLK_DIV_MASK | SPDIF_CFGR_HALFWORD_ENABLE |
141-
SDPIF_CFGR_VDW_MASK,
142-
val);
142+
SPDIF_CFGR_CLK_DIV_MASK |
143+
SPDIF_CFGR_HALFWORD_ENABLE |
144+
SDPIF_CFGR_VDW_MASK, val);
143145

144146
return ret;
145147
}
146148

147149
static int rk_spdif_trigger(struct snd_pcm_substream *substream,
148-
int cmd, struct snd_soc_dai *dai)
150+
int cmd, struct snd_soc_dai *dai)
149151
{
150152
struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai);
151153
int ret;
@@ -155,31 +157,31 @@ static int rk_spdif_trigger(struct snd_pcm_substream *substream,
155157
case SNDRV_PCM_TRIGGER_RESUME:
156158
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
157159
ret = regmap_update_bits(spdif->regmap, SPDIF_DMACR,
158-
SPDIF_DMACR_TDE_ENABLE |
159-
SPDIF_DMACR_TDL_MASK,
160-
SPDIF_DMACR_TDE_ENABLE |
161-
SPDIF_DMACR_TDL(16));
160+
SPDIF_DMACR_TDE_ENABLE |
161+
SPDIF_DMACR_TDL_MASK,
162+
SPDIF_DMACR_TDE_ENABLE |
163+
SPDIF_DMACR_TDL(16));
162164

163165
if (ret != 0)
164166
return ret;
165167

166168
ret = regmap_update_bits(spdif->regmap, SPDIF_XFER,
167-
SPDIF_XFER_TXS_START,
168-
SPDIF_XFER_TXS_START);
169+
SPDIF_XFER_TXS_START,
170+
SPDIF_XFER_TXS_START);
169171
break;
170172
case SNDRV_PCM_TRIGGER_SUSPEND:
171173
case SNDRV_PCM_TRIGGER_STOP:
172174
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
173175
ret = regmap_update_bits(spdif->regmap, SPDIF_DMACR,
174-
SPDIF_DMACR_TDE_ENABLE,
175-
SPDIF_DMACR_TDE_DISABLE);
176+
SPDIF_DMACR_TDE_ENABLE,
177+
SPDIF_DMACR_TDE_DISABLE);
176178

177179
if (ret != 0)
178180
return ret;
179181

180182
ret = regmap_update_bits(spdif->regmap, SPDIF_XFER,
181-
SPDIF_XFER_TXS_START,
182-
SPDIF_XFER_TXS_STOP);
183+
SPDIF_XFER_TXS_START,
184+
SPDIF_XFER_TXS_STOP);
183185
break;
184186
default:
185187
ret = -EINVAL;
@@ -247,6 +249,7 @@ static bool rk_spdif_rd_reg(struct device *dev, unsigned int reg)
247249
case SPDIF_INTCR:
248250
case SPDIF_INTSR:
249251
case SPDIF_XFER:
252+
case SPDIF_SMPDR:
250253
return true;
251254
default:
252255
return false;
@@ -258,6 +261,7 @@ static bool rk_spdif_volatile_reg(struct device *dev, unsigned int reg)
258261
switch (reg) {
259262
case SPDIF_INTSR:
260263
case SPDIF_SDBLR:
264+
case SPDIF_SMPDR:
261265
return true;
262266
default:
263267
return false;
@@ -291,7 +295,7 @@ static int rk_spdif_probe(struct platform_device *pdev)
291295
grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
292296
if (IS_ERR(grf)) {
293297
dev_err(&pdev->dev,
294-
"rockchip_spdif missing 'rockchip,grf' \n");
298+
"rockchip_spdif missing 'rockchip,grf'\n");
295299
return PTR_ERR(grf);
296300
}
297301

0 commit comments

Comments
 (0)