* [alsa-devel] [PATCH v3 0/4] Sound support for Exynos4412 Trats2 board @ 2015-01-22 11:17 Inha Song 2015-01-22 11:17 ` [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 Inha Song ` (3 more replies) 0 siblings, 4 replies; 11+ messages in thread From: Inha Song @ 2015-01-22 11:17 UTC (permalink / raw) To: linux-arm-kernel This patch-set adds basic sound support for the Trats2 boards. It just support primary I2s and external speaker playback. Changes in v3: - Set clock out parent to XUSBXTI in pmu_system_controller DT node. Changes in v2: - Remove unnecessary lines in Trats2 machine driver - move clock enable/disable to .startup / .shutdown - Fix code style issues - Remove mclk DT property in Trats2 sound and add MCLK1 property in WM1811 node. (MCLK1 is optional property in WM8994 node - refer: Document/devicetree/bindings/sound/wm8994.txt) - Use mclk that defined in WM1811 DT node. - Add "samsung,audio-codec" property to required properties. Inha Song (4): ASoC: samsung: Add machine driver for Trats2 ASoC: samsung: Document Trats2 audio subsystem bindings ARM: dts: set clock out parent to XUSBXTI ARM: dts: Add sound nodes for exynos4412-trats2 .../bindings/sound/samsung,trats2-wm1811.txt | 25 +++ arch/arm/boot/dts/exynos4.dtsi | 2 + arch/arm/boot/dts/exynos4412-trats2.dts | 37 ++++ sound/soc/samsung/Kconfig | 8 + sound/soc/samsung/Makefile | 2 + sound/soc/samsung/trats2_wm1811.c | 218 +++++++++++++++++++++ 6 files changed, 292 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/samsung,trats2-wm1811.txt create mode 100644 sound/soc/samsung/trats2_wm1811.c -- 2.0.0.390.gcb682f8 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 2015-01-22 11:17 [alsa-devel] [PATCH v3 0/4] Sound support for Exynos4412 Trats2 board Inha Song @ 2015-01-22 11:17 ` Inha Song 2015-01-22 12:16 ` Sylwester Nawrocki 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 2/4] ASoC: samsung: Document Trats2 audio subsystem bindings Inha Song ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Inha Song @ 2015-01-22 11:17 UTC (permalink / raw) To: linux-arm-kernel This patch add the sound machine driver for Trats2 board. The codec operate in master mode. Signed-off-by: Inha Song <ideal.song@samsung.com> --- sound/soc/samsung/Kconfig | 8 ++ sound/soc/samsung/Makefile | 2 + sound/soc/samsung/trats2_wm1811.c | 218 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 sound/soc/samsung/trats2_wm1811.c diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index fc67f97..8031423 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -245,3 +245,11 @@ config SND_SOC_ARNDALE_RT5631_ALC5631 depends on SND_SOC_SAMSUNG select SND_SAMSUNG_I2S select SND_SOC_RT5631 + +config SND_SOC_SAMSUNG_TRATS2_WM1811 + tristate "SoC I2S Audio support for WM1811 on Tizen Trats2 board" + depends on SND_SOC_SAMSUNG + select SND_SOC_WM8994 + select SND_SAMSUNG_I2S + help + Say Y if you want to add support for SoC audio on the Tizen Trats2 board. diff --git a/sound/soc/samsung/Makefile b/sound/soc/samsung/Makefile index 31e3dba..e2b7b1b 100644 --- a/sound/soc/samsung/Makefile +++ b/sound/soc/samsung/Makefile @@ -46,6 +46,7 @@ snd-soc-littlemill-objs := littlemill.o snd-soc-bells-objs := bells.o snd-soc-odroidx2-max98090-objs := odroidx2_max98090.o snd-soc-arndale-rt5631-objs := arndale_rt5631.o +snd-soc-trats2-wm1811-objs := trats2_wm1811.o obj-$(CONFIG_SND_SOC_SAMSUNG_JIVE_WM8750) += snd-soc-jive-wm8750.o obj-$(CONFIG_SND_SOC_SAMSUNG_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o @@ -73,3 +74,4 @@ obj-$(CONFIG_SND_SOC_LITTLEMILL) += snd-soc-littlemill.o obj-$(CONFIG_SND_SOC_BELLS) += snd-soc-bells.o obj-$(CONFIG_SND_SOC_ODROIDX2) += snd-soc-odroidx2-max98090.o obj-$(CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631) += snd-soc-arndale-rt5631.o +obj-$(CONFIG_SND_SOC_SAMSUNG_TRATS2_WM1811) += snd-soc-trats2-wm1811.o diff --git a/sound/soc/samsung/trats2_wm1811.c b/sound/soc/samsung/trats2_wm1811.c new file mode 100644 index 0000000..b937612 --- /dev/null +++ b/sound/soc/samsung/trats2_wm1811.c @@ -0,0 +1,218 @@ +/* + * Copyright (C) 2015 Samsung Electronics Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#include <linux/of.h> +#include <linux/module.h> +#include <linux/clk.h> +#include <sound/soc.h> +#include <sound/pcm_params.h> +#include "i2s.h" +#include "../codecs/wm8994.h" + +struct trats2_machine_priv { + struct clk *clk_mclk; +}; + +static struct trats2_machine_priv trats2_wm1811_priv; + +static const struct snd_kcontrol_new trats2_controls[] = { + SOC_DAPM_PIN_SWITCH("SPK"), +}; + +static const struct snd_soc_dapm_widget trats2_dapm_widgets[] = { + SND_SOC_DAPM_SPK("SPK", NULL), +}; + +static int trats2_aif1_hw_params(struct snd_pcm_substream *substream, + struct snd_pcm_hw_params *params) +{ + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct snd_soc_dai *codec_dai = rtd->codec_dai; + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(rtd->card); + unsigned int sysclk_rate; + unsigned int mclk_rate = + (unsigned int)clk_get_rate(priv->clk_mclk); + int ret; + + /* SYSCLK must be greater than 4.096MHz */ + if (params_rate(params) == 8000 || params_rate(params) == 11025) + sysclk_rate = params_rate(params) * 512; + else + sysclk_rate = params_rate(params) * 256; + + /* Set the codec FLL1 */ + ret = snd_soc_dai_set_pll(codec_dai, WM8994_FLL1, WM8994_FLL_SRC_MCLK1, + mclk_rate, sysclk_rate); + if (ret < 0) { + dev_err(codec_dai->dev, "Failed to set FLL1: %d\n", ret); + return ret; + } + + /* Set the codec SYSCLK */ + ret = snd_soc_dai_set_sysclk(codec_dai, WM8994_SYSCLK_FLL1, + sysclk_rate, SND_SOC_CLOCK_IN); + if (ret < 0) { + dev_err(codec_dai->dev, "Failed to set SYSCLK: %d\n", ret); + return ret; + } + + return 0; +} + +static int trats2_aif1_startup(struct snd_pcm_substream *substream) +{ + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(rtd->card); + int ret; + + ret = clk_prepare_enable(priv->clk_mclk); + if (ret) { + dev_err(rtd->card->dev, "Failed to enable mclk: %d\n", ret); + return ret; + } + + return 0; +} + +static void trats2_aif1_shutdown(struct snd_pcm_substream *substream) +{ + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(rtd->card); + + clk_disable_unprepare(priv->clk_mclk); +} + +static const struct snd_soc_ops trats2_aif1_ops = { + .startup = trats2_aif1_startup, + .shutdown = trats2_aif1_shutdown, + .hw_params = trats2_aif1_hw_params, +}; + +static struct snd_soc_dai_link trats2_dai[] = { + { + .name = "WM1811 AIF1", + .stream_name = "Pri_Dai", + .codec_dai_name = "wm8994-aif1", + .codec_name = "wm8994-codec", + .ops = &trats2_aif1_ops, + .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | + SND_SOC_DAIFMT_CBM_CFM, + }, +}; + +static struct snd_soc_card trats2_card = { + .owner = THIS_MODULE, + + .dai_link = trats2_dai, + .num_links = ARRAY_SIZE(trats2_dai), + + .controls = trats2_controls, + .num_controls = ARRAY_SIZE(trats2_controls), + .dapm_widgets = trats2_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(trats2_dapm_widgets), + + .drvdata = &trats2_wm1811_priv, +}; + +static int trats2_audio_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node; + struct snd_soc_card *card = &trats2_card; + struct device_node *codec_node; + struct snd_soc_dai_link *dai_link = card->dai_link; + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(card); + int ret; + + if (!np) { + dev_err(&pdev->dev, "of node is missing.\n"); + return -ENODEV; + } + + card->dev = &pdev->dev; + + ret = snd_soc_of_parse_card_name(card, "samsung,model"); + if (ret) { + dev_err(&pdev->dev, + "Card name is not provided\n"); + return ret; + } + + ret = snd_soc_of_parse_audio_routing(card, "samsung,audio-routing"); + if (ret) { + dev_err(&pdev->dev, "Audio routing is not provided\n"); + return ret; + } + + dai_link->cpu_of_node = of_parse_phandle(np, + "samsung,i2s-controller", 0); + if (dai_link->cpu_of_node == NULL) { + dev_err(&pdev->dev, "i2s-controller property parse error\n"); + return -EINVAL; + } + + dai_link->platform_of_node = dai_link->cpu_of_node; + + codec_node = of_parse_phandle(np, "samsung,audio-codec", 0); + if (codec_node == NULL) { + dev_err(&pdev->dev, "audio-codec property parse error\n"); + return -EINVAL; + } + + priv->clk_mclk = of_clk_get_by_name(codec_node, "MCLK1"); + if (IS_ERR(priv->clk_mclk)) { + dev_err(&pdev->dev, "Failed to get mclk clock\n"); + of_node_put(codec_node); + return PTR_ERR(priv->clk_mclk); + } + of_node_put(codec_node); + + ret = devm_snd_soc_register_card(&pdev->dev, card); + if (ret) { + dev_err(&pdev->dev, "Failed to register card: %d\n", ret); + goto clk_put; + } + return 0; + +clk_put: + clk_put(priv->clk_mclk); + return ret; +} + +static int trats2_audio_remove(struct platform_device *pdev) +{ + struct snd_soc_card *card = platform_get_drvdata(pdev); + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(card); + + clk_put(priv->clk_mclk); + + return 0; +} + +static const struct of_device_id trats2_audio_of_match[] = { + { .compatible = "samsung,trats2-audio", }, + { }, +}; +MODULE_DEVICE_TABLE(of, trats2_audio_of_match); + +static struct platform_driver trats2_audio_driver = { + .driver = { + .name = "trats2-audio", + .owner = THIS_MODULE, + .pm = &snd_soc_pm_ops, + .of_match_table = trats2_audio_of_match, + }, + .probe = trats2_audio_probe, + .remove = trats2_audio_remove, +}; + +module_platform_driver(trats2_audio_driver); + +MODULE_AUTHOR("Inha Song <ideal.song@samsung.com>"); +MODULE_DESCRIPTION("ALSA SoC Trats2 Audio Support"); +MODULE_LICENSE("GPL v2"); -- 2.0.0.390.gcb682f8 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 2015-01-22 11:17 ` [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 Inha Song @ 2015-01-22 12:16 ` Sylwester Nawrocki 2015-01-23 0:56 ` Inha Song 0 siblings, 1 reply; 11+ messages in thread From: Sylwester Nawrocki @ 2015-01-22 12:16 UTC (permalink / raw) To: linux-arm-kernel On 22/01/15 12:17, Inha Song wrote: > diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig > index fc67f97..8031423 100644 > --- a/sound/soc/samsung/Kconfig > +++ b/sound/soc/samsung/Kconfig > @@ -245,3 +245,11 @@ config SND_SOC_ARNDALE_RT5631_ALC5631 > depends on SND_SOC_SAMSUNG > select SND_SAMSUNG_I2S > select SND_SOC_RT5631 > + > +config SND_SOC_SAMSUNG_TRATS2_WM1811 > + tristate "SoC I2S Audio support for WM1811 on Tizen Trats2 board" > + depends on SND_SOC_SAMSUNG > + select SND_SOC_WM8994 > + select SND_SAMSUNG_I2S Shouldn't you also select the MFD part of WM8994 here ? > +++ b/sound/soc/samsung/trats2_wm1811.c > @@ -0,0 +1,218 @@ > +static struct snd_soc_dai_link trats2_dai[] = { > + { > + .name = "WM1811 AIF1", > + .stream_name = "Pri_Dai", Could we have a less cryptic name here, e.g. "HiFi Primary" ? > + .codec_dai_name = "wm8994-aif1", > + .codec_name = "wm8994-codec", > + .ops = &trats2_aif1_ops, > + .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | > + SND_SOC_DAIFMT_CBM_CFM, > + }, > +}; > +static int trats2_audio_probe(struct platform_device *pdev) > +{ > + struct device_node *np = pdev->dev.of_node; > + struct snd_soc_card *card = &trats2_card; > + struct device_node *codec_node; > + struct snd_soc_dai_link *dai_link = card->dai_link; > + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(card); > + int ret; > + > + if (!np) { > + dev_err(&pdev->dev, "of node is missing.\n"); > + return -ENODEV; I'd say this whole np test could be dropped, we will fail right below at the snd_soc_of_parse_card_name() function call if np is NULL. Such a situation seems highly unlikely anyway. > + } > + > + card->dev = &pdev->dev; > + > + ret = snd_soc_of_parse_card_name(card, "samsung,model"); > + if (ret) { > + dev_err(&pdev->dev, > + "Card name is not provided\n"); I guess it would fit in a single line. > + return ret; > + } > + > +static struct platform_driver trats2_audio_driver = { > + .driver = { > + .name = "trats2-audio", > + .owner = THIS_MODULE, You can drop this .owner field assignment, it's also done in module_platform_driver() macro. > + .pm = &snd_soc_pm_ops, > + .of_match_table = trats2_audio_of_match, > + }, > + .probe = trats2_audio_probe, > + .remove = trats2_audio_remove, > +}; > + > +module_platform_driver(trats2_audio_driver); -- Regards, Sylwester ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 2015-01-22 12:16 ` Sylwester Nawrocki @ 2015-01-23 0:56 ` Inha Song 0 siblings, 0 replies; 11+ messages in thread From: Inha Song @ 2015-01-23 0:56 UTC (permalink / raw) To: linux-arm-kernel Hi, Thanks for your review. On Thu, 22 Jan 2015 13:16:03 +0100 Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > On 22/01/15 12:17, Inha Song wrote: > > diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig > > index fc67f97..8031423 100644 > > --- a/sound/soc/samsung/Kconfig > > +++ b/sound/soc/samsung/Kconfig > > @@ -245,3 +245,11 @@ config SND_SOC_ARNDALE_RT5631_ALC5631 > > depends on SND_SOC_SAMSUNG > > select SND_SAMSUNG_I2S > > select SND_SOC_RT5631 > > + > > +config SND_SOC_SAMSUNG_TRATS2_WM1811 > > + tristate "SoC I2S Audio support for WM1811 on Tizen Trats2 board" > > + depends on SND_SOC_SAMSUNG > > + select SND_SOC_WM8994 > > + select SND_SAMSUNG_I2S > > Shouldn't you also select the MFD part of WM8994 here ? Maybe, I will add also "select MFD_WM8994" > > > +++ b/sound/soc/samsung/trats2_wm1811.c > > @@ -0,0 +1,218 @@ > > > +static struct snd_soc_dai_link trats2_dai[] = { > > + { > > + .name = "WM1811 AIF1", > > + .stream_name = "Pri_Dai", > > Could we have a less cryptic name here, e.g. "HiFi Primary" ? Looks like "HiFi Primary", I will fix. > > > + .codec_dai_name = "wm8994-aif1", > > + .codec_name = "wm8994-codec", > > + .ops = &trats2_aif1_ops, > > + .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | > > + SND_SOC_DAIFMT_CBM_CFM, > > + }, > > +}; > > > +static int trats2_audio_probe(struct platform_device *pdev) > > +{ > > + struct device_node *np = pdev->dev.of_node; > > + struct snd_soc_card *card = &trats2_card; > > + struct device_node *codec_node; > > + struct snd_soc_dai_link *dai_link = card->dai_link; > > + struct trats2_machine_priv *priv = snd_soc_card_get_drvdata(card); > > + int ret; > > + > > + if (!np) { > > + dev_err(&pdev->dev, "of node is missing.\n"); > > + return -ENODEV; > > I'd say this whole np test could be dropped, we will fail right below > at the snd_soc_of_parse_card_name() function call if np is NULL. > Such a situation seems highly unlikely anyway. I will remove :) > > > + } > > + > > + card->dev = &pdev->dev; > > + > > + ret = snd_soc_of_parse_card_name(card, "samsung,model"); > > + if (ret) { > > + dev_err(&pdev->dev, > > + "Card name is not provided\n"); > > I guess it would fit in a single line. Oh, Thanks. > > > + return ret; > > + } > > + > > > +static struct platform_driver trats2_audio_driver = { > > + .driver = { > > + .name = "trats2-audio", > > + .owner = THIS_MODULE, > > You can drop this .owner field assignment, it's also done in > module_platform_driver() macro. > Yes, I will fix based on your comments :) Thanks, Best Regards, Inha Song. > > + .pm = &snd_soc_pm_ops, > > + .of_match_table = trats2_audio_of_match, > > + }, > > + .probe = trats2_audio_probe, > > + .remove = trats2_audio_remove, > > +}; > > + > > +module_platform_driver(trats2_audio_driver); > > -- > Regards, > Sylwester > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 2/4] ASoC: samsung: Document Trats2 audio subsystem bindings 2015-01-22 11:17 [alsa-devel] [PATCH v3 0/4] Sound support for Exynos4412 Trats2 board Inha Song 2015-01-22 11:17 ` [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 Inha Song @ 2015-01-22 11:18 ` Inha Song 2015-01-22 12:17 ` Sylwester Nawrocki 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI Inha Song 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 4/4] ARM: dts: Add sound nodes for exynos4412-trats2 Inha Song 3 siblings, 1 reply; 11+ messages in thread From: Inha Song @ 2015-01-22 11:18 UTC (permalink / raw) To: linux-arm-kernel This patch add Trats2 audio subsystem bindings document. Signed-off-by: Inha Song <ideal.song@samsung.com> --- .../bindings/sound/samsung,trats2-wm1811.txt | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/samsung,trats2-wm1811.txt diff --git a/Documentation/devicetree/bindings/sound/samsung,trats2-wm1811.txt b/Documentation/devicetree/bindings/sound/samsung,trats2-wm1811.txt new file mode 100644 index 0000000..319ff07 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/samsung,trats2-wm1811.txt @@ -0,0 +1,25 @@ +Samsung Exynos Trats2 audio with WM1811 codec + +Required properties: + + - compatible : Must be "samsung,trats2-audio" + - samsung,i2s-controller : The phandle of the I2S controller + - samsung,model : The user visible name of this sound + - samsung,audio-codec : The phandle of the WM1811 audio codec + - samsung,audio-routing : A list of the connections between audio + components. each entry is a pair of strings, the first being the + connection's sink, the second being the connection's source + +Example: + +sound { + compatible = "samsung,trats2-audio"; + samsung,i2s-controller = <&i2s0>; + samsung,model = "Trats2"; + samsung,audio-codec = <&wm1811>; + samsung,audio-routing = + "SPK", "SPKOUTLN", + "SPK", "SPKOUTLP", + "SPK", "SPKOUTRN", + "SPK", "SPKOUTRP"; +}; -- 2.0.0.390.gcb682f8 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 2/4] ASoC: samsung: Document Trats2 audio subsystem bindings 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 2/4] ASoC: samsung: Document Trats2 audio subsystem bindings Inha Song @ 2015-01-22 12:17 ` Sylwester Nawrocki 0 siblings, 0 replies; 11+ messages in thread From: Sylwester Nawrocki @ 2015-01-22 12:17 UTC (permalink / raw) To: linux-arm-kernel On 22/01/15 12:18, Inha Song wrote: > This patch add Trats2 audio subsystem bindings document. > > Signed-off-by: Inha Song <ideal.song@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI 2015-01-22 11:17 [alsa-devel] [PATCH v3 0/4] Sound support for Exynos4412 Trats2 board Inha Song 2015-01-22 11:17 ` [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 Inha Song 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 2/4] ASoC: samsung: Document Trats2 audio subsystem bindings Inha Song @ 2015-01-22 11:18 ` Inha Song 2015-01-22 12:25 ` Sylwester Nawrocki 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 4/4] ARM: dts: Add sound nodes for exynos4412-trats2 Inha Song 3 siblings, 1 reply; 11+ messages in thread From: Inha Song @ 2015-01-22 11:18 UTC (permalink / raw) To: linux-arm-kernel This patch set clock out parent to XUSBXTI. Signed-off-by: Inha Song <ideal.song@samsung.com> --- arch/arm/boot/dts/exynos4.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index b8168f1..020bbaf 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -141,6 +141,8 @@ pmu_system_controller: system-controller at 10020000 { compatible = "samsung,exynos4210-pmu", "syscon"; reg = <0x10020000 0x4000>; + assigned-clocks = <&pmu_system_controller 0>; + assigned-clock-parents = <&clock CLK_XUSBXTI>; }; dsi_0: dsi at 11C80000 { -- 2.0.0.390.gcb682f8 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI Inha Song @ 2015-01-22 12:25 ` Sylwester Nawrocki 2015-01-23 0:49 ` Inha Song 2015-01-23 6:41 ` Kukjin Kim 0 siblings, 2 replies; 11+ messages in thread From: Sylwester Nawrocki @ 2015-01-22 12:25 UTC (permalink / raw) To: linux-arm-kernel On 22/01/15 12:18, Inha Song wrote: > This patch set clock out parent to XUSBXTI. > > Signed-off-by: Inha Song <ideal.song@samsung.com> > --- > arch/arm/boot/dts/exynos4.dtsi | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index b8168f1..020bbaf 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -141,6 +141,8 @@ > pmu_system_controller: system-controller at 10020000 { > compatible = "samsung,exynos4210-pmu", "syscon"; > reg = <0x10020000 0x4000>; > + assigned-clocks = <&pmu_system_controller 0>; > + assigned-clock-parents = <&clock CLK_XUSBXTI>; > }; Looks good, except it needs to be done only for the Trats2 board, i.e. the PMU device node including these properties should be added to exynos4412-trats2.dts. I think it's fine to make it a one patch including all dts changes. -- Regards, Sylwester ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI 2015-01-22 12:25 ` Sylwester Nawrocki @ 2015-01-23 0:49 ` Inha Song 2015-01-23 6:41 ` Kukjin Kim 1 sibling, 0 replies; 11+ messages in thread From: Inha Song @ 2015-01-23 0:49 UTC (permalink / raw) To: linux-arm-kernel Hi, Thanks for your comment. On Thu, 22 Jan 2015 13:25:07 +0100 Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > On 22/01/15 12:18, Inha Song wrote: > > This patch set clock out parent to XUSBXTI. > > > > Signed-off-by: Inha Song <ideal.song@samsung.com> > > --- > > arch/arm/boot/dts/exynos4.dtsi | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > > index b8168f1..020bbaf 100644 > > --- a/arch/arm/boot/dts/exynos4.dtsi > > +++ b/arch/arm/boot/dts/exynos4.dtsi > > @@ -141,6 +141,8 @@ > > pmu_system_controller: system-controller at 10020000 { > > compatible = "samsung,exynos4210-pmu", "syscon"; > > reg = <0x10020000 0x4000>; > > + assigned-clocks = <&pmu_system_controller 0>; > > + assigned-clock-parents = <&clock CLK_XUSBXTI>; > > }; > > Looks good, except it needs to be done only for the Trats2 board, i.e. > the PMU device node including these properties should be added to > exynos4412-trats2.dts. I think it's fine to make it a one patch including > all dts changes. Opps! I understand. I will move this node to exynos4412-trats2.dts. &pmu_system_controller { assigned-clocks = <&pmu_system_controller 0>; assigned-clock-parents = <&clock CLK_XUSBXTI>; }; Thanks! Best Regards, Inha Song. > > > -- > Regards, > Sylwester > _______________________________________________ > Alsa-devel mailing list > Alsa-devel at alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI 2015-01-22 12:25 ` Sylwester Nawrocki 2015-01-23 0:49 ` Inha Song @ 2015-01-23 6:41 ` Kukjin Kim 1 sibling, 0 replies; 11+ messages in thread From: Kukjin Kim @ 2015-01-23 6:41 UTC (permalink / raw) To: linux-arm-kernel Sylwester Nawrocki wrote: > > On 22/01/15 12:18, Inha Song wrote: > > This patch set clock out parent to XUSBXTI. > > > > Signed-off-by: Inha Song <ideal.song@samsung.com> > > --- > > arch/arm/boot/dts/exynos4.dtsi | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > > index b8168f1..020bbaf 100644 > > --- a/arch/arm/boot/dts/exynos4.dtsi > > +++ b/arch/arm/boot/dts/exynos4.dtsi > > @@ -141,6 +141,8 @@ > > pmu_system_controller: system-controller at 10020000 { > > compatible = "samsung,exynos4210-pmu", "syscon"; > > reg = <0x10020000 0x4000>; > > + assigned-clocks = <&pmu_system_controller 0>; > > + assigned-clock-parents = <&clock CLK_XUSBXTI>; > > }; > > Looks good, except it needs to be done only for the Trats2 board, i.e. > the PMU device node including these properties should be added to > exynos4412-trats2.dts. I think it's fine to make it a one patch including > all dts changes. > Yeah, I agree with Sylwester's suggestion. Please make a one patch for the updating DT for sound support and adding me in Cc for the change for relevant driver changes as well. Thanks, Kukjin ^ permalink raw reply [flat|nested] 11+ messages in thread
* [alsa-devel] [PATCH v3 4/4] ARM: dts: Add sound nodes for exynos4412-trats2 2015-01-22 11:17 [alsa-devel] [PATCH v3 0/4] Sound support for Exynos4412 Trats2 board Inha Song ` (2 preceding siblings ...) 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI Inha Song @ 2015-01-22 11:18 ` Inha Song 3 siblings, 0 replies; 11+ messages in thread From: Inha Song @ 2015-01-22 11:18 UTC (permalink / raw) To: linux-arm-kernel This patch add WM1811 audio codec, I2S interface and the sound machine nodes to enable audio on exynos4412-trats2 board. Signed-off-by: Inha Song <ideal.song@samsung.com> --- arch/arm/boot/dts/exynos4412-trats2.dts | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index 29231b4..ec1acaf 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts @@ -203,6 +203,25 @@ }; }; + i2c at 138A0000 { + samsung,i2c-sda-delay = <100>; + samsung,i2c-slave-addr = <0x10>; + samsung,i2c-max-bus-freq = <100000>; + pinctrl-0 = <&i2c4_bus>; + pinctrl-names = "default"; + status = "okay"; + + wm1811: wm1811 at 1a { + compatible = "wlf,wm1811"; + reg = <0x1a>; + clocks = <&pmu_system_controller 0>; + clock-names = "MCLK1"; + DCVDD-supply = <&ldo3_reg>; + DBVDD1-supply = <&ldo3_reg>; + wlf,ldo1ena = <&gpj0 4 0>; + }; + }; + i2c at 138D0000 { samsung,i2c-sda-delay = <100>; samsung,i2c-slave-addr = <0x10>; @@ -838,6 +857,24 @@ }; }; + i2s0: i2s at 03830000 { + pinctrl-0 = <&i2s0_bus>; + pinctrl-names = "default"; + status = "okay"; + }; + + sound { + compatible = "samsung,trats2-audio"; + samsung,i2s-controller = <&i2s0>; + samsung,model = "Trats2"; + samsung,audio-codec = <&wm1811>; + samsung,audio-routing = + "SPK", "SPKOUTLN", + "SPK", "SPKOUTLP", + "SPK", "SPKOUTRN", + "SPK", "SPKOUTRP"; + }; + exynos-usbphy at 125B0000 { status = "okay"; }; -- 2.0.0.390.gcb682f8 ^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-01-23 6:41 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-01-22 11:17 [alsa-devel] [PATCH v3 0/4] Sound support for Exynos4412 Trats2 board Inha Song 2015-01-22 11:17 ` [alsa-devel] [PATCH v3 1/4] ASoC: samsung: Add machine driver for Trats2 Inha Song 2015-01-22 12:16 ` Sylwester Nawrocki 2015-01-23 0:56 ` Inha Song 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 2/4] ASoC: samsung: Document Trats2 audio subsystem bindings Inha Song 2015-01-22 12:17 ` Sylwester Nawrocki 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 3/4] ARM: dts: set clock out parent to XUSBXTI Inha Song 2015-01-22 12:25 ` Sylwester Nawrocki 2015-01-23 0:49 ` Inha Song 2015-01-23 6:41 ` Kukjin Kim 2015-01-22 11:18 ` [alsa-devel] [PATCH v3 4/4] ARM: dts: Add sound nodes for exynos4412-trats2 Inha Song
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).