Commit dac825b6 authored by Mark Brown's avatar Mark Brown

Merge series "Patches to update for rockchip spdif" from Sugar Zhang <sugar.zhang@rock-chips.com>:

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
parents 11a08e05 e79ef3c2
...@@ -23,6 +23,7 @@ properties: ...@@ -23,6 +23,7 @@ properties:
- const: rockchip,rk3366-spdif - const: rockchip,rk3366-spdif
- const: rockchip,rk3368-spdif - const: rockchip,rk3368-spdif
- const: rockchip,rk3399-spdif - const: rockchip,rk3399-spdif
- const: rockchip,rk3568-spdif
- items: - items:
- enum: - enum:
- rockchip,rk3188-spdif - rockchip,rk3188-spdif
......
...@@ -58,6 +58,8 @@ static const struct of_device_id rk_spdif_match[] __maybe_unused = { ...@@ -58,6 +58,8 @@ static const struct of_device_id rk_spdif_match[] __maybe_unused = {
.data = (void *)RK_SPDIF_RK3366 }, .data = (void *)RK_SPDIF_RK3366 },
{ .compatible = "rockchip,rk3399-spdif", { .compatible = "rockchip,rk3399-spdif",
.data = (void *)RK_SPDIF_RK3366 }, .data = (void *)RK_SPDIF_RK3366 },
{ .compatible = "rockchip,rk3568-spdif",
.data = (void *)RK_SPDIF_RK3366 },
{}, {},
}; };
MODULE_DEVICE_TABLE(of, rk_spdif_match); MODULE_DEVICE_TABLE(of, rk_spdif_match);
...@@ -137,9 +139,9 @@ static int rk_spdif_hw_params(struct snd_pcm_substream *substream, ...@@ -137,9 +139,9 @@ static int rk_spdif_hw_params(struct snd_pcm_substream *substream,
} }
ret = regmap_update_bits(spdif->regmap, SPDIF_CFGR, ret = regmap_update_bits(spdif->regmap, SPDIF_CFGR,
SPDIF_CFGR_CLK_DIV_MASK | SPDIF_CFGR_HALFWORD_ENABLE | SPDIF_CFGR_CLK_DIV_MASK |
SDPIF_CFGR_VDW_MASK, SPDIF_CFGR_HALFWORD_ENABLE |
val); SDPIF_CFGR_VDW_MASK, val);
return ret; return ret;
} }
...@@ -247,6 +249,7 @@ static bool rk_spdif_rd_reg(struct device *dev, unsigned int reg) ...@@ -247,6 +249,7 @@ static bool rk_spdif_rd_reg(struct device *dev, unsigned int reg)
case SPDIF_INTCR: case SPDIF_INTCR:
case SPDIF_INTSR: case SPDIF_INTSR:
case SPDIF_XFER: case SPDIF_XFER:
case SPDIF_SMPDR:
return true; return true;
default: default:
return false; return false;
...@@ -258,6 +261,7 @@ static bool rk_spdif_volatile_reg(struct device *dev, unsigned int reg) ...@@ -258,6 +261,7 @@ static bool rk_spdif_volatile_reg(struct device *dev, unsigned int reg)
switch (reg) { switch (reg) {
case SPDIF_INTSR: case SPDIF_INTSR:
case SPDIF_SDBLR: case SPDIF_SDBLR:
case SPDIF_SMPDR:
return true; return true;
default: default:
return false; return false;
...@@ -291,7 +295,7 @@ static int rk_spdif_probe(struct platform_device *pdev) ...@@ -291,7 +295,7 @@ static int rk_spdif_probe(struct platform_device *pdev)
grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
if (IS_ERR(grf)) { if (IS_ERR(grf)) {
dev_err(&pdev->dev, dev_err(&pdev->dev,
"rockchip_spdif missing 'rockchip,grf' \n"); "rockchip_spdif missing 'rockchip,grf'\n");
return PTR_ERR(grf); return PTR_ERR(grf);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment