Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1713538 > unrolled thread
| Started by | Jeffy Chen <jeffy.chen@rock-chips.com> |
|---|---|
| First post | 2017-08-17 06:50 +0200 |
| Last post | 2017-08-17 06:50 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v3 0/9] ASoC: rockchip: Parse dai links from dts Jeffy Chen <jeffy.chen@rock-chips.com> - 2017-08-17 06:50 +0200
[PATCH v3 3/9] ASoC: rockchip: Use codec of_node and dai_name for rt5514 dsp Jeffy Chen <jeffy.chen@rock-chips.com> - 2017-08-17 06:50 +0200
| From | Jeffy Chen <jeffy.chen@rock-chips.com> |
|---|---|
| Date | 2017-08-17 06:50 +0200 |
| Subject | [PATCH v3 0/9] ASoC: rockchip: Parse dai links from dts |
| Message-ID | <ufkUN-8bv-7@gated-at.bofh.it> |
Currently we are using a fixed list of dai links in the driver.
This serial of patches would let the driver parse dai links from
dts, so that we can make some of them optional for future boards.
Tested on my chromebook bob(with cros 4.4 kernel), it still works
after disabled rt5514 codecs in the dts.
Changes in v3:
Use compatible to match audio codecs
-- Suggested-by Matthias Kaehlcke <mka@chromium.org>
Changes in v2:
Let rockchip,codec-names be a required property, because we plan to
add more supported codecs to the fixed dai link list in the driver.
Jeffy Chen (9):
ASoC: rt5514: Switch to snd_soc_register_codec
ASoC: rockchip: Remove obsolete dmic-delay
ASoC: rockchip: Use codec of_node and dai_name for rt5514 dsp
arm64: dts: rockchip: Add rt5514 dsp for Gru
arm64: dts: rockchip: Update rt5514 devices' compatible for Gru
ASoC: rockchip: Parse dai links from dts
ASoC: rockchip: Add support for DP codec
ASoC: rockchip: Add support for DMIC codec
dt-bindings: ASoC: rockchip: Update description of rockchip,codec
.../bindings/sound/rockchip,rk3399-gru-sound.txt | 9 +-
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 7 +-
sound/soc/codecs/rt5514-spi.c | 19 +-
sound/soc/rockchip/Kconfig | 2 +
sound/soc/rockchip/rk3399_gru_sound.c | 263 ++++++++++++++-------
5 files changed, 196 insertions(+), 104 deletions(-)
--
2.11.0
[toc] | [next] | [standalone]
| From | Jeffy Chen <jeffy.chen@rock-chips.com> |
|---|---|
| Date | 2017-08-17 06:50 +0200 |
| Subject | [PATCH v3 3/9] ASoC: rockchip: Use codec of_node and dai_name for rt5514 dsp |
| Message-ID | <ufkUO-8bv-31@gated-at.bofh.it> |
| In reply to | #1713538 |
Currently we are using codec name for rt5514 dsp dai link, use codec
of_node instead.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
Changes in v3: None
Changes in v2: None
sound/soc/rockchip/rk3399_gru_sound.c | 34 ++--------------------------------
1 file changed, 2 insertions(+), 32 deletions(-)
diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c
index 70876d3c34e6..9b7e28703bfb 100644
--- a/sound/soc/rockchip/rk3399_gru_sound.c
+++ b/sound/soc/rockchip/rk3399_gru_sound.c
@@ -242,8 +242,6 @@ enum {
DAILINK_RT5514_DSP,
};
-#define DAILINK_ENTITIES (DAILINK_DA7219 + 1)
-
static struct snd_soc_dai_link rockchip_dailinks[] = {
[DAILINK_MAX98357A] = {
.name = "MAX98357A",
@@ -277,8 +275,7 @@ static struct snd_soc_dai_link rockchip_dailinks[] = {
[DAILINK_RT5514_DSP] = {
.name = "RT5514 DSP",
.stream_name = "Wake on Voice",
- .codec_name = "snd-soc-dummy",
- .codec_dai_name = "snd-soc-dummy-dai",
+ .codec_dai_name = "rt5514-dsp-cpu-dai",
},
};
@@ -295,17 +292,10 @@ static struct snd_soc_card rockchip_sound_card = {
.num_controls = ARRAY_SIZE(rockchip_controls),
};
-static int rockchip_sound_match_stub(struct device *dev, void *data)
-{
- return 1;
-}
-
static int rockchip_sound_probe(struct platform_device *pdev)
{
struct snd_soc_card *card = &rockchip_sound_card;
struct device_node *cpu_node;
- struct device *dev;
- struct device_driver *drv;
int i, ret;
cpu_node = of_parse_phandle(pdev->dev.of_node, "rockchip,cpu", 0);
@@ -314,7 +304,7 @@ static int rockchip_sound_probe(struct platform_device *pdev)
return -EINVAL;
}
- for (i = 0; i < DAILINK_ENTITIES; i++) {
+ for (i = 0; i < ARRAY_SIZE(rockchip_dailinks); i++) {
rockchip_dailinks[i].platform_of_node = cpu_node;
rockchip_dailinks[i].cpu_of_node = cpu_node;
@@ -327,26 +317,6 @@ static int rockchip_sound_probe(struct platform_device *pdev)
}
}
- /**
- * To acquire the spi driver of the rt5514 and set the dai-links names
- * for soc_bind_dai_link
- */
- drv = driver_find("rt5514", &spi_bus_type);
- if (!drv) {
- dev_err(&pdev->dev, "Can not find the rt5514 driver at the spi bus\n");
- return -EINVAL;
- }
-
- dev = driver_find_device(drv, NULL, NULL, rockchip_sound_match_stub);
- if (!dev) {
- dev_err(&pdev->dev, "Can not find the rt5514 device\n");
- return -ENODEV;
- }
-
- rockchip_dailinks[DAILINK_RT5514_DSP].cpu_name = kstrdup_const(dev_name(dev), GFP_KERNEL);
- rockchip_dailinks[DAILINK_RT5514_DSP].cpu_dai_name = kstrdup_const(dev_name(dev), GFP_KERNEL);
- rockchip_dailinks[DAILINK_RT5514_DSP].platform_name = kstrdup_const(dev_name(dev), GFP_KERNEL);
-
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);
--
2.11.0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web