* [PATCH V6 00/10] Add DT support for i2s
@ 2013-01-18 11:46 Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name Padmavathi Venna
` (9 more replies)
0 siblings, 10 replies; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:46 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
This patch set is dependent on the following patches from
Vinod Koul next branch
1)of: Add generic device tree DMA helpers
2)dmaengine: add helper function to request a slave DMA channel
and also dependent on
1)DMA: PL330: Add xlate function
2)DMA: PL330: Register the DMA controller with the generic DMA helpers
3)ARM: dts: Add #dma-cells for generic dma binding support
4)DMA: PL330: Modify pl330 filter based on new generic dma dt bindings.
This patch set is made based Kukjin Kim for-next branch
Changes since V5:
- Add generic DMA DT binding support
- Change the compatible name as suggested by Grant,Mark and Kukjin
- Make dma dev request api compatible to DT and non-DT
- Fix compilation error in dmaengine.h for non-DT case
- Add basic device tree based lookup for smdk wm8994 machine file.
- Make SPI driver use generic DMA DT bindings support
Changes since V4:
- Add a new patch for renaming the samsung i2s secondary fifo interface
device name from "samsung-i2s.4" to "samsung-i2s-sec"
- Add platform_device_id table for the primary and secondary DAIs
- Avoid using of alias ids in the i2s driver by adding of_device_id
table. Primary device can get registered via dt or non-dt but secondary
device can get registered only at runtime because the secondary is not
physically present on the board.
Changes since V3:
- Added syntex of gpio specifier as suggested by Mark Brown in
DT document file
- Added the requirement for having I2S alias ids
- Explained about gpio lines
- Made a seperate patch to get the I2S rclk src clk from alias ID
Changes since V2:
- Rebased on 3.7-rc3
- Custom DT bindings are prefixed with samsung
- As generic device tree DMA helpers not yet mainlined
I am still using custom dma bindings. So added a
priliminary statement regarding the same. I will rework
on my patch once generic DMA helpers are mainlined.
Chnages since V1:
- Rebased on 3.6-rc6
Padmavathi Venna (10):
ASoC: Samsung: Rename samsung i2s secondary device name
ASoC: SAMSUNG: Add DT support for i2s
ARM: SAMSUNG: Make dma request compatible to generic dma bindings.
spi: s3c64xx: Modify SPI driver to use generic DMA DT support
ARM: dts: Add nodes for i2s controllers for Samsung Exynos5 platforms
ARM: EXYNOS: Enable platform support for I2S controllers
ASoC: SMDK: WM8994: Add device tree support for machine file
ARM: dts: Modify SPI nodes according generic DMA DT bindings
ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio
dmaengine: Fix compilation error in non-DT case
.../bindings/sound/samsung,smdk-wm8994.txt | 14 ++
.../devicetree/bindings/sound/samsung-i2s.txt | 63 +++++
arch/arm/boot/dts/exynos5250-smdk5250.dts | 26 +++
arch/arm/boot/dts/exynos5250.dtsi | 44 +++-
arch/arm/mach-exynos/mach-exynos5-dt.c | 6 +
arch/arm/plat-samsung/dma-ops.c | 10 +-
arch/arm/plat-samsung/include/plat/dma-ops.h | 3 +-
arch/arm/plat-samsung/s3c-dma-ops.c | 3 +-
drivers/spi/spi-s3c64xx.c | 77 ++-----
include/linux/dmaengine.h | 2 +-
sound/soc/samsung/Kconfig | 6 +-
sound/soc/samsung/dma.c | 3 +-
sound/soc/samsung/dma.h | 1 +
sound/soc/samsung/i2s.c | 238 ++++++++++++++++----
sound/soc/samsung/i2s.h | 7 -
sound/soc/samsung/smdk_wm8580.c | 7 +-
sound/soc/samsung/smdk_wm8994.c | 30 +++-
17 files changed, 410 insertions(+), 130 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/samsung,smdk-wm8994.txt
create mode 100644 Documentation/devicetree/bindings/sound/samsung-i2s.txt
--
1.7.4.4
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-24 6:41 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s Padmavathi Venna
` (8 subsequent siblings)
9 siblings, 1 reply; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
All Samsung SoCs has max 3 i2s controllers. So the i2s secondary fifo
interface device id was named as samsung-i2s.4. Renaming this to
"samsung-i2s-sec" to support device tree in i2s driver.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
sound/soc/samsung/i2s.c | 31 ++++++++++++++++++++++++++++---
sound/soc/samsung/i2s.h | 7 -------
sound/soc/samsung/smdk_wm8580.c | 7 ++-----
sound/soc/samsung/smdk_wm8994.c | 4 ++--
4 files changed, 32 insertions(+), 17 deletions(-)
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index d2d124f..ed5eeae 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -29,6 +29,11 @@
#define msecs_to_loops(t) (loops_per_jiffy / 1000 * HZ * t)
+enum samsung_dai_type {
+ TYPE_PRI,
+ TYPE_SEC,
+};
+
struct i2s_dai {
/* Platform device for this DAI */
struct platform_device *pdev;
@@ -981,8 +986,7 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
i2s->i2s_dai_drv.capture.formats = SAMSUNG_I2S_FMTS;
} else { /* Create a new platform_device for Secondary */
i2s->pdev = platform_device_register_resndata(NULL,
- pdev->name, pdev->id + SAMSUNG_I2S_SECOFF,
- NULL, 0, NULL, 0);
+ "samsung-i2s-sec", -1, NULL, 0, NULL, 0);
if (IS_ERR(i2s->pdev))
return NULL;
}
@@ -993,6 +997,11 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
return i2s;
}
+static inline int samsung_i2s_get_driver_data(struct platform_device *pdev)
+{
+ return platform_get_device_id(pdev)->driver_data;
+}
+
static int samsung_i2s_probe(struct platform_device *pdev)
{
u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan;
@@ -1001,10 +1010,13 @@ static int samsung_i2s_probe(struct platform_device *pdev)
struct samsung_i2s *i2s_cfg;
struct resource *res;
u32 regs_base, quirks;
+ enum samsung_dai_type samsung_dai_type;
int ret = 0;
/* Call during Seconday interface registration */
- if (pdev->id >= SAMSUNG_I2S_SECOFF) {
+ samsung_dai_type = samsung_i2s_get_driver_data(pdev);
+
+ if (samsung_dai_type == TYPE_SEC) {
sec_dai = dev_get_drvdata(&pdev->dev);
snd_soc_register_dai(&sec_dai->pdev->dev,
&sec_dai->i2s_dai_drv);
@@ -1143,9 +1155,22 @@ static int samsung_i2s_remove(struct platform_device *pdev)
return 0;
}
+static struct platform_device_id samsung_i2s_driver_ids[] = {
+ {
+ .name = "samsung-i2s",
+ .driver_data = TYPE_PRI,
+ }, {
+ .name = "samsung-i2s-sec",
+ .driver_data = TYPE_SEC,
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(platform, samsung-i2s-driver-ids);
+
static struct platform_driver samsung_i2s_driver = {
.probe = samsung_i2s_probe,
.remove = samsung_i2s_remove,
+ .id_table = samsung_i2s_driver_ids,
.driver = {
.name = "samsung-i2s",
.owner = THIS_MODULE,
diff --git a/sound/soc/samsung/i2s.h b/sound/soc/samsung/i2s.h
index d420a7c..7966afc 100644
--- a/sound/soc/samsung/i2s.h
+++ b/sound/soc/samsung/i2s.h
@@ -13,13 +13,6 @@
#ifndef __SND_SOC_SAMSUNG_I2S_H
#define __SND_SOC_SAMSUNG_I2S_H
-/*
- * Maximum number of I2S blocks that any SoC can have.
- * The secondary interface of a CPU dai(if there exists any),
- * is indexed at [cpu-dai's ID + SAMSUNG_I2S_SECOFF]
- */
-#define SAMSUNG_I2S_SECOFF 4
-
#define SAMSUNG_I2S_DIV_BCLK 1
#define SAMSUNG_I2S_RCLKSRC_0 0
diff --git a/sound/soc/samsung/smdk_wm8580.c b/sound/soc/samsung/smdk_wm8580.c
index 7e2b710..7a16b32 100644
--- a/sound/soc/samsung/smdk_wm8580.c
+++ b/sound/soc/samsung/smdk_wm8580.c
@@ -193,9 +193,9 @@ static struct snd_soc_dai_link smdk_dai[] = {
[SEC_PLAYBACK] = { /* Sec_Fifo Playback i/f */
.name = "Sec_FIFO TX",
.stream_name = "Playback",
- .cpu_dai_name = "samsung-i2s.x",
+ .cpu_dai_name = "samsung-i2s-sec",
.codec_dai_name = "wm8580-hifi-playback",
- .platform_name = "samsung-i2s.x",
+ .platform_name = "samsung-i2s-sec",
.codec_name = "wm8580.0-001b",
.ops = &smdk_ops,
},
@@ -223,9 +223,6 @@ static int __init smdk_audio_init(void)
if (machine_is_smdkc100()
|| machine_is_smdkv210() || machine_is_smdkc110()) {
smdk.num_links = 3;
- /* Secondary is at offset SAMSUNG_I2S_SECOFF from Primary */
- str = (char *)smdk_dai[SEC_PLAYBACK].cpu_dai_name;
- str[strlen(str) - 1] = '0' + SAMSUNG_I2S_SECOFF;
} else if (machine_is_smdk6410()) {
str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
str[strlen(str) - 1] = '2';
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c
index b0d0ab8..cc2f407 100644
--- a/sound/soc/samsung/smdk_wm8994.c
+++ b/sound/soc/samsung/smdk_wm8994.c
@@ -134,9 +134,9 @@ static struct snd_soc_dai_link smdk_dai[] = {
}, { /* Sec_Fifo Playback i/f */
.name = "Sec_FIFO TX",
.stream_name = "Sec_Dai",
- .cpu_dai_name = "samsung-i2s.4",
+ .cpu_dai_name = "samsung-i2s-sec",
.codec_dai_name = "wm8994-aif1",
- .platform_name = "samsung-i2s.4",
+ .platform_name = "samsung-i2s-sec",
.codec_name = "wm8994-codec",
.ops = &smdk_ops,
},
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-02-14 10:29 ` Sylwester Nawrocki
2013-02-14 10:48 ` Sylwester Nawrocki
2013-01-18 11:47 ` [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings Padmavathi Venna
` (7 subsequent siblings)
9 siblings, 2 replies; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Add support for device based discovery.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
.../devicetree/bindings/sound/samsung-i2s.txt | 63 ++++++
sound/soc/samsung/dma.c | 3 +-
sound/soc/samsung/dma.h | 1 +
sound/soc/samsung/i2s.c | 209 +++++++++++++++-----
4 files changed, 230 insertions(+), 46 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/samsung-i2s.txt
diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
new file mode 100644
index 0000000..3070046
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
@@ -0,0 +1,63 @@
+* Samsung I2S controller
+
+Required SoC Specific Properties:
+
+- compatible : "samsung,i2s-v5"
+- reg: physical base address of the controller and length of memory mapped
+ region.
+- dmas: list of DMA controller phandle and DMA request line ordered pairs.
+- dma-names: identifier string for each DMA request line in the dmas property.
+ These strings correspond 1:1 with the ordered pairs in dmas.
+
+Optional SoC Specific Properties:
+
+- samsung,supports-6ch: If the I2S Primary sound source has 5.1 Channel
+ support, this flag is enabled.
+- samsung,supports-rstclr: This flag should be set if I2S software reset bit
+ control is required. When this flag is set I2S software reset bit will be
+ enabled or disabled based on need.
+- samsung,supports-secdai:If I2S block has a secondary FIFO and internal DMA,
+ then this flag is enabled.
+- samsung,idma-addr: Internal DMA register base address of the audio
+ sub system(used in secondary sound source).
+
+Required Board Specific Properties:
+
+- gpios: The gpio specifier for data out,data in, LRCLK, CDCLK and SCLK
+ interface lines. The format of the gpio specifier depends on the gpio
+ controller.
+ The syntax of samsung gpio specifier is
+ <[phandle of the gpio controller node]
+ [pin number within the gpio controller]
+ [mux function]
+ [flags and pull up/down]
+ [drive strength]>
+
+Example:
+
+- SoC Specific Portion:
+
+i2s@03830000 {
+ compatible = "samsung,i2s-v5";
+ reg = <0x03830000 0x100>;
+ dmas = <&pdma0 10
+ &pdma0 9
+ &pdma0 8>;
+ dma-names = "tx", "rx", "tx-sec";
+ samsung,supports-6ch;
+ samsung,supports-rstclr;
+ samsung,supports-secdai;
+ samsung,idma-addr = <0x03000000>;
+};
+
+- Board Specific Portion:
+
+i2s@03830000 {
+ gpios = <&gpz 0 2 0 0>, /* I2S_0_SCLK */
+ <&gpz 1 2 0 0>, /* I2S_0_CDCLK */
+ <&gpz 2 2 0 0>, /* I2S_0_LRCK */
+ <&gpz 3 2 0 0>, /* I2S_0_SDI */
+ <&gpz 4 2 0 0>, /* I2S_0_SDO[1] */
+ <&gpz 5 2 0 0>, /* I2S_0_SDO[2] */
+ <&gpz 6 2 0 0>; /* I2S_0_SDO[3] */
+};
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c
index db87628..21b7926 100644
--- a/sound/soc/samsung/dma.c
+++ b/sound/soc/samsung/dma.c
@@ -174,7 +174,8 @@ static int dma_hw_params(struct snd_pcm_substream *substream,
config.width = prtd->params->dma_size;
config.fifo = prtd->params->dma_addr;
prtd->params->ch = prtd->params->ops->request(
- prtd->params->channel, &req);
+ prtd->params->channel, &req, rtd->cpu_dai->dev,
+ prtd->params->ch_name);
prtd->params->ops->config(prtd->params->ch, &config);
}
diff --git a/sound/soc/samsung/dma.h b/sound/soc/samsung/dma.h
index 73d8c7c..189a7a6 100644
--- a/sound/soc/samsung/dma.h
+++ b/sound/soc/samsung/dma.h
@@ -19,6 +19,7 @@ struct s3c_dma_params {
int dma_size; /* Size of the DMA transfer */
unsigned ch;
struct samsung_dma_ops *ops;
+ char *ch_name;
};
int asoc_dma_platform_register(struct device *dev);
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index ed5eeae..9e9c20c 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -15,11 +15,15 @@
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <sound/soc.h>
#include <sound/pcm_params.h>
+#include <mach/dma.h>
+
#include <linux/platform_data/asoc-s3c.h>
#include "dma.h"
@@ -34,6 +38,10 @@ enum samsung_dai_type {
TYPE_SEC,
};
+struct samsung_i2s_dai_data {
+ int dai_type;
+};
+
struct i2s_dai {
/* Platform device for this DAI */
struct platform_device *pdev;
@@ -71,6 +79,7 @@ struct i2s_dai {
u32 suspend_i2smod;
u32 suspend_i2scon;
u32 suspend_i2spsr;
+ unsigned long gpios[7]; /* i2s gpio line numbers */
};
/* Lock for cross i/f checks */
@@ -997,19 +1006,76 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
return i2s;
}
+#ifdef CONFIG_OF
+static int samsung_i2s_parse_dt_gpio(struct i2s_dai *i2s)
+{
+ struct device *dev = &i2s->pdev->dev;
+ int index, gpio, ret;
+
+ for (index = 0; index < 7; index++) {
+ gpio = of_get_gpio(dev->of_node, index);
+ if (!gpio_is_valid(gpio)) {
+ dev_err(dev, "invalid gpio[%d]: %d\n", index, gpio);
+ goto free_gpio;
+ }
+
+ ret = gpio_request(gpio, dev_name(dev));
+ if (ret) {
+ dev_err(dev, "gpio [%d] request failed\n", gpio);
+ goto free_gpio;
+ }
+ i2s->gpios[index] = gpio;
+ }
+ return 0;
+
+free_gpio:
+ while (--index >= 0)
+ gpio_free(i2s->gpios[index]);
+ return -EINVAL;
+}
+
+static void samsung_i2s_dt_gpio_free(struct i2s_dai *i2s)
+{
+ unsigned int index;
+ for (index = 0; index < 7; index++)
+ gpio_free(i2s->gpios[index]);
+}
+#else
+static int samsung_i2s_parse_dt_gpio(struct i2s_dai *dai)
+{
+ return -EINVAL;
+}
+
+static void samsung_i2s_dt_gpio_free(struct i2s_dai *dai)
+{
+}
+
+#endif
+
+static const struct of_device_id exynos_i2s_match[];
+
static inline int samsung_i2s_get_driver_data(struct platform_device *pdev)
{
- return platform_get_device_id(pdev)->driver_data;
+#ifdef CONFIG_OF
+ struct samsung_i2s_dai_data *data;
+ if (pdev->dev.of_node) {
+ const struct of_device_id *match;
+ match = of_match_node(exynos_i2s_match, pdev->dev.of_node);
+ data = (struct samsung_i2s_dai_data *) match->data;
+ return data->dai_type;
+ } else
+#endif
+ return platform_get_device_id(pdev)->driver_data;
}
static int samsung_i2s_probe(struct platform_device *pdev)
{
- u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan;
struct i2s_dai *pri_dai, *sec_dai = NULL;
- struct s3c_audio_pdata *i2s_pdata;
- struct samsung_i2s *i2s_cfg;
+ struct s3c_audio_pdata *i2s_pdata = pdev->dev.platform_data;
+ struct samsung_i2s *i2s_cfg = NULL;
struct resource *res;
- u32 regs_base, quirks;
+ u32 regs_base, quirks = 0, idma_addr = 0;
+ struct device_node *np = pdev->dev.of_node;
enum samsung_dai_type samsung_dai_type;
int ret = 0;
@@ -1024,31 +1090,60 @@ static int samsung_i2s_probe(struct platform_device *pdev)
return 0;
}
- i2s_pdata = pdev->dev.platform_data;
- if (i2s_pdata == NULL) {
- dev_err(&pdev->dev, "Can't work without s3c_audio_pdata\n");
- return -EINVAL;
+ pri_dai = i2s_alloc_dai(pdev, false);
+ if (!pri_dai) {
+ dev_err(&pdev->dev, "Unable to alloc I2S_pri\n");
+ return -ENOMEM;
}
- res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S-TX dma resource\n");
- return -ENXIO;
- }
- dma_pl_chan = res->start;
+ if (!np) {
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
+ if (!res) {
+ dev_err(&pdev->dev,
+ "Unable to get I2S-TX dma resource\n");
+ return -ENXIO;
+ }
+ pri_dai->dma_playback.channel = res->start;
- res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S-RX dma resource\n");
- return -ENXIO;
- }
- dma_cp_chan = res->start;
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
+ if (!res) {
+ dev_err(&pdev->dev,
+ "Unable to get I2S-RX dma resource\n");
+ return -ENXIO;
+ }
+ pri_dai->dma_capture.channel = res->start;
- res = platform_get_resource(pdev, IORESOURCE_DMA, 2);
- if (res)
- dma_pl_sec_chan = res->start;
- else
- dma_pl_sec_chan = 0;
+ if (i2s_pdata == NULL) {
+ dev_err(&pdev->dev, "Can't work without s3c_audio_pdata\n");
+ return -EINVAL;
+ }
+
+ if (&i2s_pdata->type)
+ i2s_cfg = &i2s_pdata->type.i2s;
+
+ if (i2s_cfg) {
+ quirks = i2s_cfg->quirks;
+ idma_addr = i2s_cfg->idma_addr;
+ }
+ } else {
+ if (of_find_property(np, "samsung,supports-6ch", NULL))
+ quirks |= QUIRK_PRI_6CHAN;
+
+ if (of_find_property(np, "samsung,supports-secdai", NULL))
+ quirks |= QUIRK_SEC_DAI;
+
+ if (of_find_property(np, "samsung,supports-rstclr", NULL))
+ quirks |= QUIRK_NEED_RSTCLR;
+
+ if (of_property_read_u32(np, "samsung,idma-addr",
+ &idma_addr)) {
+ if (quirks & QUIRK_SEC_DAI) {
+ dev_err(&pdev->dev, "idma address is not"\
+ "specified");
+ return -EINVAL;
+ }
+ }
+ }
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
@@ -1063,24 +1158,14 @@ static int samsung_i2s_probe(struct platform_device *pdev)
}
regs_base = res->start;
- i2s_cfg = &i2s_pdata->type.i2s;
- quirks = i2s_cfg->quirks;
-
- pri_dai = i2s_alloc_dai(pdev, false);
- if (!pri_dai) {
- dev_err(&pdev->dev, "Unable to alloc I2S_pri\n");
- ret = -ENOMEM;
- goto err;
- }
-
pri_dai->dma_playback.dma_addr = regs_base + I2STXD;
pri_dai->dma_capture.dma_addr = regs_base + I2SRXD;
pri_dai->dma_playback.client =
(struct s3c2410_dma_client *)&pri_dai->dma_playback;
+ pri_dai->dma_playback.ch_name = "tx";
pri_dai->dma_capture.client =
(struct s3c2410_dma_client *)&pri_dai->dma_capture;
- pri_dai->dma_playback.channel = dma_pl_chan;
- pri_dai->dma_capture.channel = dma_cp_chan;
+ pri_dai->dma_capture.ch_name = "rx";
pri_dai->dma_playback.dma_size = 4;
pri_dai->dma_capture.dma_size = 4;
pri_dai->base = regs_base;
@@ -1099,20 +1184,34 @@ static int samsung_i2s_probe(struct platform_device *pdev)
sec_dai->dma_playback.dma_addr = regs_base + I2STXDS;
sec_dai->dma_playback.client =
(struct s3c2410_dma_client *)&sec_dai->dma_playback;
- /* Use iDMA always if SysDMA not provided */
- sec_dai->dma_playback.channel = dma_pl_sec_chan ? : -1;
+ sec_dai->dma_playback.ch_name = "tx-sec";
+
+ if (!np) {
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 2);
+ if (res)
+ sec_dai->dma_playback.channel = res->start;
+ }
+
sec_dai->dma_playback.dma_size = 4;
sec_dai->base = regs_base;
sec_dai->quirks = quirks;
- sec_dai->idma_playback.dma_addr = i2s_cfg->idma_addr;
+ sec_dai->idma_playback.dma_addr = idma_addr;
sec_dai->pri_dai = pri_dai;
pri_dai->sec_dai = sec_dai;
}
- if (i2s_pdata->cfg_gpio && i2s_pdata->cfg_gpio(pdev)) {
- dev_err(&pdev->dev, "Unable to configure gpio\n");
- ret = -EINVAL;
- goto err;
+ if (np) {
+ if (samsung_i2s_parse_dt_gpio(pri_dai)) {
+ dev_err(&pdev->dev, "Unable to configure gpio\n");
+ ret = -EINVAL;
+ goto err;
+ }
+ } else {
+ if (i2s_pdata->cfg_gpio && i2s_pdata->cfg_gpio(pdev)) {
+ dev_err(&pdev->dev, "Unable to configure gpio\n");
+ ret = -EINVAL;
+ goto err;
+ }
}
snd_soc_register_dai(&pri_dai->pdev->dev, &pri_dai->i2s_dai_drv);
@@ -1132,10 +1231,14 @@ static int samsung_i2s_remove(struct platform_device *pdev)
{
struct i2s_dai *i2s, *other;
struct resource *res;
+ struct s3c_audio_pdata *i2s_pdata = pdev->dev.platform_data;
i2s = dev_get_drvdata(&pdev->dev);
other = i2s->pri_dai ? : i2s->sec_dai;
+ if (!i2s_pdata->cfg_gpio && pdev->dev.of_node)
+ samsung_i2s_dt_gpio_free(i2s->pri_dai);
+
if (other) {
other->pri_dai = NULL;
other->sec_dai = NULL;
@@ -1167,6 +1270,21 @@ static struct platform_device_id samsung_i2s_driver_ids[] = {
};
MODULE_DEVICE_TABLE(platform, samsung-i2s-driver-ids);
+#ifdef CONFIG_OF
+static struct samsung_i2s_dai_data samsung_i2s_dai_data_array[] = {
+ [TYPE_PRI] = { TYPE_PRI },
+ [TYPE_SEC] = { TYPE_SEC },
+};
+
+static const struct of_device_id exynos_i2s_match[] = {
+ { .compatible = "samsung,i2s-v5",
+ .data = &samsung_i2s_dai_data_array[TYPE_PRI],
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, exynos_i2s_match);
+#endif
+
static struct platform_driver samsung_i2s_driver = {
.probe = samsung_i2s_probe,
.remove = samsung_i2s_remove,
@@ -1174,6 +1292,7 @@ static struct platform_driver samsung_i2s_driver = {
.driver = {
.name = "samsung-i2s",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(exynos_i2s_match),
},
};
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings.
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-29 6:20 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support Padmavathi Venna
` (6 subsequent siblings)
9 siblings, 1 reply; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
This patch make the dma dev request operation compatible for both
DT and non-DT cases. It takes the all the arguments required for
dma_request_slave_channel and dma_request_channel. If the driver
is initiated via DT or non-DT the corresponding call will be made.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
arch/arm/plat-samsung/dma-ops.c | 10 ++++++++--
arch/arm/plat-samsung/include/plat/dma-ops.h | 3 ++-
arch/arm/plat-samsung/s3c-dma-ops.c | 3 ++-
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/arch/arm/plat-samsung/dma-ops.c b/arch/arm/plat-samsung/dma-ops.c
index d088afa..71d58dd 100644
--- a/arch/arm/plat-samsung/dma-ops.c
+++ b/arch/arm/plat-samsung/dma-ops.c
@@ -19,7 +19,8 @@
#include <mach/dma.h>
static unsigned samsung_dmadev_request(enum dma_ch dma_ch,
- struct samsung_dma_req *param)
+ struct samsung_dma_req *param,
+ struct device *dev, char *ch_name)
{
dma_cap_mask_t mask;
void *filter_param;
@@ -33,7 +34,12 @@ static unsigned samsung_dmadev_request(enum dma_ch dma_ch,
*/
filter_param = (dma_ch == DMACH_DT_PROP) ?
(void *)param->dt_dmach_prop : (void *)dma_ch;
- return (unsigned)dma_request_channel(mask, pl330_filter, filter_param);
+
+ if (dev->of_node)
+ return (unsigned)dma_request_slave_channel(dev, ch_name);
+ else
+ return (unsigned)dma_request_channel(mask, pl330_filter,
+ filter_param);
}
static int samsung_dmadev_release(unsigned ch, void *param)
diff --git a/arch/arm/plat-samsung/include/plat/dma-ops.h b/arch/arm/plat-samsung/include/plat/dma-ops.h
index f5144cd..1141782 100644
--- a/arch/arm/plat-samsung/include/plat/dma-ops.h
+++ b/arch/arm/plat-samsung/include/plat/dma-ops.h
@@ -39,7 +39,8 @@ struct samsung_dma_config {
};
struct samsung_dma_ops {
- unsigned (*request)(enum dma_ch ch, struct samsung_dma_req *param);
+ unsigned (*request)(enum dma_ch ch, struct samsung_dma_req *param,
+ struct device *dev, char *ch_name);
int (*release)(unsigned ch, void *param);
int (*config)(unsigned ch, struct samsung_dma_config *param);
int (*prepare)(unsigned ch, struct samsung_dma_prep *param);
diff --git a/arch/arm/plat-samsung/s3c-dma-ops.c b/arch/arm/plat-samsung/s3c-dma-ops.c
index f99448c..0cc40ae 100644
--- a/arch/arm/plat-samsung/s3c-dma-ops.c
+++ b/arch/arm/plat-samsung/s3c-dma-ops.c
@@ -36,7 +36,8 @@ static void s3c_dma_cb(struct s3c2410_dma_chan *channel, void *param,
}
static unsigned s3c_dma_request(enum dma_ch dma_ch,
- struct samsung_dma_req *param)
+ struct samsung_dma_req *param,
+ struct device *dev, char *ch_name)
{
struct cb_data *data;
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (2 preceding siblings ...)
2013-01-18 11:47 ` [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-29 5:19 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 05/10] ARM: dts: Add nodes for i2s controllers for Samsung Exynos5 platforms Padmavathi Venna
` (5 subsequent siblings)
9 siblings, 1 reply; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
This patch modifies the SPI driver to use generic dma dt bindings
support. This passes all the required arguments to dma dev request
functon which in turn calls the dma_request_slave_channel or dma__
request_channel based on DT or non-DT respectively.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
drivers/spi/spi-s3c64xx.c | 77 +++++++++++++-------------------------------
1 files changed, 23 insertions(+), 54 deletions(-)
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index ad93231..51a8c42 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -134,7 +134,6 @@ struct s3c64xx_spi_dma_data {
unsigned ch;
enum dma_transfer_direction direction;
enum dma_ch dmach;
- struct property *dma_prop;
};
/**
@@ -319,16 +318,15 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma,
static int acquire_dma(struct s3c64xx_spi_driver_data *sdd)
{
struct samsung_dma_req req;
+ struct device *dev = &sdd->pdev->dev;
sdd->ops = samsung_dma_get_ops();
req.cap = DMA_SLAVE;
req.client = &s3c64xx_spi_dma_client;
- req.dt_dmach_prop = sdd->rx_dma.dma_prop;
- sdd->rx_dma.ch = sdd->ops->request(sdd->rx_dma.dmach, &req);
- req.dt_dmach_prop = sdd->tx_dma.dma_prop;
- sdd->tx_dma.ch = sdd->ops->request(sdd->tx_dma.dmach, &req);
+ sdd->rx_dma.ch = sdd->ops->request(sdd->rx_dma.dmach, &req, dev, "rx");
+ sdd->tx_dma.ch = sdd->ops->request(sdd->tx_dma.dmach, &req, dev, "tx");
return 1;
}
@@ -1054,49 +1052,6 @@ static void s3c64xx_spi_hwinit(struct s3c64xx_spi_driver_data *sdd, int channel)
flush_fifo(sdd);
}
-static int s3c64xx_spi_get_dmares(
- struct s3c64xx_spi_driver_data *sdd, bool tx)
-{
- struct platform_device *pdev = sdd->pdev;
- struct s3c64xx_spi_dma_data *dma_data;
- struct property *prop;
- struct resource *res;
- char prop_name[15], *chan_str;
-
- if (tx) {
- dma_data = &sdd->tx_dma;
- dma_data->direction = DMA_MEM_TO_DEV;
- chan_str = "tx";
- } else {
- dma_data = &sdd->rx_dma;
- dma_data->direction = DMA_DEV_TO_MEM;
- chan_str = "rx";
- }
-
- if (!sdd->pdev->dev.of_node) {
- res = platform_get_resource(pdev, IORESOURCE_DMA, tx ? 0 : 1);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get SPI-%s dma "
- "resource\n", chan_str);
- return -ENXIO;
- }
- dma_data->dmach = res->start;
- return 0;
- }
-
- sprintf(prop_name, "%s-dma-channel", chan_str);
- prop = of_find_property(pdev->dev.of_node, prop_name, NULL);
- if (!prop) {
- dev_err(&pdev->dev, "%s dma channel property not specified\n",
- chan_str);
- return -ENXIO;
- }
-
- dma_data->dmach = DMACH_DT_PROP;
- dma_data->dma_prop = prop;
- return 0;
-}
-
#ifdef CONFIG_OF
static int s3c64xx_spi_parse_dt_gpio(struct s3c64xx_spi_driver_data *sdd)
{
@@ -1198,6 +1153,7 @@ static inline struct s3c64xx_spi_port_config *s3c64xx_spi_get_port_config(
static int __init s3c64xx_spi_probe(struct platform_device *pdev)
{
struct resource *mem_res;
+ struct resource *res;
struct s3c64xx_spi_driver_data *sdd;
struct s3c64xx_spi_info *sci = pdev->dev.platform_data;
struct spi_master *master;
@@ -1256,13 +1212,26 @@ static int __init s3c64xx_spi_probe(struct platform_device *pdev)
sdd->cur_bpw = 8;
- ret = s3c64xx_spi_get_dmares(sdd, true);
- if (ret)
- goto err0;
+ if (!sdd->pdev->dev.of_node) {
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
+ if (!res) {
+ dev_err(&pdev->dev, "Unable to get SPI tx dma "
+ "resource\n");
+ return -ENXIO;
+ }
+ sdd->tx_dma.dmach = res->start;
+
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
+ if (!res) {
+ dev_err(&pdev->dev, "Unable to get SPI rx dma "
+ "resource\n");
+ return -ENXIO;
+ }
+ sdd->rx_dma.dmach = res->start;
+ }
- ret = s3c64xx_spi_get_dmares(sdd, false);
- if (ret)
- goto err0;
+ sdd->tx_dma.direction = DMA_MEM_TO_DEV;
+ sdd->rx_dma.direction = DMA_DEV_TO_MEM;
master->dev.of_node = pdev->dev.of_node;
master->bus_num = sdd->port_id;
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 05/10] ARM: dts: Add nodes for i2s controllers for Samsung Exynos5 platforms
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (3 preceding siblings ...)
2013-01-18 11:47 ` [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-18 11:47 ` [PATCH 06/10] ARM: EXYNOS: Enable platform support for I2S controllers Padmavathi Venna
` (4 subsequent siblings)
9 siblings, 0 replies; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Add device nodes for the three instances of i2s controllers in Exynos5
platforms. Enable instance i2s 0 for exynos5250 board and disable all
other i2s instances.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
arch/arm/boot/dts/exynos5250-smdk5250.dts | 14 ++++++++++++++
arch/arm/boot/dts/exynos5250.dtsi | 29 +++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index e05b18f..9516da8 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -204,4 +204,18 @@
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
};
+
+ i2s@03830000 {
+ gpios = <&gpz 0 2 0 0>, <&gpz 1 2 0 0>, <&gpz 2 2 0 0>,
+ <&gpz 3 2 0 0>, <&gpz 4 2 0 0>, <&gpz 5 2 0 0>,
+ <&gpz 6 2 0 0>;
+ };
+
+ i2s@12D60000 {
+ status = "disabled";
+ };
+
+ i2s@12D70000 {
+ status = "disabled";
+ };
};
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 46bae01..7e51e69 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -275,6 +275,35 @@
#size-cells = <0>;
};
+ i2s@03830000 {
+ compatible = "samsung,i2s-v5";
+ reg = <0x03830000 0x100>;
+ dmas = <&pdma0 10
+ &pdma0 9
+ &pdma0 8>;
+ dma-names = "tx", "rx", "tx-sec";
+ samsung,supports-6ch;
+ samsung,supports-rstclr;
+ samsung,supports-secdai;
+ samsung,idma-addr = <0x03000000>;
+ };
+
+ i2s@12D60000 {
+ compatible = "samsung,i2s-v5";
+ reg = <0x12D60000 0x100>;
+ dmas = <&pdma1 12
+ &pdma1 11>;
+ dma-names = "tx", "rx";
+ };
+
+ i2s@12D70000 {
+ compatible = "samsung,i2s-v5";
+ reg = <0x12D70000 0x100>;
+ dmas = <&pdma0 12
+ &pdma0 11>;
+ dma-names = "tx", "rx";
+ };
+
amba {
#address-cells = <1>;
#size-cells = <1>;
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 06/10] ARM: EXYNOS: Enable platform support for I2S controllers
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (4 preceding siblings ...)
2013-01-18 11:47 ` [PATCH V6 05/10] ARM: dts: Add nodes for i2s controllers for Samsung Exynos5 platforms Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file Padmavathi Venna
` (3 subsequent siblings)
9 siblings, 0 replies; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Add AUXDATA entries for i2s controller driver so as to set the device
name for clock lookups
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
arch/arm/mach-exynos/mach-exynos5-dt.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index e99d3d8..ea9e302 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -104,6 +104,12 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
OF_DEV_AUXDATA("samsung,mfc-v6", 0x11000000, "s5p-mfc-v6", NULL),
OF_DEV_AUXDATA("samsung,exynos5250-tmu", 0x10060000,
"exynos-tmu", NULL),
+ OF_DEV_AUXDATA("samsung,i2s-v5", 0x03830000,
+ "samsung-i2s.0", NULL),
+ OF_DEV_AUXDATA("samsung,i2s-v5", 0x12D60000,
+ "samsung-i2s.1", NULL),
+ OF_DEV_AUXDATA("samsung,i2s-v5", 0x12D70000,
+ "samsung-i2s.2", NULL),
{},
};
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (5 preceding siblings ...)
2013-01-18 11:47 ` [PATCH 06/10] ARM: EXYNOS: Enable platform support for I2S controllers Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-29 7:12 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 08/10] ARM: dts: Modify SPI nodes according generic DMA DT bindings Padmavathi Venna
` (2 subsequent siblings)
9 siblings, 1 reply; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Add the basic device tree based lookup.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
.../bindings/sound/samsung,smdk-wm8994.txt | 14 ++++++++++
arch/arm/boot/dts/exynos5250-smdk5250.dts | 18 +++++++++++--
arch/arm/boot/dts/exynos5250.dtsi | 6 ++--
sound/soc/samsung/smdk_wm8994.c | 26 ++++++++++++++++++++
4 files changed, 58 insertions(+), 6 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/samsung,smdk-wm8994.txt
diff --git a/Documentation/devicetree/bindings/sound/samsung,smdk-wm8994.txt b/Documentation/devicetree/bindings/sound/samsung,smdk-wm8994.txt
new file mode 100644
index 0000000..4686646f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/samsung,smdk-wm8994.txt
@@ -0,0 +1,14 @@
+Samsung SMDK audio complex
+
+Required properties:
+- compatible : "samsung,smdk-wm8994"
+- samsung,i2s-controller: The phandle of the Samsung I2S0 controller
+- samsung,audio-codec: The phandle of the WM8994 audio codec
+Example:
+
+sound {
+ compatible = "samsung,smdk-wm8994";
+
+ samsung,i2s-controller = <&i2s0>;
+ samsung,audio-codec = <&wm8994>;
+};
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 9516da8..4db9db0 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -49,6 +49,11 @@
compatible = "samsung,s524ad0xd1";
reg = <0x51>;
};
+
+ wm8994: wm8994@1a {
+ compatible = "wlf,wm8994";
+ reg = <0x1a>;
+ };
};
i2c@121D0000 {
@@ -205,17 +210,24 @@
samsung,mfc-l = <0x51000000 0x800000>;
};
- i2s@03830000 {
+ i2s0: i2s@03830000 {
gpios = <&gpz 0 2 0 0>, <&gpz 1 2 0 0>, <&gpz 2 2 0 0>,
<&gpz 3 2 0 0>, <&gpz 4 2 0 0>, <&gpz 5 2 0 0>,
<&gpz 6 2 0 0>;
};
- i2s@12D60000 {
+ i2s1: i2s@12D60000 {
status = "disabled";
};
- i2s@12D70000 {
+ i2s2: i2s@12D70000 {
status = "disabled";
};
+
+ sound {
+ compatible = "samsung,smdk-wm8994";
+
+ samsung,i2s-controller = <&i2s0>;
+ samsung,audio-codec = <&wm8994>;
+ };
};
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 7e51e69..3aaa8ce 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -275,7 +275,7 @@
#size-cells = <0>;
};
- i2s@03830000 {
+ i2s0: i2s@03830000 {
compatible = "samsung,i2s-v5";
reg = <0x03830000 0x100>;
dmas = <&pdma0 10
@@ -288,7 +288,7 @@
samsung,idma-addr = <0x03000000>;
};
- i2s@12D60000 {
+ i2s1: i2s@12D60000 {
compatible = "samsung,i2s-v5";
reg = <0x12D60000 0x100>;
dmas = <&pdma1 12
@@ -296,7 +296,7 @@
dma-names = "tx", "rx";
};
- i2s@12D70000 {
+ i2s2: i2s@12D70000 {
compatible = "samsung,i2s-v5";
reg = <0x12D70000 0x100>;
dmas = <&pdma0 12
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c
index cc2f407..581ea4a 100644
--- a/sound/soc/samsung/smdk_wm8994.c
+++ b/sound/soc/samsung/smdk_wm8994.c
@@ -10,6 +10,7 @@
#include "../codecs/wm8994.h"
#include <sound/pcm_params.h>
#include <linux/module.h>
+#include <linux/of.h>
/*
* Default CFG switch settings to use this driver:
@@ -153,9 +154,25 @@ static struct snd_soc_card smdk = {
static int smdk_audio_probe(struct platform_device *pdev)
{
int ret;
+ struct device_node *np = pdev->dev.of_node;
struct snd_soc_card *card = &smdk;
card->dev = &pdev->dev;
+
+ if (np) {
+ smdk_dai[0].cpu_dai_name = NULL;
+ smdk_dai[0].cpu_of_node = of_parse_phandle(np,
+ "samsung,i2s-controller", 0);
+ if (!smdk_dai[0].cpu_of_node) {
+ dev_err(&pdev->dev,
+ "Property 'samsung,i2s-controller' missing or invalid\n");
+ ret = -EINVAL;
+ }
+
+ smdk_dai[0].platform_name = NULL;
+ smdk_dai[0].platform_of_node = smdk_dai[0].cpu_of_node;
+ }
+
ret = snd_soc_register_card(card);
if (ret)
@@ -173,10 +190,19 @@ static int smdk_audio_remove(struct platform_device *pdev)
return 0;
}
+#ifdef CONFIG_OF
+static const struct of_device_id samsung_wm8994_of_match[] = {
+ { .compatible = "samsung,smdk-wm8994", },
+ {},
+};
+MODULE_DEVICE_TABLE(of, samsung_wm8994_of_match);
+#endif /* CONFIG_OF */
+
static struct platform_driver smdk_audio_driver = {
.driver = {
.name = "smdk-audio",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(samsung_wm8994_of_match),
},
.probe = smdk_audio_probe,
.remove = smdk_audio_remove,
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 08/10] ARM: dts: Modify SPI nodes according generic DMA DT bindings
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (6 preceding siblings ...)
2013-01-18 11:47 ` [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-29 7:39 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 09/10] ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case Padmavathi Venna
9 siblings, 1 reply; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
This patch removes custom way of adding spi dma channels and
adds according to new generic DMA DT bindings.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
arch/arm/boot/dts/exynos5250.dtsi | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 3aaa8ce..c6c69b2 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -217,8 +217,9 @@
compatible = "samsung,exynos4210-spi";
reg = <0x12d20000 0x100>;
interrupts = <0 66 0>;
- tx-dma-channel = <&pdma0 5>; /* preliminary */
- rx-dma-channel = <&pdma0 4>; /* preliminary */
+ dmas = <&pdma0 5
+ &pdma0 4>;
+ dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
};
@@ -227,8 +228,9 @@
compatible = "samsung,exynos4210-spi";
reg = <0x12d30000 0x100>;
interrupts = <0 67 0>;
- tx-dma-channel = <&pdma1 5>; /* preliminary */
- rx-dma-channel = <&pdma1 4>; /* preliminary */
+ dmas = <&pdma1 5
+ &pdma1 4>;
+ dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
};
@@ -237,8 +239,9 @@
compatible = "samsung,exynos4210-spi";
reg = <0x12d40000 0x100>;
interrupts = <0 68 0>;
- tx-dma-channel = <&pdma0 7>; /* preliminary */
- rx-dma-channel = <&pdma0 6>; /* preliminary */
+ dmas = <&pdma0 7
+ &pdma0 6>;
+ dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
};
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 09/10] ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (7 preceding siblings ...)
2013-01-18 11:47 ` [PATCH V6 08/10] ARM: dts: Modify SPI nodes according generic DMA DT bindings Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-29 7:40 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case Padmavathi Venna
9 siblings, 1 reply; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Update Kconfig file to enable I2S,PCM audio for wm8994 and spdif on all
samsung platforms.
Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
sound/soc/samsung/Kconfig | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
index 3c7c3a5..90e7e66 100644
--- a/sound/soc/samsung/Kconfig
+++ b/sound/soc/samsung/Kconfig
@@ -63,7 +63,7 @@ config SND_SOC_SAMSUNG_SMDK_WM8580
config SND_SOC_SAMSUNG_SMDK_WM8994
tristate "SoC I2S Audio support for WM8994 on SMDK"
- depends on SND_SOC_SAMSUNG && (MACH_SMDKV310 || MACH_SMDKC210 || MACH_SMDK4212)
+ depends on SND_SOC_SAMSUNG
depends on I2C=y && GENERIC_HARDIRQS
select MFD_WM8994
select SND_SOC_WM8994
@@ -162,7 +162,7 @@ config SND_SOC_GONI_AQUILA_WM8994
config SND_SOC_SAMSUNG_SMDK_SPDIF
tristate "SoC S/PDIF Audio support for SMDK"
- depends on SND_SOC_SAMSUNG && (MACH_SMDKC100 || MACH_SMDKC110 || MACH_SMDKV210 || MACH_SMDKV310 || MACH_SMDK4212)
+ depends on SND_SOC_SAMSUNG
select SND_SAMSUNG_SPDIF
help
Say Y if you want to add support for SoC S/PDIF audio on the SMDK.
@@ -177,7 +177,7 @@ config SND_SOC_SMDK_WM8580_PCM
config SND_SOC_SMDK_WM8994_PCM
tristate "SoC PCM Audio support for WM8994 on SMDK"
- depends on SND_SOC_SAMSUNG && (MACH_SMDKC210 || MACH_SMDKV310 || MACH_SMDK4212)
+ depends on SND_SOC_SAMSUNG
depends on I2C=y && GENERIC_HARDIRQS
select MFD_WM8994
select SND_SOC_WM8994
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
` (8 preceding siblings ...)
2013-01-18 11:47 ` [PATCH V6 09/10] ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio Padmavathi Venna
@ 2013-01-18 11:47 ` Padmavathi Venna
2013-01-27 3:39 ` Mark Brown
2013-01-28 13:47 ` Vinod Koul
9 siblings, 2 replies; 30+ messages in thread
From: Padmavathi Venna @ 2013-01-18 11:47 UTC (permalink / raw)
To: padma.v, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss
Cc: sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
---
include/linux/dmaengine.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 8cd0e25..c88f302 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -992,7 +992,7 @@ static inline struct dma_chan *__dma_request_channel(dma_cap_mask_t *mask,
static inline struct dma_chan *dma_request_slave_channel(struct device *dev,
char *name)
{
- return NULL
+ return NULL;
}
static inline void dma_release_channel(struct dma_chan *chan)
{
--
1.7.4.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name
2013-01-18 11:47 ` [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name Padmavathi Venna
@ 2013-01-24 6:41 ` Mark Brown
0 siblings, 0 replies; 30+ messages in thread
From: Mark Brown @ 2013-01-24 6:41 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 281 bytes --]
On Fri, Jan 18, 2013 at 05:17:00PM +0530, Padmavathi Venna wrote:
> All Samsung SoCs has max 3 i2s controllers. So the i2s secondary fifo
> interface device id was named as samsung-i2s.4. Renaming this to
> "samsung-i2s-sec" to support device tree in i2s driver.
Applied, thanks.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case
2013-01-18 11:47 ` [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case Padmavathi Venna
@ 2013-01-27 3:39 ` Mark Brown
2013-01-28 13:47 ` Vinod Koul
1 sibling, 0 replies; 30+ messages in thread
From: Mark Brown @ 2013-01-27 3:39 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 255 bytes --]
On Fri, Jan 18, 2013 at 05:17:09PM +0530, Padmavathi Venna wrote:
> Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
This should be sent separately to Vinod for merge into v3.8, it's not
obviously related to the rest of the series and is a bug fix.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case
2013-01-18 11:47 ` [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case Padmavathi Venna
2013-01-27 3:39 ` Mark Brown
@ 2013-01-28 13:47 ` Vinod Koul
2013-01-29 8:53 ` Padma Venkat
1 sibling, 1 reply; 30+ messages in thread
From: Vinod Koul @ 2013-01-28 13:47 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, broonie, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
On Fri, Jan 18, 2013 at 05:17:09PM +0530, Padmavathi Venna wrote:
> Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
> ---
> include/linux/dmaengine.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
> index 8cd0e25..c88f302 100644
> --- a/include/linux/dmaengine.h
> +++ b/include/linux/dmaengine.h
> @@ -992,7 +992,7 @@ static inline struct dma_chan *__dma_request_channel(dma_cap_mask_t *mask,
> static inline struct dma_chan *dma_request_slave_channel(struct device *dev,
> char *name)
> {
> - return NULL
> + return NULL;
what tree was this generated against? this was fixed by 678bd8
--
~Vinod
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support
2013-01-18 11:47 ` [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support Padmavathi Venna
@ 2013-01-29 5:19 ` Mark Brown
2013-01-29 9:32 ` Padma Venkat
0 siblings, 1 reply; 30+ messages in thread
From: Mark Brown @ 2013-01-29 5:19 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]
On Fri, Jan 18, 2013 at 05:17:03PM +0530, Padmavathi Venna wrote:
> This patch modifies the SPI driver to use generic dma dt bindings
> support. This passes all the required arguments to dma dev request
> functon which in turn calls the dma_request_slave_channel or dma__
> request_channel based on DT or non-DT respectively.
This loooks OK and I'm actually applying SPI patches so I could apply it
but I'm not sure I see the relevance of this patch to the rest of the
series (which is about ASoC). Is there some reason why it's included in
this patch series or can it be applied to the SPI tree? The SMDKs use
I2C for their CODEC control rather than SPI.
Also is there a binding document update or device tree file update to go
with this?
> + if (!sdd->pdev->dev.of_node) {
> + res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> + if (!res) {
> + dev_err(&pdev->dev, "Unable to get SPI tx dma "
> + "resource\n");
I appreciate that this is cut'n'paste from the code you're refactoring
but please don't split error messages over lines, it makes it hard to
grep for them in the kernel source.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings.
2013-01-18 11:47 ` [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings Padmavathi Venna
@ 2013-01-29 6:20 ` Mark Brown
2013-01-29 9:30 ` Padma Venkat
0 siblings, 1 reply; 30+ messages in thread
From: Mark Brown @ 2013-01-29 6:20 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 707 bytes --]
On Fri, Jan 18, 2013 at 05:17:02PM +0530, Padmavathi Venna wrote:
> This patch make the dma dev request operation compatible for both
> DT and non-DT cases. It takes the all the arguments required for
> dma_request_slave_channel and dma_request_channel. If the driver
> is initiated via DT or non-DT the corresponding call will be made.
OK, so this is where the SPI change came from - the API has been changed
incompatibly and SPI needs updating. For bisection this API update
ought to be done in a single commit, otherwise there will be steps in
the bisection where nothing will work.
Anyway, I'll go ahead and apply this, the SPI and the ASoC ones but this
is something to bear in mind for the future.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file
2013-01-18 11:47 ` [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file Padmavathi Venna
@ 2013-01-29 7:12 ` Mark Brown
2013-01-29 9:39 ` Padma Venkat
0 siblings, 1 reply; 30+ messages in thread
From: Mark Brown @ 2013-01-29 7:12 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 517 bytes --]
On Fri, Jan 18, 2013 at 05:17:06PM +0530, Padmavathi Venna wrote:
> +Samsung SMDK audio complex
This is just for SMDKs with WM8994. I'll apply but please send a
followup patch to clarify this - it'll be a different binding for others
like the older boards using WM8580 and WM9713.
> + samsung,i2s-controller = <&i2s0>;
> + samsung,audio-codec = <&wm8994>;
I was thinking this should really point at the DAI but since it's
specific to the SMDKs I don't think it particularly matters - they all
use AIF1 anyway.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 08/10] ARM: dts: Modify SPI nodes according generic DMA DT bindings
2013-01-18 11:47 ` [PATCH V6 08/10] ARM: dts: Modify SPI nodes according generic DMA DT bindings Padmavathi Venna
@ 2013-01-29 7:39 ` Mark Brown
0 siblings, 0 replies; 30+ messages in thread
From: Mark Brown @ 2013-01-29 7:39 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 196 bytes --]
On Fri, Jan 18, 2013 at 05:17:07PM +0530, Padmavathi Venna wrote:
> This patch removes custom way of adding spi dma channels and
> adds according to new generic DMA DT bindings.
Applied, thanks.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 09/10] ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio
2013-01-18 11:47 ` [PATCH V6 09/10] ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio Padmavathi Venna
@ 2013-01-29 7:40 ` Mark Brown
0 siblings, 0 replies; 30+ messages in thread
From: Mark Brown @ 2013-01-29 7:40 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 179 bytes --]
On Fri, Jan 18, 2013 at 05:17:08PM +0530, Padmavathi Venna wrote:
> Update Kconfig file to enable I2S,PCM audio for wm8994 and spdif on all
> samsung platforms.
Applied, thanks.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case
2013-01-28 13:47 ` Vinod Koul
@ 2013-01-29 8:53 ` Padma Venkat
0 siblings, 0 replies; 30+ messages in thread
From: Padma Venkat @ 2013-01-29 8:53 UTC (permalink / raw)
To: Vinod Koul
Cc: Padmavathi Venna, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, broonie, grant.likely, swarren,
boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai,
ben-linux
Hi,
On Mon, Jan 28, 2013 at 7:17 PM, Vinod Koul <vinod.koul@intel.com> wrote:
> On Fri, Jan 18, 2013 at 05:17:09PM +0530, Padmavathi Venna wrote:
>> Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
>> ---
>> include/linux/dmaengine.h | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
>> index 8cd0e25..c88f302 100644
>> --- a/include/linux/dmaengine.h
>> +++ b/include/linux/dmaengine.h
>> @@ -992,7 +992,7 @@ static inline struct dma_chan *__dma_request_channel(dma_cap_mask_t *mask,
>> static inline struct dma_chan *dma_request_slave_channel(struct device *dev,
>> char *name)
>> {
>> - return NULL
>> + return NULL;
> what tree was this generated against? this was fixed by 678bd8
I generated against Kukjin for-next branch. I just noticed that it's
fixed in your next branch. I will drop this patch.
Thanks
Padma
>
> --
> ~Vinod
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings.
2013-01-29 6:20 ` Mark Brown
@ 2013-01-29 9:30 ` Padma Venkat
0 siblings, 0 replies; 30+ messages in thread
From: Padma Venkat @ 2013-01-29 9:30 UTC (permalink / raw)
To: Mark Brown
Cc: Padmavathi Venna, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, vinod.koul, grant.likely, swarren,
boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham, tiwai,
ben-linux
On Tue, Jan 29, 2013 at 11:50 AM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Fri, Jan 18, 2013 at 05:17:02PM +0530, Padmavathi Venna wrote:
>> This patch make the dma dev request operation compatible for both
>> DT and non-DT cases. It takes the all the arguments required for
>> dma_request_slave_channel and dma_request_channel. If the driver
>> is initiated via DT or non-DT the corresponding call will be made.
>
> OK, so this is where the SPI change came from - the API has been changed
> incompatibly and SPI needs updating. For bisection this API update
> ought to be done in a single commit, otherwise there will be steps in
> the bisection where nothing will work.
>
> Anyway, I'll go ahead and apply this, the SPI and the ASoC ones but this
> is something to bear in mind for the future.
OK. Thanks for applying the patch.
Regards
Padma
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support
2013-01-29 5:19 ` Mark Brown
@ 2013-01-29 9:32 ` Padma Venkat
0 siblings, 0 replies; 30+ messages in thread
From: Padma Venkat @ 2013-01-29 9:32 UTC (permalink / raw)
To: Mark Brown
Cc: Padmavathi Venna, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, vinod.koul, grant.likely, swarren,
boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai,
ben-linux
On Tue, Jan 29, 2013 at 10:49 AM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Fri, Jan 18, 2013 at 05:17:03PM +0530, Padmavathi Venna wrote:
>> This patch modifies the SPI driver to use generic dma dt bindings
>> support. This passes all the required arguments to dma dev request
>> functon which in turn calls the dma_request_slave_channel or dma__
>> request_channel based on DT or non-DT respectively.
>
> This loooks OK and I'm actually applying SPI patches so I could apply it
> but I'm not sure I see the relevance of this patch to the rest of the
> series (which is about ASoC). Is there some reason why it's included in
> this patch series or can it be applied to the SPI tree? The SMDKs use
> I2C for their CODEC control rather than SPI.
>
> Also is there a binding document update or device tree file update to go
> with this?
>
>> + if (!sdd->pdev->dev.of_node) {
>> + res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
>> + if (!res) {
>> + dev_err(&pdev->dev, "Unable to get SPI tx dma "
>> + "resource\n");
>
> I appreciate that this is cut'n'paste from the code you're refactoring
> but please don't split error messages over lines, it makes it hard to
> grep for them in the kernel source.
OK.
Thanks for reviewing.
Padma
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file
2013-01-29 7:12 ` Mark Brown
@ 2013-01-29 9:39 ` Padma Venkat
0 siblings, 0 replies; 30+ messages in thread
From: Padma Venkat @ 2013-01-29 9:39 UTC (permalink / raw)
To: Mark Brown
Cc: Padmavathi Venna, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, vinod.koul, grant.likely, swarren,
boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham, tiwai,
ben-linux
On Tue, Jan 29, 2013 at 12:42 PM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Fri, Jan 18, 2013 at 05:17:06PM +0530, Padmavathi Venna wrote:
>
>> +Samsung SMDK audio complex
>
> This is just for SMDKs with WM8994. I'll apply but please send a
> followup patch to clarify this - it'll be a different binding for others
> like the older boards using WM8580 and WM9713.
OK. I will send.
>
>> + samsung,i2s-controller = <&i2s0>;
>> + samsung,audio-codec = <&wm8994>;
>
> I was thinking this should really point at the DAI but since it's
> specific to the SMDKs I don't think it particularly matters - they all
> use AIF1 anyway.
Thanks
Padma
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-01-18 11:47 ` [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s Padmavathi Venna
@ 2013-02-14 10:29 ` Sylwester Nawrocki
2013-02-14 10:48 ` Sylwester Nawrocki
1 sibling, 0 replies; 30+ messages in thread
From: Sylwester Nawrocki @ 2013-02-14 10:29 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Hi,
On 01/18/2013 12:47 PM, Padmavathi Venna wrote:
> Add support for device based discovery.
>
> Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
> ---
> .../devicetree/bindings/sound/samsung-i2s.txt | 63 ++++++
> sound/soc/samsung/dma.c | 3 +-
> sound/soc/samsung/dma.h | 1 +
> sound/soc/samsung/i2s.c | 209 +++++++++++++++-----
> 4 files changed, 230 insertions(+), 46 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/sound/samsung-i2s.txt
>
> diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt
> b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
> new file mode 100644
> index 0000000..3070046
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
> @@ -0,0 +1,63 @@
> +* Samsung I2S controller
> +
...
> +Required Board Specific Properties:
> +
> +- gpios: The gpio specifier for data out,data in, LRCLK, CDCLK and SCLK
> + interface lines. The format of the gpio specifier depends on the gpio
> + controller.
> + The syntax of samsung gpio specifier is
> + <[phandle of the gpio controller node]
> + [pin number within the gpio controller]
> + [mux function]
> + [flags and pull up/down]
> + [drive strength]>
I don't think there is a need to copy the gpio specifier documentation
over to this file. Moreover this gpio specifier was supposed to be temporary,
until pinctrl support is added. Now Exynos4 uses generic gpio specifiers
and pinctrl for pin muxing and Exynos5 is still not converted to that,
although I believe this wouldn't require much effort now.
> +Example:
> +
...
> +- Board Specific Portion:
> +
> +i2s@03830000 {
> + gpios = <&gpz 0 2 0 0>, /* I2S_0_SCLK */
> + <&gpz 1 2 0 0>, /* I2S_0_CDCLK */
> + <&gpz 2 2 0 0>, /* I2S_0_LRCK */
> + <&gpz 3 2 0 0>, /* I2S_0_SDI */
> + <&gpz 4 2 0 0>, /* I2S_0_SDO[1] */
> + <&gpz 5 2 0 0>, /* I2S_0_SDO[2] */
> + <&gpz 6 2 0 0>; /* I2S_0_SDO[3] */
> +};
We should switch to pinctrl instead. Most of work now seems to be
to define pinctrl nodes for each Exynos5 device, so there is proper
pinctrl support for Exynos5.
--
Thanks,
Sylwester
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-01-18 11:47 ` [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s Padmavathi Venna
2013-02-14 10:29 ` Sylwester Nawrocki
@ 2013-02-14 10:48 ` Sylwester Nawrocki
2013-02-14 11:05 ` Tomasz Figa
2013-02-14 11:43 ` Mark Brown
1 sibling, 2 replies; 30+ messages in thread
From: Sylwester Nawrocki @ 2013-02-14 10:48 UTC (permalink / raw)
To: Padmavathi Venna
Cc: padma.kvr, linux-samsung-soc, alsa-devel, devicetree-discuss,
sbkim73, broonie, vinod.koul, grant.likely, swarren, boojin.kim,
kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
On 01/18/2013 12:47 PM, Padmavathi Venna wrote:
> Add support for device based discovery.
>
> Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
> ---
...
> /* Lock for cross i/f checks */
> @@ -997,19 +1006,76 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
> return i2s;
> }
>
> +#ifdef CONFIG_OF
> +static int samsung_i2s_parse_dt_gpio(struct i2s_dai *i2s)
> +{
> + struct device *dev = &i2s->pdev->dev;
> + int index, gpio, ret;
> +
> + for (index = 0; index < 7; index++) {
> + gpio = of_get_gpio(dev->of_node, index);
> + if (!gpio_is_valid(gpio)) {
> + dev_err(dev, "invalid gpio[%d]: %d\n", index, gpio);
> + goto free_gpio;
> + }
> +
> + ret = gpio_request(gpio, dev_name(dev));
> + if (ret) {
> + dev_err(dev, "gpio [%d] request failed\n", gpio);
> + goto free_gpio;
> + }
> + i2s->gpios[index] = gpio;
> + }
> + return 0;
> +
> +free_gpio:
> + while (--index >= 0)
> + gpio_free(i2s->gpios[index]);
> + return -EINVAL;
> +}
> +
> +static void samsung_i2s_dt_gpio_free(struct i2s_dai *i2s)
> +{
> + unsigned int index;
> + for (index = 0; index < 7; index++)
> + gpio_free(i2s->gpios[index]);
> +}
> +#else
> +static int samsung_i2s_parse_dt_gpio(struct i2s_dai *dai)
> +{
> + return -EINVAL;
> +}
> +
> +static void samsung_i2s_dt_gpio_free(struct i2s_dai *dai)
> +{
> +}
> +
> +#endif
NAK.
Why we should leave with this temporary code when there is already
pinctrl support for Exynos SoCs ?
If the pinctrl driver for Exynos5 was updated you could instead just do
devm_pinctrl_get_select_default(&i2s->pdev->dev);
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-02-14 10:48 ` Sylwester Nawrocki
@ 2013-02-14 11:05 ` Tomasz Figa
2013-02-14 11:43 ` Mark Brown
1 sibling, 0 replies; 30+ messages in thread
From: Tomasz Figa @ 2013-02-14 11:05 UTC (permalink / raw)
To: Sylwester Nawrocki
Cc: Padmavathi Venna, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, broonie, vinod.koul, grant.likely,
swarren, boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham,
lrg, tiwai, ben-linux
Hi,
On Thursday 14 of February 2013 11:48:59 Sylwester Nawrocki wrote:
> On 01/18/2013 12:47 PM, Padmavathi Venna wrote:
> > Add support for device based discovery.
> >
> > Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
> > ---
>
> ...
>
> > /* Lock for cross i/f checks */
> >
> > @@ -997,19 +1006,76 @@ static struct i2s_dai *i2s_alloc_dai(struct
> > platform_device *pdev, bool sec)>
> > return i2s;
> >
> > }
> >
> > +#ifdef CONFIG_OF
> > +static int samsung_i2s_parse_dt_gpio(struct i2s_dai *i2s)
> > +{
> > + struct device *dev = &i2s->pdev->dev;
> > + int index, gpio, ret;
> > +
> > + for (index = 0; index < 7; index++) {
> > + gpio = of_get_gpio(dev->of_node, index);
> > + if (!gpio_is_valid(gpio)) {
> > + dev_err(dev, "invalid gpio[%d]: %d\n", index, gpio);
> > + goto free_gpio;
> > + }
> > +
> > + ret = gpio_request(gpio, dev_name(dev));
> > + if (ret) {
> > + dev_err(dev, "gpio [%d] request failed\n", gpio);
> > + goto free_gpio;
> > + }
> > + i2s->gpios[index] = gpio;
> > + }
> > + return 0;
> > +
> > +free_gpio:
> > + while (--index >= 0)
> > + gpio_free(i2s->gpios[index]);
> > + return -EINVAL;
> > +}
> > +
> > +static void samsung_i2s_dt_gpio_free(struct i2s_dai *i2s)
> > +{
> > + unsigned int index;
> > + for (index = 0; index < 7; index++)
> > + gpio_free(i2s->gpios[index]);
> > +}
> > +#else
> > +static int samsung_i2s_parse_dt_gpio(struct i2s_dai *dai)
> > +{
> > + return -EINVAL;
> > +}
> > +
> > +static void samsung_i2s_dt_gpio_free(struct i2s_dai *dai)
> > +{
> > +}
> > +
> > +#endif
>
> NAK.
+1
>
> Why we should leave with this temporary code when there is already
> pinctrl support for Exynos SoCs ?
>
> If the pinctrl driver for Exynos5 was updated you could instead just do
>
> devm_pinctrl_get_select_default(&i2s->pdev->dev);
I said it already by the way of some other Exynos5 patches that Exynos5
has to be migrated to pin control.
The legacy GPIO interface was supposed to be kept only for compatibility
with existing code (until it gets migrated to pin control), not for adding
new code relying on it.
If you intend to add new code which needs to configure pin muxes, you
should migrate Exynos5 to pin control first. This won't be particularly
hard, since pinctrl-exynos driver already supports Exynos5 and all that is
missing are Device Tree nodes for it.
Best regards,
--
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Linux Platform
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-02-14 10:48 ` Sylwester Nawrocki
2013-02-14 11:05 ` Tomasz Figa
@ 2013-02-14 11:43 ` Mark Brown
2013-02-14 20:33 ` Sylwester Nawrocki
1 sibling, 1 reply; 30+ messages in thread
From: Mark Brown @ 2013-02-14 11:43 UTC (permalink / raw)
To: Sylwester Nawrocki
Cc: Padmavathi Venna, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, vinod.koul, grant.likely, swarren,
boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai,
ben-linux
[-- Attachment #1: Type: text/plain, Size: 375 bytes --]
On Thu, Feb 14, 2013 at 11:48:59AM +0100, Sylwester Nawrocki wrote:
> NAK.
> Why we should leave with this temporary code when there is already
> pinctrl support for Exynos SoCs ?
> If the pinctrl driver for Exynos5 was updated you could instead just do
> devm_pinctrl_get_select_default(&i2s->pdev->dev);
Too late, this stuff is already merged and on its way upstream.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-02-14 11:43 ` Mark Brown
@ 2013-02-14 20:33 ` Sylwester Nawrocki
2013-02-15 12:01 ` Mark Brown
0 siblings, 1 reply; 30+ messages in thread
From: Sylwester Nawrocki @ 2013-02-14 20:33 UTC (permalink / raw)
To: Mark Brown, Padmavathi Venna
Cc: Sylwester Nawrocki, padma.kvr, linux-samsung-soc, alsa-devel,
devicetree-discuss, sbkim73, vinod.koul, grant.likely, swarren,
boojin.kim, kgene.kim, jassisinghbrar, thomas.abraham, lrg, tiwai,
ben-linux
On 02/14/2013 12:43 PM, Mark Brown wrote:
> On Thu, Feb 14, 2013 at 11:48:59AM +0100, Sylwester Nawrocki wrote:
>
>> NAK.
>
>> Why we should live with this temporary code when there is already
>> pinctrl support for Exynos SoCs ?
>
>> If the pinctrl driver for Exynos5 was updated you could instead just do
>
>> devm_pinctrl_get_select_default(&i2s->pdev->dev);
>
> Too late, this stuff is already merged and on its way upstream.
My apologies for the late review. It's already sixth version of this patch
series... But I noticed it just now when applying it for Exynos4. The GPIO
part of the bindings is now incompatible with Exynos4 and the bindings will
need to be changed. Leaving the compatibility code in the I2S driver, when
we could have it done well right from the beginning. If I'm not mistaken
a file similar to arch/arm/boot/dts/exynos4x12-pinctrl.dtsi with at least
entries for the I2S devices is needed and an addition of related pinctrl
nodes in exynos5250.dtsi. But I guess this is not something that could be
fixed in the -rc period ?
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-02-14 20:33 ` Sylwester Nawrocki
@ 2013-02-15 12:01 ` Mark Brown
2013-02-17 0:31 ` Padma Venkat
0 siblings, 1 reply; 30+ messages in thread
From: Mark Brown @ 2013-02-15 12:01 UTC (permalink / raw)
To: Sylwester Nawrocki
Cc: Padmavathi Venna, Sylwester Nawrocki, padma.kvr,
linux-samsung-soc, alsa-devel, devicetree-discuss, sbkim73,
vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
[-- Attachment #1: Type: text/plain, Size: 749 bytes --]
On Thu, Feb 14, 2013 at 09:33:00PM +0100, Sylwester Nawrocki wrote:
> My apologies for the late review. It's already sixth version of this patch
> series... But I noticed it just now when applying it for Exynos4. The GPIO
> part of the bindings is now incompatible with Exynos4 and the bindings will
> need to be changed. Leaving the compatibility code in the I2S driver, when
> we could have it done well right from the beginning. If I'm not mistaken
> a file similar to arch/arm/boot/dts/exynos4x12-pinctrl.dtsi with at least
> entries for the I2S devices is needed and an addition of related pinctrl
> nodes in exynos5250.dtsi. But I guess this is not something that could be
> fixed in the -rc period ?
Yes, and incremental fix would be fine.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s
2013-02-15 12:01 ` Mark Brown
@ 2013-02-17 0:31 ` Padma Venkat
0 siblings, 0 replies; 30+ messages in thread
From: Padma Venkat @ 2013-02-17 0:31 UTC (permalink / raw)
To: Mark Brown
Cc: Sylwester Nawrocki, Padmavathi Venna, Sylwester Nawrocki,
linux-samsung-soc, alsa-devel, devicetree-discuss, sbkim73,
vinod.koul, grant.likely, swarren, boojin.kim, kgene.kim,
jassisinghbrar, thomas.abraham, lrg, tiwai, ben-linux
Hi,
On Fri, Feb 15, 2013 at 5:31 PM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Thu, Feb 14, 2013 at 09:33:00PM +0100, Sylwester Nawrocki wrote:
>
>> My apologies for the late review. It's already sixth version of this patch
>> series... But I noticed it just now when applying it for Exynos4. The GPIO
>> part of the bindings is now incompatible with Exynos4 and the bindings will
>> need to be changed. Leaving the compatibility code in the I2S driver, when
>> we could have it done well right from the beginning. If I'm not mistaken
>> a file similar to arch/arm/boot/dts/exynos4x12-pinctrl.dtsi with at least
>> entries for the I2S devices is needed and an addition of related pinctrl
>> nodes in exynos5250.dtsi. But I guess this is not something that could be
>> fixed in the -rc period ?
>
> Yes, and incremental fix would be fine.
I will send a patch for required pinctrl support soon.
Thanks
Padma
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2013-02-17 0:31 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-18 11:46 [PATCH V6 00/10] Add DT support for i2s Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 01/10] ASoC: Samsung: Rename samsung i2s secondary device name Padmavathi Venna
2013-01-24 6:41 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 02/10] ASoC: SAMSUNG: Add DT support for i2s Padmavathi Venna
2013-02-14 10:29 ` Sylwester Nawrocki
2013-02-14 10:48 ` Sylwester Nawrocki
2013-02-14 11:05 ` Tomasz Figa
2013-02-14 11:43 ` Mark Brown
2013-02-14 20:33 ` Sylwester Nawrocki
2013-02-15 12:01 ` Mark Brown
2013-02-17 0:31 ` Padma Venkat
2013-01-18 11:47 ` [PATCH V6 03/10] ARM: SAMSUNG: Make dma request compatible to generic dma bindings Padmavathi Venna
2013-01-29 6:20 ` Mark Brown
2013-01-29 9:30 ` Padma Venkat
2013-01-18 11:47 ` [PATCH V6 04/10] spi: s3c64xx: Modify SPI driver to use generic DMA DT support Padmavathi Venna
2013-01-29 5:19 ` Mark Brown
2013-01-29 9:32 ` Padma Venkat
2013-01-18 11:47 ` [PATCH V6 05/10] ARM: dts: Add nodes for i2s controllers for Samsung Exynos5 platforms Padmavathi Venna
2013-01-18 11:47 ` [PATCH 06/10] ARM: EXYNOS: Enable platform support for I2S controllers Padmavathi Venna
2013-01-18 11:47 ` [PATCH V6 07/10] ASoC: SMDK: WM8994: Add device tree support for machine file Padmavathi Venna
2013-01-29 7:12 ` Mark Brown
2013-01-29 9:39 ` Padma Venkat
2013-01-18 11:47 ` [PATCH V6 08/10] ARM: dts: Modify SPI nodes according generic DMA DT bindings Padmavathi Venna
2013-01-29 7:39 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 09/10] ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio Padmavathi Venna
2013-01-29 7:40 ` Mark Brown
2013-01-18 11:47 ` [PATCH V6 10/10] dmaengine: Fix compilation error in non-DT case Padmavathi Venna
2013-01-27 3:39 ` Mark Brown
2013-01-28 13:47 ` Vinod Koul
2013-01-29 8:53 ` Padma Venkat
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).