linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update
@ 2012-11-22  4:04 Hebbar, Gururaja
  2012-11-22  4:04 ` [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support Hebbar, Gururaja
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Hebbar, Gururaja @ 2012-11-22  4:04 UTC (permalink / raw)
  To: alsa-devel, davinci-linux-open-source, linux-arm-kernel
  Cc: tony, lrg, broonie, perex, nsekhar, sudhakar.raj,
	gururaja.hebbar, linux-kernel, devicetree-discuss, linux-doc,
	rob

From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com>

1. Add pinctrl for McASP Module
2. Add DT support for Davinci machine platform (resend)

Second commit is a resend after re-basing on latest broonie-asoc/for-next
(v3.7-rc6)

Hebbar, Gururaja (2):
  ASoC: davinci-mcasp: Add pinctrl support
  ASoC: Davinci: machine: Add device tree binding

 .../bindings/sound/davinci-evm-audio.txt           |   66 +++++++
 sound/soc/davinci/davinci-evm.c                    |  185 +++++++++++++++++---
 sound/soc/davinci/davinci-mcasp.c                  |    7 +
 3 files changed, 238 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/davinci-evm-audio.txt

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support
  2012-11-22  4:04 [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja
@ 2012-11-22  4:04 ` Hebbar, Gururaja
  2012-11-26 11:45   ` Mark Brown
  2012-11-22  4:04 ` [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding Hebbar, Gururaja
  2012-11-26 11:41 ` [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja
  2 siblings, 1 reply; 9+ messages in thread
From: Hebbar, Gururaja @ 2012-11-22  4:04 UTC (permalink / raw)
  To: alsa-devel, davinci-linux-open-source, linux-arm-kernel
  Cc: tony, lrg, broonie, perex, nsekhar, sudhakar.raj,
	gururaja.hebbar, linux-kernel, devicetree-discuss, linux-doc,
	rob

From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com>

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
---
:100644 100644 5715595... 76c05d9... M	sound/soc/davinci/davinci-mcasp.c
 sound/soc/davinci/davinci-mcasp.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 5715595..76c05d9 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -25,6 +25,7 @@
 #include <linux/of.h>
 #include <linux/of_platform.h>
 #include <linux/of_device.h>
+#include <linux/pinctrl/consumer.h>
 
 #include <sound/core.h>
 #include <sound/pcm.h>
@@ -1108,6 +1109,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 	struct resource *mem, *ioarea, *res;
 	struct snd_platform_data *pdata;
 	struct davinci_audio_dev *dev;
+	struct pinctrl *pinctrl;
 	int ret;
 
 	if (!pdev->dev.platform_data && !pdev->dev.of_node) {
@@ -1139,6 +1141,11 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 		return -EBUSY;
 	}
 
+	pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+	if (IS_ERR(pinctrl))
+		dev_warn(&pdev->dev,
+			"pins are not configured from the driver\n");
+
 	pm_runtime_enable(&pdev->dev);
 
 	ret = pm_runtime_get_sync(&pdev->dev);
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding
  2012-11-22  4:04 [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja
  2012-11-22  4:04 ` [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support Hebbar, Gururaja
@ 2012-11-22  4:04 ` Hebbar, Gururaja
  2012-11-26 11:56   ` Mark Brown
  2012-11-26 11:41 ` [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja
  2 siblings, 1 reply; 9+ messages in thread
From: Hebbar, Gururaja @ 2012-11-22  4:04 UTC (permalink / raw)
  To: alsa-devel, davinci-linux-open-source, linux-arm-kernel
  Cc: tony, lrg, broonie, perex, nsekhar, sudhakar.raj,
	gururaja.hebbar, linux-kernel, devicetree-discuss, linux-doc,
	rob

From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com>

Device tree support for Davinci Machine driver

When the board boots with device tree, the driver will receive card,
codec, dai interface details (like the card name, DAPM routing map,
phandle for the audio components described in the dts file, codec mclk
speed).
The card will be set up based on this information.
Since the routing is provided via DT we can mark the card fully routed
so core can take care of disconnecting the unused pins.

When here, code indentation and comment style is also fixed

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
---
:000000 100644 0000000... b248014... A	Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
:100644 100644 d55e647... 2af8110... M	sound/soc/davinci/davinci-evm.c
 .../bindings/sound/davinci-evm-audio.txt           |   66 +++++++
 sound/soc/davinci/davinci-evm.c                    |  185 +++++++++++++++++---
 2 files changed, 231 insertions(+), 20 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
new file mode 100644
index 0000000..b248014
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
@@ -0,0 +1,66 @@
+* Texas Instruments SoC audio setups with TLV320AIC3X Codec
+
+Required properties:
+- compatible : "ti,davinci-evm-audio"
+- ti,model : The user-visible name of this sound complex.
+- ti,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. Valid names for sources and
+  sinks are the codec's pins, and the jacks on the board:
+
+  Codec pins:
+
+  * MIC3L
+  * MIC3R
+  * LINE1L
+  * LINE2L
+  * LINE1R
+  * LINE2R
+
+  Board connectors:
+
+  * Headphone Jack
+  * Line Out
+  * Mic Jack
+
+- ti,mcasp-controller : The phandle of the McASP controller
+- ti,audio-codec : The phandle of the TLV320AIC3x audio codec
+- ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec
+
+- dai-data		: A list of DAI data used by SOC code to register
+			  DAI, Codecs platform.
+			  The string index "should" be as shown below.
+dai-data =
+"<DAI Name>", 		"<DAI Stream Name>",
+"<CODEC DAI Name>",	"<true if evm_aic3x_init is required, else false>",
+"<evm ops required (evm_ops or evm_spdif_ops)>";
+
+Here fields
+"<DAI Name>"		: used to indicate the DAI Name
+"<DAI Stream Name>"	: used to indicate the Stream Name
+"<CODEC DAI Name>"	: used to bind the link between Codec DAI and ASOC DAI
+
+Machine related options
+"<true/false>"		: Whether the machine specific initialization
+			: evm_aic3x_init() is required
+
+"<evm ops required>"	: Which hardware ops function is to be used.
+			: (evm_ops or evm_spdif_ops)
+			: use evm-spdif-ops if DAI is working in DIT mode
+			: else use evm-ops. These ops setup hw param callbacks
+			: which are used to setup CODEC/cpu DAI configuration
+			: and codec system clock.
+
+Example:
+
+sound {
+	compatible = "ti,davinci-evm-audio";
+	ti,model = "DA830 EVM";
+	ti,audio-codec = <&tlv320aic3x>;
+	ti,mcasp-controller = <&mcasp1>;
+	ti,codec-clock-rate = <12000000>;
+	dai-data =
+		"TLV320AIC3X", 		"AIC3X",
+		"tlv320aic3x-hifi",	"true",
+		"evm-ops";
+};
diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
index d55e647..2af8110 100644
--- a/sound/soc/davinci/davinci-evm.c
+++ b/sound/soc/davinci/davinci-evm.c
@@ -34,27 +34,38 @@ static int evm_hw_params(struct snd_pcm_substream *substream,
 	struct snd_soc_pcm_runtime *rtd = substream->private_data;
 	struct snd_soc_dai *codec_dai = rtd->codec_dai;
 	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
+	struct snd_soc_codec *codec = rtd->codec;
+	struct snd_soc_card *soc_card = codec->card;
+	struct device_node *np = soc_card->dev->of_node;
 	int ret = 0;
 	unsigned sysclk;
 
-	/* ASP1 on DM355 EVM is clocked by an external oscillator */
-	if (machine_is_davinci_dm355_evm() || machine_is_davinci_dm6467_evm() ||
-	    machine_is_davinci_dm365_evm())
-		sysclk = 27000000;
-
-	/* ASP0 in DM6446 EVM is clocked by U55, as configured by
-	 * board-dm644x-evm.c using GPIOs from U18.  There are six
-	 * options; here we "know" we use a 48 KHz sample rate.
-	 */
-	else if (machine_is_davinci_evm())
-		sysclk = 12288000;
-
-	else if (machine_is_davinci_da830_evm() ||
-				machine_is_davinci_da850_evm())
-		sysclk = 24576000;
-
-	else
-		return -EINVAL;
+	if (np) {
+		ret = of_property_read_u32(np, "ti,codec-clock-rate", &sysclk);
+		if (ret < 0)
+			return ret;
+	} else {
+		/* ASP1 on DM355 EVM is clocked by an external oscillator */
+		if (machine_is_davinci_dm355_evm() ||
+			machine_is_davinci_dm6467_evm() ||
+			machine_is_davinci_dm365_evm())
+			sysclk = 27000000;
+
+		/*
+		 * ASP0 in DM6446 EVM is clocked by U55, as configured by
+		 * board-dm644x-evm.c using GPIOs from U18.  There are six
+		 * options; here we "know" we use a 48 KHz sample rate.
+		 */
+		else if (machine_is_davinci_evm())
+			sysclk = 12288000;
+
+		else if (machine_is_davinci_da830_evm() ||
+					machine_is_davinci_da850_evm())
+			sysclk = 24576000;
+
+		else
+			return -EINVAL;
+	}
 
 	/* set codec DAI configuration */
 	ret = snd_soc_dai_set_fmt(codec_dai, AUDIO_FORMAT);
@@ -132,13 +143,22 @@ static int evm_aic3x_init(struct snd_soc_pcm_runtime *rtd)
 {
 	struct snd_soc_codec *codec = rtd->codec;
 	struct snd_soc_dapm_context *dapm = &codec->dapm;
+	struct device_node *np = codec->card->dev->of_node;
+	int ret;
 
 	/* Add davinci-evm specific widgets */
 	snd_soc_dapm_new_controls(dapm, aic3x_dapm_widgets,
 				  ARRAY_SIZE(aic3x_dapm_widgets));
 
-	/* Set up davinci-evm specific audio path audio_map */
-	snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
+	if (np) {
+		ret = snd_soc_of_parse_audio_routing(codec->card,
+							"ti,audio-routing");
+		if (ret)
+			return ret;
+	} else {
+		/* Set up davinci-evm specific audio path audio_map */
+		snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
+	}
 
 	/* not connected */
 	snd_soc_dapm_disable_pin(dapm, "MONO_LOUT");
@@ -287,6 +307,113 @@ static struct snd_soc_card da850_snd_soc_card = {
 	.num_links = 1,
 };
 
+#if defined(CONFIG_OF)
+/*
+ * This struct is just used as place holder. It will be filled with
+ * data from dt node
+ */
+static struct snd_soc_dai_link evm_dai = {
+};
+
+/* davinci evm audio machine driver */
+static struct snd_soc_card evm_soc_card = {
+	.owner = THIS_MODULE,
+	.dai_link = &evm_dai,
+	.num_links = 1,
+};
+
+static int davinci_evm_probe(struct platform_device *pdev)
+{
+	struct device_node *np = pdev->dev.of_node;
+	const char *stringPtr, *propname;
+	u32 val;
+	int ret = 0;
+
+	propname = "dai-data";
+	val = of_property_count_strings(np, propname);
+	if (val < 0)
+		return val;
+
+	ret = of_property_read_string_index(np, propname, 0, &evm_dai.name);
+	if (ret < 0)
+		return ret;
+
+	ret = of_property_read_string_index(np, propname, 1,
+						&evm_dai.stream_name);
+	if (ret < 0)
+		return ret;
+
+	ret = of_property_read_string_index(np, propname, 2,
+						&evm_dai.codec_dai_name);
+	if (ret < 0)
+		return ret;
+
+	ret = of_property_read_string_index(np, propname, 3, &stringPtr);
+	if (ret < 0)
+		return ret;
+	else
+		if (strcasecmp(stringPtr, "true") == 0)
+			evm_dai.init = evm_aic3x_init;
+
+	ret = of_property_read_string_index(np, propname, 4, &stringPtr);
+	if (ret < 0) {
+		return ret;
+	} else {
+		if (strcasecmp(stringPtr, "evm-ops") == 0)
+			evm_dai.ops = &evm_ops;
+		else if (strcasecmp(stringPtr, "evm-spdif-ops") == 0)
+			evm_dai.ops = &evm_spdif_ops;
+	}
+
+	evm_dai.codec_of_node = of_parse_phandle(np, "ti,audio-codec", 0);
+	if (!evm_dai.codec_of_node)
+		return -EINVAL;
+
+	evm_dai.cpu_of_node = of_parse_phandle(np,
+						"ti,mcasp-controller", 0);
+	if (!evm_dai.cpu_of_node)
+		return -EINVAL;
+
+	evm_dai.platform_of_node = evm_dai.cpu_of_node;
+
+	evm_soc_card.dev = &pdev->dev;
+	ret = snd_soc_of_parse_card_name(&evm_soc_card, "ti,model");
+	if (ret)
+		return ret;
+
+	ret = snd_soc_register_card(&evm_soc_card);
+	if (ret)
+		dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
+
+	return ret;
+}
+
+static int __devexit davinci_evm_remove(struct platform_device *pdev)
+{
+	struct snd_soc_card *card = platform_get_drvdata(pdev);
+
+	snd_soc_unregister_card(card);
+
+	return 0;
+}
+
+static const struct of_device_id davinci_evm_dt_ids[] = {
+	{ .compatible = "ti,davinci-evm-audio", },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, davinci_mcasp_dt_ids);
+
+static struct platform_driver davinci_evm_driver = {
+	.probe		= davinci_evm_probe,
+	.remove		= __devexit_p(davinci_evm_remove),
+	.driver		= {
+		.name	= "davinci_evm",
+		.owner	= THIS_MODULE,
+		.of_match_table = of_match_ptr(davinci_evm_dt_ids),
+	},
+};
+#endif
+
 static struct platform_device *evm_snd_device;
 
 static int __init evm_init(void)
@@ -294,6 +421,14 @@ static int __init evm_init(void)
 	struct snd_soc_card *evm_snd_dev_data;
 	int index;
 	int ret;
+#if defined(CONFIG_OF)
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "ti,davinci-evm-audio");
+	if (np) {
+		return platform_driver_register(&davinci_evm_driver);
+	}
+#endif
 
 	if (machine_is_davinci_evm()) {
 		evm_snd_dev_data = &dm6446_snd_soc_card_evm;
@@ -330,6 +465,16 @@ static int __init evm_init(void)
 
 static void __exit evm_exit(void)
 {
+#if defined(CONFIG_OF)
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "ti,davinci-evm-audio");
+	if (np) {
+		platform_driver_unregister(&davinci_evm_driver);
+		return;
+	}
+#endif
+
 	platform_device_unregister(evm_snd_device);
 }
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* RE: [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update
  2012-11-22  4:04 [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja
  2012-11-22  4:04 ` [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support Hebbar, Gururaja
  2012-11-22  4:04 ` [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding Hebbar, Gururaja
@ 2012-11-26 11:41 ` Hebbar, Gururaja
  2 siblings, 0 replies; 9+ messages in thread
From: Hebbar, Gururaja @ 2012-11-26 11:41 UTC (permalink / raw)
  To: broonie
  Cc: tony, Girdwood, Liam, perex, Nori, Sekhar, Rajashekhara,
	Sudhakar, linux-kernel, devicetree-discuss, linux-doc, rob,
	alsa-devel, davinci-linux-open-source, linux-arm-kernel

Mark,

On Thu, Nov 22, 2012 at 09:34:57, Hebbar, Gururaja wrote:
> From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com>
> 
> 1. Add pinctrl for McASP Module
> 2. Add DT support for Davinci machine platform (resend)
> 
> Second commit is a resend after re-basing on latest broonie-asoc/for-next
> (v3.7-rc6)
> 
> Hebbar, Gururaja (2):
>   ASoC: davinci-mcasp: Add pinctrl support
>   ASoC: Davinci: machine: Add device tree binding

With these 2 patches, DT support for Davinci ASoC will be complete 
(well almost because edma dt binding is yet to be added). 
However it will at least be complete on Davinci platform.

Can you please review them and if it's OK, Could you please accept this series?

> 
>  .../bindings/sound/davinci-evm-audio.txt           |   66 +++++++
>  sound/soc/davinci/davinci-evm.c                    |  185 +++++++++++++++++---
>  sound/soc/davinci/davinci-mcasp.c                  |    7 +
>  3 files changed, 238 insertions(+), 20 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
> 
> -- 
> 1.7.9.5
> 
> 


Regards, 
Gururaja

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support
  2012-11-22  4:04 ` [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support Hebbar, Gururaja
@ 2012-11-26 11:45   ` Mark Brown
  2012-11-27  5:55     ` Peter Korsgaard
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Brown @ 2012-11-26 11:45 UTC (permalink / raw)
  To: Hebbar, Gururaja
  Cc: alsa-devel, davinci-linux-open-source, linux-arm-kernel, tony,
	lrg, perex, nsekhar, sudhakar.raj, linux-kernel,
	devicetree-discuss, linux-doc, rob

[-- Attachment #1: Type: text/plain, Size: 387 bytes --]

On Thu, Nov 22, 2012 at 09:34:58AM +0530, Hebbar, Gururaja wrote:

> +	pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
> +	if (IS_ERR(pinctrl))
> +		dev_warn(&pdev->dev,
> +			"pins are not configured from the driver\n");

Since the driver is happy to continue without the pins why is it
bothering requesting them in the first place?  In other words, this
should be a hard error.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding
  2012-11-22  4:04 ` [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding Hebbar, Gururaja
@ 2012-11-26 11:56   ` Mark Brown
  2012-11-27 12:53     ` Hebbar, Gururaja
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Brown @ 2012-11-26 11:56 UTC (permalink / raw)
  To: Hebbar, Gururaja
  Cc: alsa-devel, davinci-linux-open-source, linux-arm-kernel, tony,
	lrg, perex, nsekhar, sudhakar.raj, linux-kernel,
	devicetree-discuss, linux-doc, rob

[-- Attachment #1: Type: text/plain, Size: 810 bytes --]

On Thu, Nov 22, 2012 at 09:34:59AM +0530, Hebbar, Gururaja wrote:

> +- dai-data		: A list of DAI data used by SOC code to register
> +			  DAI, Codecs platform.
> +			  The string index "should" be as shown below.
> +dai-data =
> +"<DAI Name>", 		"<DAI Stream Name>",
> +"<CODEC DAI Name>",	"<true if evm_aic3x_init is required, else false>",
> +"<evm ops required (evm_ops or evm_spdif_ops)>";

This continues to have the same issue as with previous versions, this is
all Linux internals (especially the evm_aic3x_init thing) not a
description of the hardware, there's not enough information to allow
someone to work out what the bindings for their system should be.

Do not post *ANY* further versions that have this evm_aic3x_init stuff
in them, it's very annoying that you keep on ignoring this feedback.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support
  2012-11-26 11:45   ` Mark Brown
@ 2012-11-27  5:55     ` Peter Korsgaard
  2012-11-27 14:04       ` Mark Brown
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Korsgaard @ 2012-11-27  5:55 UTC (permalink / raw)
  To: Mark Brown
  Cc: Hebbar, Gururaja, alsa-devel, sudhakar.raj, linux-doc,
	linux-kernel, devicetree-discuss, nsekhar,
	davinci-linux-open-source, perex, lrg, linux-arm-kernel

>>>>> "Mark" == Mark Brown <broonie@opensource.wolfsonmicro.com> writes:

Hi,

 Mark> On Thu, Nov 22, 2012 at 09:34:58AM +0530, Hebbar, Gururaja wrote:
 >> +	pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
 >> +	if (IS_ERR(pinctrl))
 >> +		dev_warn(&pdev->dev,
 >> +			"pins are not configured from the driver\n");

 Mark> Since the driver is happy to continue without the pins why is it
 Mark> bothering requesting them in the first place?  In other words, this
 Mark> should be a hard error.

Sorry, I disagree. As was discussed recently, there's several reasons
why the pinctrl call might fail, and not all are fatal (E.G. pinmux
already setup by bootloader):

http://article.gmane.org/gmane.linux.kernel/1399756

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding
  2012-11-26 11:56   ` Mark Brown
@ 2012-11-27 12:53     ` Hebbar, Gururaja
  0 siblings, 0 replies; 9+ messages in thread
From: Hebbar, Gururaja @ 2012-11-27 12:53 UTC (permalink / raw)
  To: Mark Brown
  Cc: alsa-devel, davinci-linux-open-source, linux-arm-kernel, tony,
	Girdwood, Liam, perex, Nori, Sekhar, Rajashekhara, Sudhakar,
	linux-kernel, devicetree-discuss, linux-doc, rob

On Mon, Nov 26, 2012 at 17:26:19, Mark Brown wrote:
> On Thu, Nov 22, 2012 at 09:34:59AM +0530, Hebbar, Gururaja wrote:
> 
> > +- dai-data		: A list of DAI data used by SOC code to register
> > +			  DAI, Codecs platform.
> > +			  The string index "should" be as shown below.
> > +dai-data =
> > +"<DAI Name>", 		"<DAI Stream Name>",
> > +"<CODEC DAI Name>",	"<true if evm_aic3x_init is required, else false>",
> > +"<evm ops required (evm_ops or evm_spdif_ops)>";
> 
> This continues to have the same issue as with previous versions, this is
> all Linux internals (especially the evm_aic3x_init thing) not a
> description of the hardware, there's not enough information to allow
> someone to work out what the bindings for their system should be.

Last time when you gave the review comments for this, I misunderstood it for
missing/incomplete documentation, which is why I added more details to the
binding document in V3. 

Now that I have understood correctly, I will be removing references to 
linux/software parts in the DT and will handle it internally in the driver
code. 

Kindly accept my apologies in this regard.

> 
> Do not post *ANY* further versions that have this evm_aic3x_init stuff
> in them, it's very annoying that you keep on ignoring this feedback.

Sure will remove the reference and repost it soon.

Thanks for all the review and guidance.

> 


Regards, 
Gururaja

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support
  2012-11-27  5:55     ` Peter Korsgaard
@ 2012-11-27 14:04       ` Mark Brown
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Brown @ 2012-11-27 14:04 UTC (permalink / raw)
  To: Peter Korsgaard
  Cc: Hebbar, Gururaja, alsa-devel, sudhakar.raj, linux-doc,
	linux-kernel, devicetree-discuss, nsekhar,
	davinci-linux-open-source, perex, lrg, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 660 bytes --]

On Mon, Nov 26, 2012 at 09:55:33PM -0800, Peter Korsgaard wrote:
> >>>>> "Mark" == Mark Brown <broonie@opensource.wolfsonmicro.com> writes:

>  Mark> Since the driver is happy to continue without the pins why is it
>  Mark> bothering requesting them in the first place?  In other words, this
>  Mark> should be a hard error.

> Sorry, I disagree. As was discussed recently, there's several reasons
> why the pinctrl call might fail, and not all are fatal (E.G. pinmux
> already setup by bootloader):

> http://article.gmane.org/gmane.linux.kernel/1399756

I'd expect the platform to provide stub mappings for cases where the
pinmux code shouldn't do anything.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-11-27 14:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-22  4:04 [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja
2012-11-22  4:04 ` [PATCH 1/2] ASoC: davinci-mcasp: Add pinctrl support Hebbar, Gururaja
2012-11-26 11:45   ` Mark Brown
2012-11-27  5:55     ` Peter Korsgaard
2012-11-27 14:04       ` Mark Brown
2012-11-22  4:04 ` [PATCH 2/2] ASoC: Davinci: machine: Add device tree binding Hebbar, Gururaja
2012-11-26 11:56   ` Mark Brown
2012-11-27 12:53     ` Hebbar, Gururaja
2012-11-26 11:41 ` [PATCH 0/2] ARM/ASoC: Davinci: Device Tree Update Hebbar, Gururaja

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).