* [PATCH 01/17] ARM: S5P6442: Implement i2c-gpio config
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 02/17] ARM: SMDK6442: Enable I2C0 device on board Jassi Brar
` (17 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p6442/setup-i2c0.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-s5p6442/setup-i2c0.c b/arch/arm/mach-s5p6442/setup-i2c0.c
index 662695d..aad8565 100644
--- a/arch/arm/mach-s5p6442/setup-i2c0.c
+++ b/arch/arm/mach-s5p6442/setup-i2c0.c
@@ -14,12 +14,15 @@
#include <linux/kernel.h>
#include <linux/types.h>
+#include <linux/gpio.h>
struct platform_device; /* don't need the contents */
+#include <plat/gpio-cfg.h>
#include <plat/iic.h>
void s3c_i2c0_cfg_gpio(struct platform_device *dev)
{
- /* Will be populated later */
+ s3c_gpio_cfgall_range(S5P6442_GPD1(0), 2,
+ S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
}
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 02/17] ARM: SMDK6442: Enable I2C0 device on board
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
2010-12-17 5:00 ` [PATCH 01/17] ARM: S5P6442: Implement i2c-gpio config Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 03/17] ARM: SMDK6442: Enable I2S device to work Jassi Brar
` (16 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p6442/mach-smdk6442.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5p6442/mach-smdk6442.c b/arch/arm/mach-s5p6442/mach-smdk6442.c
index 819fd80..e69f137 100644
--- a/arch/arm/mach-s5p6442/mach-smdk6442.c
+++ b/arch/arm/mach-s5p6442/mach-smdk6442.c
@@ -12,6 +12,7 @@
#include <linux/types.h>
#include <linux/init.h>
#include <linux/serial_core.h>
+#include <linux/i2c.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
@@ -25,6 +26,7 @@
#include <plat/s5p6442.h>
#include <plat/devs.h>
#include <plat/cpu.h>
+#include <plat/iic.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */
#define SMDK6442_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@@ -65,10 +67,15 @@ static struct s3c2410_uartcfg smdk6442_uartcfgs[] __initdata = {
};
static struct platform_device *smdk6442_devices[] __initdata = {
+ &s3c_device_i2c0,
&s5p6442_device_iis0,
&s3c_device_wdt,
};
+static struct i2c_board_info smdk6442_i2c_devs0[] __initdata = {
+ { I2C_BOARD_INFO("wm8580", 0x1b), },
+};
+
static void __init smdk6442_map_io(void)
{
s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -78,6 +85,9 @@ static void __init smdk6442_map_io(void)
static void __init smdk6442_machine_init(void)
{
+ s3c_i2c0_set_platdata(NULL);
+ i2c_register_board_info(0, smdk6442_i2c_devs0,
+ ARRAY_SIZE(smdk6442_i2c_devs0));
platform_add_devices(smdk6442_devices, ARRAY_SIZE(smdk6442_devices));
}
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 03/17] ARM: SMDK6442: Enable I2S device to work
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
2010-12-17 5:00 ` [PATCH 01/17] ARM: S5P6442: Implement i2c-gpio config Jassi Brar
2010-12-17 5:00 ` [PATCH 02/17] ARM: SMDK6442: Enable I2C0 device on board Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 04/17] ARM: S5P6450: Define clocks for I2S Jassi Brar
` (15 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Add missing virtual ASoC DMA device.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p6442/mach-smdk6442.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5p6442/mach-smdk6442.c b/arch/arm/mach-s5p6442/mach-smdk6442.c
index e69f137..eaf6b9c 100644
--- a/arch/arm/mach-s5p6442/mach-smdk6442.c
+++ b/arch/arm/mach-s5p6442/mach-smdk6442.c
@@ -68,6 +68,7 @@ static struct s3c2410_uartcfg smdk6442_uartcfgs[] __initdata = {
static struct platform_device *smdk6442_devices[] __initdata = {
&s3c_device_i2c0,
+ &samsung_asoc_dma,
&s5p6442_device_iis0,
&s3c_device_wdt,
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 04/17] ARM: S5P6450: Define clocks for I2S
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (2 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 03/17] ARM: SMDK6442: Enable I2S device to work Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-21 0:55 ` Kukjin Kim
2010-12-17 5:00 ` [PATCH 06/17] ARM: S5P64X0: Segregate audio devices Jassi Brar
` (14 subsequent siblings)
18 siblings, 1 reply; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Define missing controller clocks for the I2S-0,1 blocks.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p64x0/clock-s5p6450.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6450.c b/arch/arm/mach-s5p64x0/clock-s5p6450.c
index 7fc6abd..d8b20ee 100644
--- a/arch/arm/mach-s5p64x0/clock-s5p6450.c
+++ b/arch/arm/mach-s5p64x0/clock-s5p6450.c
@@ -261,6 +261,18 @@ static struct clk init_clocks_disable[] = {
.enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 26),
}, {
+ .name = "iis",
+ .id = 1,
+ .parent = &clk_pclk_low.clk,
+ .enable = s5p64x0_pclk_ctrl,
+ .ctrlbit = (1 << 15),
+ }, {
+ .name = "iis",
+ .id = 2,
+ .parent = &clk_pclk_low.clk,
+ .enable = s5p64x0_pclk_ctrl,
+ .ctrlbit = (1 << 16),
+ }, {
.name = "i2c",
.id = 1,
.parent = &clk_pclk_low.clk,
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 04/17] ARM: S5P6450: Define clocks for I2S
2010-12-17 5:00 ` [PATCH 04/17] ARM: S5P6450: Define clocks for I2S Jassi Brar
@ 2010-12-21 0:55 ` Kukjin Kim
2010-12-21 1:43 ` Jassi Brar
0 siblings, 1 reply; 32+ messages in thread
From: Kukjin Kim @ 2010-12-21 0:55 UTC (permalink / raw)
To: linux-arm-kernel
Jassi Brar wrote:
>
> From: Jassi Brar <jassi.brar@samsung.com>
>
> Define missing controller clocks for the I2S-0,1 blocks.
>
Should be "for the I2S-1 and 2 blocks"?
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
> Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
> ---
> arch/arm/mach-s5p64x0/clock-s5p6450.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-s5p64x0/clock-s5p6450.c b/arch/arm/mach-
> s5p64x0/clock-s5p6450.c
> index 7fc6abd..d8b20ee 100644
> --- a/arch/arm/mach-s5p64x0/clock-s5p6450.c
> +++ b/arch/arm/mach-s5p64x0/clock-s5p6450.c
> @@ -261,6 +261,18 @@ static struct clk init_clocks_disable[] = {
> .enable = s5p64x0_pclk_ctrl,
> .ctrlbit = (1 << 26),
> }, {
> + .name = "iis",
> + .id = 1,
> + .parent = &clk_pclk_low.clk,
> + .enable = s5p64x0_pclk_ctrl,
> + .ctrlbit = (1 << 15),
> + }, {
> + .name = "iis",
> + .id = 2,
> + .parent = &clk_pclk_low.clk,
> + .enable = s5p64x0_pclk_ctrl,
> + .ctrlbit = (1 << 16),
> + }, {
> .name = "i2c",
> .id = 1,
> .parent = &clk_pclk_low.clk,
> --
> 1.6.2.5
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 06/17] ARM: S5P64X0: Segregate audio devices
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (3 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 04/17] ARM: S5P6450: Define clocks for I2S Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-21 0:39 ` Kukjin Kim
2010-12-17 5:00 ` [PATCH 05/17] ARM: S5P6450: Define base addresses for I2S Jassi Brar
` (13 subsequent siblings)
18 siblings, 1 reply; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Segregate I2S devices for S5P6440 and S5P6450.
Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p64x0/dev-audio.c | 123 ++++++++++++++++++++++++++---
arch/arm/plat-samsung/include/plat/devs.h | 2 +
2 files changed, 112 insertions(+), 13 deletions(-)
diff --git a/arch/arm/mach-s5p64x0/dev-audio.c b/arch/arm/mach-s5p64x0/dev-audio.c
index 14f89e7..35f1f22 100644
--- a/arch/arm/mach-s5p64x0/dev-audio.c
+++ b/arch/arm/mach-s5p64x0/dev-audio.c
@@ -24,13 +24,13 @@ static const char *rclksrc[] = {
[1] = "sclk_audio2",
};
-static int s5p64x0_cfg_i2s(struct platform_device *pdev)
+static int s5p6440_cfg_i2s(struct platform_device *pdev)
{
- /* configure GPIO for i2s port */
switch (pdev->id) {
case 0:
- s3c_gpio_cfgpin_range(S5P6440_GPR(4), 5, S3C_GPIO_SFN(5));
- s3c_gpio_cfgpin_range(S5P6440_GPR(13), 2, S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin_range(S5P6440_GPC(4), 2, S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin(S5P6440_GPC(7), S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin_range(S5P6440_GPH(6), 4, S3C_GPIO_SFN(5));
break;
default:
printk(KERN_ERR "Invalid Device %d\n", pdev->id);
@@ -40,8 +40,8 @@ static int s5p64x0_cfg_i2s(struct platform_device *pdev)
return 0;
}
-static struct s3c_audio_pdata s5p64x0_i2s_pdata = {
- .cfg_gpio = s5p64x0_cfg_i2s,
+static struct s3c_audio_pdata s5p6440_i2s_pdata = {
+ .cfg_gpio = s5p6440_cfg_i2s,
.type = {
.i2s = {
.quirks = QUIRK_PRI_6CHAN,
@@ -50,7 +50,7 @@ static struct s3c_audio_pdata s5p64x0_i2s_pdata = {
},
};
-static struct resource s5p64x0_iis0_resource[] = {
+static struct resource s5p64x0_i2s0_resource[] = {
[0] = {
.start = S5P64X0_PA_I2S,
.end = S5P64X0_PA_I2S + 0x100 - 1,
@@ -71,20 +71,117 @@ static struct resource s5p64x0_iis0_resource[] = {
struct platform_device s5p6440_device_iis = {
.name = "samsung-i2s",
.id = 0,
- .num_resources = ARRAY_SIZE(s5p64x0_iis0_resource),
- .resource = s5p64x0_iis0_resource,
+ .num_resources = ARRAY_SIZE(s5p64x0_i2s0_resource),
+ .resource = s5p64x0_i2s0_resource,
.dev = {
- .platform_data = &s5p64x0_i2s_pdata,
+ .platform_data = &s5p6440_i2s_pdata,
+ },
+};
+
+static int s5p6450_cfg_i2s(struct platform_device *pdev)
+{
+ switch (pdev->id) {
+ case 0:
+ s3c_gpio_cfgpin_range(S5P6450_GPR(4), 5, S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin_range(S5P6450_GPR(13), 2, S3C_GPIO_SFN(5));
+ break;
+ case 1:
+ s3c_gpio_cfgpin(S5P6440_GPB(4), S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin_range(S5P6450_GPC(0), 4, S3C_GPIO_SFN(5));
+ break;
+ case 2:
+ s3c_gpio_cfgpin_range(S5P6450_GPK(0), 5, S3C_GPIO_SFN(5));
+ break;
+ default:
+ printk(KERN_ERR "Invalid Device %d\n", pdev->id);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static struct s3c_audio_pdata s5p6450_i2s0_pdata = {
+ .cfg_gpio = s5p6450_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_PRI_6CHAN,
+ .src_clk = rclksrc,
+ },
},
};
struct platform_device s5p6450_device_iis0 = {
.name = "samsung-i2s",
.id = 0,
- .num_resources = ARRAY_SIZE(s5p64x0_iis0_resource),
- .resource = s5p64x0_iis0_resource,
+ .num_resources = ARRAY_SIZE(s5p64x0_i2s0_resource),
+ .resource = s5p64x0_i2s0_resource,
+ .dev = {
+ .platform_data = &s5p6450_i2s0_pdata,
+ },
+};
+
+static struct s3c_audio_pdata s5p6450_i2s_pdata = {
+ .cfg_gpio = s5p6450_cfg_i2s,
+ .type = {
+ .i2s = {
+ .src_clk = rclksrc,
+ },
+ },
+};
+
+static struct resource s5p6450_i2s1_resource[] = {
+ [0] = {
+ .start = S5P6450_PA_I2S1,
+ .end = S5P6450_PA_I2S1 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_I2S1_TX,
+ .end = DMACH_I2S1_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_I2S1_RX,
+ .end = DMACH_I2S1_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5p6450_device_iis1 = {
+ .name = "samsung-i2s",
+ .id = 1,
+ .num_resources = ARRAY_SIZE(s5p6450_i2s1_resource),
+ .resource = s5p6450_i2s1_resource,
+ .dev = {
+ .platform_data = &s5p6450_i2s_pdata,
+ },
+};
+
+static struct resource s5p6450_i2s2_resource[] = {
+ [0] = {
+ .start = S5P6450_PA_I2S2,
+ .end = S5P6450_PA_I2S2 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_I2S2_TX,
+ .end = DMACH_I2S2_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_I2S2_RX,
+ .end = DMACH_I2S2_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5p6450_device_iis2 = {
+ .name = "samsung-i2s",
+ .id = 2,
+ .num_resources = ARRAY_SIZE(s5p6450_i2s2_resource),
+ .resource = s5p6450_i2s2_resource,
.dev = {
- .platform_data = &s5p64x0_i2s_pdata,
+ .platform_data = &s5p6450_i2s_pdata,
},
};
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h
index e9e3b6e..ec23691 100644
--- a/arch/arm/plat-samsung/include/plat/devs.h
+++ b/arch/arm/plat-samsung/include/plat/devs.h
@@ -115,6 +115,8 @@ extern struct platform_device s5p6440_device_pcm;
extern struct platform_device s5p6440_device_iis;
extern struct platform_device s5p6450_device_iis0;
+extern struct platform_device s5p6450_device_iis1;
+extern struct platform_device s5p6450_device_iis2;
extern struct platform_device s5p6450_device_pcm0;
extern struct platform_device s5pc100_device_ac97;
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 06/17] ARM: S5P64X0: Segregate audio devices
2010-12-17 5:00 ` [PATCH 06/17] ARM: S5P64X0: Segregate audio devices Jassi Brar
@ 2010-12-21 0:39 ` Kukjin Kim
2010-12-21 1:41 ` Jassi Brar
0 siblings, 1 reply; 32+ messages in thread
From: Kukjin Kim @ 2010-12-21 0:39 UTC (permalink / raw)
To: linux-arm-kernel
Jassi Brar wrote:
>
> From: Jassi Brar <jassi.brar@samsung.com>
>
Hi Jassi,
Maybe this is from Rajeshwari Shinde?
From: Rajeshwari Shinde <rajeshwari.s@samsung.com>
> Segregate I2S devices for S5P6440 and S5P6450.
>
> Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
> Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
> ---
> arch/arm/mach-s5p64x0/dev-audio.c | 123
++++++++++++++++++++++++++-
> --
> arch/arm/plat-samsung/include/plat/devs.h | 2 +
> 2 files changed, 112 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm/mach-s5p64x0/dev-audio.c
b/arch/arm/mach-s5p64x0/dev-
> audio.c
> index 14f89e7..35f1f22 100644
> --- a/arch/arm/mach-s5p64x0/dev-audio.c
> +++ b/arch/arm/mach-s5p64x0/dev-audio.c
> @@ -24,13 +24,13 @@ static const char *rclksrc[] = {
> [1] = "sclk_audio2",
> };
>
> -static int s5p64x0_cfg_i2s(struct platform_device *pdev)
> +static int s5p6440_cfg_i2s(struct platform_device *pdev)
> {
> - /* configure GPIO for i2s port */
> switch (pdev->id) {
> case 0:
> - s3c_gpio_cfgpin_range(S5P6440_GPR(4), 5, S3C_GPIO_SFN(5));
> - s3c_gpio_cfgpin_range(S5P6440_GPR(13), 2, S3C_GPIO_SFN(5));
> + s3c_gpio_cfgpin_range(S5P6440_GPC(4), 2, S3C_GPIO_SFN(5));
> + s3c_gpio_cfgpin(S5P6440_GPC(7), S3C_GPIO_SFN(5));
> + s3c_gpio_cfgpin_range(S5P6440_GPH(6), 4, S3C_GPIO_SFN(5));
> break;
> default:
> printk(KERN_ERR "Invalid Device %d\n", pdev->id);
> @@ -40,8 +40,8 @@ static int s5p64x0_cfg_i2s(struct platform_device *pdev)
> return 0;
> }
>
> -static struct s3c_audio_pdata s5p64x0_i2s_pdata = {
> - .cfg_gpio = s5p64x0_cfg_i2s,
> +static struct s3c_audio_pdata s5p6440_i2s_pdata = {
> + .cfg_gpio = s5p6440_cfg_i2s,
> .type = {
> .i2s = {
> .quirks = QUIRK_PRI_6CHAN,
> @@ -50,7 +50,7 @@ static struct s3c_audio_pdata s5p64x0_i2s_pdata = {
> },
> };
>
> -static struct resource s5p64x0_iis0_resource[] = {
> +static struct resource s5p64x0_i2s0_resource[] = {
> [0] = {
> .start = S5P64X0_PA_I2S,
> .end = S5P64X0_PA_I2S + 0x100 - 1,
> @@ -71,20 +71,117 @@ static struct resource s5p64x0_iis0_resource[] = {
> struct platform_device s5p6440_device_iis = {
> .name = "samsung-i2s",
> .id = 0,
> - .num_resources = ARRAY_SIZE(s5p64x0_iis0_resource),
> - .resource = s5p64x0_iis0_resource,
> + .num_resources = ARRAY_SIZE(s5p64x0_i2s0_resource),
> + .resource = s5p64x0_i2s0_resource,
> .dev = {
> - .platform_data = &s5p64x0_i2s_pdata,
> + .platform_data = &s5p6440_i2s_pdata,
> + },
> +};
> +
> +static int s5p6450_cfg_i2s(struct platform_device *pdev)
> +{
> + switch (pdev->id) {
> + case 0:
> + s3c_gpio_cfgpin_range(S5P6450_GPR(4), 5, S3C_GPIO_SFN(5));
> + s3c_gpio_cfgpin_range(S5P6450_GPR(13), 2, S3C_GPIO_SFN(5));
> + break;
> + case 1:
> + s3c_gpio_cfgpin(S5P6440_GPB(4), S3C_GPIO_SFN(5));
> + s3c_gpio_cfgpin_range(S5P6450_GPC(0), 4, S3C_GPIO_SFN(5));
> + break;
> + case 2:
> + s3c_gpio_cfgpin_range(S5P6450_GPK(0), 5, S3C_GPIO_SFN(5));
> + break;
> + default:
> + printk(KERN_ERR "Invalid Device %d\n", pdev->id);
> + return -EINVAL;
> + }
> +
> + return 0;
> +}
> +
> +static struct s3c_audio_pdata s5p6450_i2s0_pdata = {
> + .cfg_gpio = s5p6450_cfg_i2s,
> + .type = {
> + .i2s = {
> + .quirks = QUIRK_PRI_6CHAN,
> + .src_clk = rclksrc,
> + },
> },
> };
>
> struct platform_device s5p6450_device_iis0 = {
> .name = "samsung-i2s",
> .id = 0,
> - .num_resources = ARRAY_SIZE(s5p64x0_iis0_resource),
> - .resource = s5p64x0_iis0_resource,
> + .num_resources = ARRAY_SIZE(s5p64x0_i2s0_resource),
> + .resource = s5p64x0_i2s0_resource,
> + .dev = {
> + .platform_data = &s5p6450_i2s0_pdata,
> + },
> +};
> +
> +static struct s3c_audio_pdata s5p6450_i2s_pdata = {
> + .cfg_gpio = s5p6450_cfg_i2s,
> + .type = {
> + .i2s = {
> + .src_clk = rclksrc,
> + },
> + },
> +};
> +
> +static struct resource s5p6450_i2s1_resource[] = {
> + [0] = {
> + .start = S5P6450_PA_I2S1,
> + .end = S5P6450_PA_I2S1 + 0x100 - 1,
> + .flags = IORESOURCE_MEM,
> + },
> + [1] = {
> + .start = DMACH_I2S1_TX,
> + .end = DMACH_I2S1_TX,
> + .flags = IORESOURCE_DMA,
> + },
> + [2] = {
> + .start = DMACH_I2S1_RX,
> + .end = DMACH_I2S1_RX,
> + .flags = IORESOURCE_DMA,
> + },
> +};
> +
> +struct platform_device s5p6450_device_iis1 = {
> + .name = "samsung-i2s",
> + .id = 1,
> + .num_resources = ARRAY_SIZE(s5p6450_i2s1_resource),
> + .resource = s5p6450_i2s1_resource,
> + .dev = {
> + .platform_data = &s5p6450_i2s_pdata,
> + },
> +};
> +
> +static struct resource s5p6450_i2s2_resource[] = {
> + [0] = {
> + .start = S5P6450_PA_I2S2,
> + .end = S5P6450_PA_I2S2 + 0x100 - 1,
> + .flags = IORESOURCE_MEM,
> + },
> + [1] = {
> + .start = DMACH_I2S2_TX,
> + .end = DMACH_I2S2_TX,
> + .flags = IORESOURCE_DMA,
> + },
> + [2] = {
> + .start = DMACH_I2S2_RX,
> + .end = DMACH_I2S2_RX,
> + .flags = IORESOURCE_DMA,
> + },
> +};
> +
> +struct platform_device s5p6450_device_iis2 = {
> + .name = "samsung-i2s",
> + .id = 2,
> + .num_resources = ARRAY_SIZE(s5p6450_i2s2_resource),
> + .resource = s5p6450_i2s2_resource,
> .dev = {
> - .platform_data = &s5p64x0_i2s_pdata,
> + .platform_data = &s5p6450_i2s_pdata,
> },
> };
>
> diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-
> samsung/include/plat/devs.h
> index e9e3b6e..ec23691 100644
> --- a/arch/arm/plat-samsung/include/plat/devs.h
> +++ b/arch/arm/plat-samsung/include/plat/devs.h
> @@ -115,6 +115,8 @@ extern struct platform_device s5p6440_device_pcm;
> extern struct platform_device s5p6440_device_iis;
>
> extern struct platform_device s5p6450_device_iis0;
> +extern struct platform_device s5p6450_device_iis1;
> +extern struct platform_device s5p6450_device_iis2;
> extern struct platform_device s5p6450_device_pcm0;
>
> extern struct platform_device s5pc100_device_ac97;
> --
> 1.6.2.5
^ permalink raw reply [flat|nested] 32+ messages in thread* [PATCH 06/17] ARM: S5P64X0: Segregate audio devices
2010-12-21 0:39 ` Kukjin Kim
@ 2010-12-21 1:41 ` Jassi Brar
0 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-21 1:41 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Dec 21, 2010 at 9:39 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Jassi Brar wrote:
>>
>> From: Jassi Brar <jassi.brar@samsung.com>
>>
> Hi Jassi,
>
> Maybe this is from Rajeshwari Shinde?
Not exactly, though I am ok if you modify it so.
I prepared the patch independently, but credited her because she
had sent me a similar patch in a patchset. I couldn't accept her
other patches but this one was ok.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 05/17] ARM: S5P6450: Define base addresses for I2S
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (4 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 06/17] ARM: S5P64X0: Segregate audio devices Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 07/17] ARM: SMDK6440: Enable I2S device to work Jassi Brar
` (12 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p64x0/include/mach/map.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5p64x0/include/mach/map.h b/arch/arm/mach-s5p64x0/include/mach/map.h
index 31e5341..4d3d332 100644
--- a/arch/arm/mach-s5p64x0/include/mach/map.h
+++ b/arch/arm/mach-s5p64x0/include/mach/map.h
@@ -63,6 +63,8 @@
#define S5P64X0_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000))
#define S5P64X0_PA_I2S (0xF2000000)
+#define S5P6450_PA_I2S1 0xF2800000
+#define S5P6450_PA_I2S2 0xF2900000
#define S5P64X0_PA_PCM (0xF2100000)
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 07/17] ARM: SMDK6440: Enable I2S device to work
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (5 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 05/17] ARM: S5P6450: Define base addresses for I2S Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 08/17] ARM: SMDK6450: " Jassi Brar
` (11 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Add missing virtual ASoC DMA device and WM8580 as I2C slave, so
that the I2S can work on SMDK.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p64x0/mach-smdk6440.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6440.c b/arch/arm/mach-s5p64x0/mach-smdk6440.c
index 87c3f03..e5beb84 100644
--- a/arch/arm/mach-s5p64x0/mach-smdk6440.c
+++ b/arch/arm/mach-s5p64x0/mach-smdk6440.c
@@ -95,6 +95,7 @@ static struct platform_device *smdk6440_devices[] __initdata = {
&s3c_device_i2c1,
&s3c_device_ts,
&s3c_device_wdt,
+ &samsung_asoc_dma,
&s5p6440_device_iis,
};
@@ -117,6 +118,7 @@ static struct s3c2410_platform_i2c s5p6440_i2c1_data __initdata = {
static struct i2c_board_info smdk6440_i2c_devs0[] __initdata = {
{ I2C_BOARD_INFO("24c08", 0x50), },
+ { I2C_BOARD_INFO("wm8580", 0x1b), },
};
static struct i2c_board_info smdk6440_i2c_devs1[] __initdata = {
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 08/17] ARM: SMDK6450: Enable I2S device to work
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (6 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 07/17] ARM: SMDK6440: Enable I2S device to work Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 09/17] ARM: SMDKC110: " Jassi Brar
` (10 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Add missing virtual ASoC DMA device and WM8580 as I2C slave, so
that the I2S can work on SMDK.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p64x0/mach-smdk6450.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6450.c b/arch/arm/mach-s5p64x0/mach-smdk6450.c
index d609f5a..3a20de0 100644
--- a/arch/arm/mach-s5p64x0/mach-smdk6450.c
+++ b/arch/arm/mach-s5p64x0/mach-smdk6450.c
@@ -113,6 +113,7 @@ static struct platform_device *smdk6450_devices[] __initdata = {
&s3c_device_i2c1,
&s3c_device_ts,
&s3c_device_wdt,
+ &samsung_asoc_dma,
&s5p6450_device_iis0,
/* s5p6450_device_spi0 will be added */
};
@@ -135,6 +136,7 @@ static struct s3c2410_platform_i2c s5p6450_i2c1_data __initdata = {
};
static struct i2c_board_info smdk6450_i2c_devs0[] __initdata = {
+ { I2C_BOARD_INFO("wm8580", 0x1b), },
{ I2C_BOARD_INFO("24c08", 0x50), }, /* Samsung KS24C080C EEPROM */
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 09/17] ARM: SMDKC110: Enable I2S device to work
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (7 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 08/17] ARM: SMDK6450: " Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 10/17] ARM: SMDKV210: " Jassi Brar
` (9 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Add missing virtual ASoC DMA device and WM8580 as I2C slave, so
that the I2S can work on SMDK.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv210/mach-smdkc110.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv210/mach-smdkc110.c b/arch/arm/mach-s5pv210/mach-smdkc110.c
index 5dd1681..ce11a02 100644
--- a/arch/arm/mach-s5pv210/mach-smdkc110.c
+++ b/arch/arm/mach-s5pv210/mach-smdkc110.c
@@ -81,6 +81,7 @@ static struct s3c_ide_platdata smdkc110_ide_pdata __initdata = {
};
static struct platform_device *smdkc110_devices[] __initdata = {
+ &samsung_asoc_dma,
&s5pv210_device_iis0,
&s5pv210_device_ac97,
&s5pv210_device_spdif,
@@ -94,6 +95,7 @@ static struct platform_device *smdkc110_devices[] __initdata = {
static struct i2c_board_info smdkc110_i2c_devs0[] __initdata = {
{ I2C_BOARD_INFO("24c08", 0x50), }, /* Samsung S524AD0XD1 */
+ { I2C_BOARD_INFO("wm8580", 0x1b), },
};
static struct i2c_board_info smdkc110_i2c_devs1[] __initdata = {
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 10/17] ARM: SMDKV210: Enable I2S device to work
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (8 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 09/17] ARM: SMDKC110: " Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 11/17] ARM: SMDKV310: Enable I2C1 device Jassi Brar
` (8 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Add missing virtual ASoC DMA device and WM8580 as I2C slave, so
that the I2S can work on SMDK.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv210/mach-smdkv210.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c
index 1fbc45b..1b27015 100644
--- a/arch/arm/mach-s5pv210/mach-smdkv210.c
+++ b/arch/arm/mach-s5pv210/mach-smdkv210.c
@@ -103,6 +103,7 @@ static struct samsung_keypad_platdata smdkv210_keypad_data __initdata = {
};
static struct platform_device *smdkv210_devices[] __initdata = {
+ &samsung_asoc_dma,
&s5pv210_device_iis0,
&s5pv210_device_ac97,
&s5pv210_device_spdif,
@@ -123,6 +124,7 @@ static struct platform_device *smdkv210_devices[] __initdata = {
static struct i2c_board_info smdkv210_i2c_devs0[] __initdata = {
{ I2C_BOARD_INFO("24c08", 0x50), }, /* Samsung S524AD0XD1 */
+ { I2C_BOARD_INFO("wm8580", 0x1b), },
};
static struct i2c_board_info smdkv210_i2c_devs1[] __initdata = {
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 11/17] ARM: SMDKV310: Enable I2C1 device
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (9 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 10/17] ARM: SMDKV210: " Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 12/17] ARM: S5PV310: Add PDMA clocks Jassi Brar
` (7 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Enable the I2C_1 device on SMDKV310 and SMDKC210
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/Kconfig | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/Kconfig b/arch/arm/mach-s5pv310/Kconfig
index d64efe0..67d7032 100644
--- a/arch/arm/mach-s5pv310/Kconfig
+++ b/arch/arm/mach-s5pv310/Kconfig
@@ -75,6 +75,8 @@ config MACH_SMDKC210
select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3
select S5PV310_SETUP_SDHCI
+ select S3C_DEV_I2C1
+ select S5PV310_SETUP_I2C1
help
Machine support for Samsung SMDKC210
S5PC210(MCP) is one of package option of S5PV310
@@ -103,6 +105,8 @@ config MACH_SMDKV310
select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3
select S5PV310_SETUP_SDHCI
+ select S3C_DEV_I2C1
+ select S5PV310_SETUP_I2C1
help
Machine support for Samsung SMDKV310
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 12/17] ARM: S5PV310: Add PDMA clocks
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (10 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 11/17] ARM: SMDKV310: Enable I2C1 device Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 13/17] ARM: S5PV310: Add AC97 clocks Jassi Brar
` (6 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Define PDMA clocks for the controller 0 & 1.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/clock.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/clock.c b/arch/arm/mach-s5pv310/clock.c
index 58c9d33..ace8f52 100644
--- a/arch/arm/mach-s5pv310/clock.c
+++ b/arch/arm/mach-s5pv310/clock.c
@@ -467,6 +467,16 @@ static struct clk init_clocks_disable[] = {
.enable = s5pv310_clk_ip_fsys_ctrl,
.ctrlbit = (1 << 10),
}, {
+ .name = "pdma",
+ .id = 0,
+ .enable = s5pv310_clk_ip_fsys_ctrl,
+ .ctrlbit = (1 << 0),
+ }, {
+ .name = "pdma",
+ .id = 1,
+ .enable = s5pv310_clk_ip_fsys_ctrl,
+ .ctrlbit = (1 << 1),
+ }, {
.name = "adc",
.id = -1,
.enable = s5pv310_clk_ip_peril_ctrl,
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 13/17] ARM: S5PV310: Add AC97 clocks
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (11 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 12/17] ARM: S5PV310: Add PDMA clocks Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 14/17] ARM: S5PV310: Define I2S clocks Jassi Brar
` (5 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Define clock for the AC97 controller
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/clock.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/clock.c b/arch/arm/mach-s5pv310/clock.c
index ace8f52..189198a 100644
--- a/arch/arm/mach-s5pv310/clock.c
+++ b/arch/arm/mach-s5pv310/clock.c
@@ -517,6 +517,11 @@ static struct clk init_clocks_disable[] = {
.enable = s5pv310_clk_ip_peril_ctrl,
.ctrlbit = (1 << 18),
}, {
+ .name = "ac97",
+ .id = -1,
+ .enable = s5pv310_clk_ip_peril_ctrl,
+ .ctrlbit = (1 << 27),
+ }, {
.name = "fimg2d",
.id = -1,
.enable = s5pv310_clk_ip_image_ctrl,
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 14/17] ARM: S5PV310: Define I2S clocks
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (12 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 13/17] ARM: S5PV310: Add AC97 clocks Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:44 ` Kyungmin Park
2010-12-17 5:00 ` [PATCH 15/17] ARM: S5PV310: Add AC97 support for SMDK Jassi Brar
` (4 subsequent siblings)
18 siblings, 1 reply; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/clock.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/clock.c b/arch/arm/mach-s5pv310/clock.c
index 189198a..6d22c43 100644
--- a/arch/arm/mach-s5pv310/clock.c
+++ b/arch/arm/mach-s5pv310/clock.c
@@ -517,6 +517,21 @@ static struct clk init_clocks_disable[] = {
.enable = s5pv310_clk_ip_peril_ctrl,
.ctrlbit = (1 << 18),
}, {
+ .name = "iis",
+ .id = 0,
+ .enable = s5pv310_clk_ip_peril_ctrl,
+ .ctrlbit = (1 << 19),
+ }, {
+ .name = "iis",
+ .id = 1,
+ .enable = s5pv310_clk_ip_peril_ctrl,
+ .ctrlbit = (1 << 20),
+ }, {
+ .name = "iis",
+ .id = 2,
+ .enable = s5pv310_clk_ip_peril_ctrl,
+ .ctrlbit = (1 << 21),
+ }, {
.name = "ac97",
.id = -1,
.enable = s5pv310_clk_ip_peril_ctrl,
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 14/17] ARM: S5PV310: Define I2S clocks
2010-12-17 5:00 ` [PATCH 14/17] ARM: S5PV310: Define I2S clocks Jassi Brar
@ 2010-12-17 5:44 ` Kyungmin Park
2010-12-17 5:51 ` Jassi Brar
0 siblings, 1 reply; 32+ messages in thread
From: Kyungmin Park @ 2010-12-17 5:44 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Don't you use the i2s instead of iis?
Thank you,
Kyungmin Park
On Fri, Dec 17, 2010 at 2:00 PM, Jassi Brar <jassisinghbrar@gmail.com> wrote:
> From: Jassi Brar <jassi.brar@samsung.com>
>
> Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
> ---
> ?arch/arm/mach-s5pv310/clock.c | ? 15 +++++++++++++++
> ?1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-s5pv310/clock.c b/arch/arm/mach-s5pv310/clock.c
> index 189198a..6d22c43 100644
> --- a/arch/arm/mach-s5pv310/clock.c
> +++ b/arch/arm/mach-s5pv310/clock.c
> @@ -517,6 +517,21 @@ static struct clk init_clocks_disable[] = {
> ? ? ? ? ? ? ? ?.enable ? ? ? ? = s5pv310_clk_ip_peril_ctrl,
> ? ? ? ? ? ? ? ?.ctrlbit ? ? ? ?= (1 << 18),
> ? ? ? ?}, {
> + ? ? ? ? ? ? ? .name ? ? ? ? ? = "iis",
> + ? ? ? ? ? ? ? .id ? ? ? ? ? ? = 0,
> + ? ? ? ? ? ? ? .enable ? ? ? ? = s5pv310_clk_ip_peril_ctrl,
> + ? ? ? ? ? ? ? .ctrlbit ? ? ? ?= (1 << 19),
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .name ? ? ? ? ? = "iis",
> + ? ? ? ? ? ? ? .id ? ? ? ? ? ? = 1,
> + ? ? ? ? ? ? ? .enable ? ? ? ? = s5pv310_clk_ip_peril_ctrl,
> + ? ? ? ? ? ? ? .ctrlbit ? ? ? ?= (1 << 20),
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .name ? ? ? ? ? = "iis",
> + ? ? ? ? ? ? ? .id ? ? ? ? ? ? = 2,
> + ? ? ? ? ? ? ? .enable ? ? ? ? = s5pv310_clk_ip_peril_ctrl,
> + ? ? ? ? ? ? ? .ctrlbit ? ? ? ?= (1 << 21),
> + ? ? ? }, {
> ? ? ? ? ? ? ? ?.name ? ? ? ? ? = "ac97",
> ? ? ? ? ? ? ? ?.id ? ? ? ? ? ? = -1,
> ? ? ? ? ? ? ? ?.enable ? ? ? ? = s5pv310_clk_ip_peril_ctrl,
> --
> 1.6.2.5
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
^ permalink raw reply [flat|nested] 32+ messages in thread* [PATCH 14/17] ARM: S5PV310: Define I2S clocks
2010-12-17 5:44 ` Kyungmin Park
@ 2010-12-17 5:51 ` Jassi Brar
2010-12-17 6:02 ` Kyungmin Park
0 siblings, 1 reply; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:51 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Dec 17, 2010 at 2:44 PM, Kyungmin Park <kmpark@infradead.org> wrote:
>
> Don't you use the i2s instead of iis?
The already present driver expects 'iis' so we have to call it so, atm.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 14/17] ARM: S5PV310: Define I2S clocks
2010-12-17 5:51 ` Jassi Brar
@ 2010-12-17 6:02 ` Kyungmin Park
2010-12-17 6:14 ` Jassi Brar
0 siblings, 1 reply; 32+ messages in thread
From: Kyungmin Park @ 2010-12-17 6:02 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Dec 17, 2010 at 2:51 PM, Jassi Brar <jassisinghbrar@gmail.com> wrote:
> On Fri, Dec 17, 2010 at 2:44 PM, Kyungmin Park <kmpark@infradead.org> wrote:
>>
>> Don't you use the i2s instead of iis?
>
> The already present driver expects 'iis' so we have to call it so, atm.
Then code clean is first?
Your logic same as you complained about code consistency.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 14/17] ARM: S5PV310: Define I2S clocks
2010-12-17 6:02 ` Kyungmin Park
@ 2010-12-17 6:14 ` Jassi Brar
0 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 6:14 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Dec 17, 2010 at 3:02 PM, Kyungmin Park <kmpark@infradead.org> wrote:
> On Fri, Dec 17, 2010 at 2:51 PM, Jassi Brar <jassisinghbrar@gmail.com> wrote:
>> On Fri, Dec 17, 2010 at 2:44 PM, Kyungmin Park <kmpark@infradead.org> wrote:
>>>
>>> Don't you use the i2s instead of iis?
>>
>> The already present driver expects 'iis' so we have to call it so, atm.
>
> Then code clean is first?
Yes, the code needs cleaning, but i have more important tasks right now.
> Your logic same as you complained about code consistency.
Nopes.
If I simply change from 'iis' to 'i2s' here, audio would break.
My suggestion, the other day, to simply drop brackets from around
_constants_ couldn't break anything. And I didn't ask anybody to first
submit patch that removes all instances of brackets around constants.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 15/17] ARM: S5PV310: Add AC97 support for SMDK
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (13 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 14/17] ARM: S5PV310: Define I2S clocks Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 16/17] ARM: SMDKV310: Enable I2S device Jassi Brar
` (3 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Enable AC97 audio device on SMDKV310 and SMDKC210.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/mach-smdkc210.c | 2 ++
arch/arm/mach-s5pv310/mach-smdkv310.c | 2 ++
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/mach-smdkc210.c b/arch/arm/mach-s5pv310/mach-smdkc210.c
index 2b8d4fc..c90d136 100644
--- a/arch/arm/mach-s5pv310/mach-smdkc210.c
+++ b/arch/arm/mach-s5pv310/mach-smdkc210.c
@@ -147,6 +147,8 @@ static struct platform_device *smdkc210_devices[] __initdata = {
&s3c_device_rtc,
&s3c_device_wdt,
&smdkc210_smsc911x,
+ &samsung_asoc_dma,
+ &s5pv310_device_ac97,
};
static void __init smdkc210_smsc911x_init(void)
diff --git a/arch/arm/mach-s5pv310/mach-smdkv310.c b/arch/arm/mach-s5pv310/mach-smdkv310.c
index 35826d6..da79f7f 100644
--- a/arch/arm/mach-s5pv310/mach-smdkv310.c
+++ b/arch/arm/mach-s5pv310/mach-smdkv310.c
@@ -147,6 +147,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
&s3c_device_rtc,
&s3c_device_wdt,
&smdkv310_smsc911x,
+ &samsung_asoc_dma,
+ &s5pv310_device_ac97,
};
static void __init smdkv310_smsc911x_init(void)
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 16/17] ARM: SMDKV310: Enable I2S device
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (14 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 15/17] ARM: S5PV310: Add AC97 support for SMDK Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 5:00 ` [PATCH 17/17] ARM: SMDKC210: " Jassi Brar
` (2 subsequent siblings)
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Enable I2S_0 device on the SMDK.
Also, add the dependency I2C_1 device.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/mach-smdkv310.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/mach-smdkv310.c b/arch/arm/mach-s5pv310/mach-smdkv310.c
index da79f7f..d56133f 100644
--- a/arch/arm/mach-s5pv310/mach-smdkv310.c
+++ b/arch/arm/mach-s5pv310/mach-smdkv310.c
@@ -14,6 +14,7 @@
#include <linux/platform_device.h>
#include <linux/smsc911x.h>
#include <linux/io.h>
+#include <linux/i2c.h>
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
@@ -23,6 +24,7 @@
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/sdhci.h>
+#include <plat/iic.h>
#include <mach/map.h>
#include <mach/regs-srom.h>
@@ -139,7 +141,12 @@ static struct platform_device smdkv310_smsc911x = {
},
};
+static struct i2c_board_info i2c_devs1[] __initdata = {
+ {I2C_BOARD_INFO("wm8994", 0x1a),},
+};
+
static struct platform_device *smdkv310_devices[] __initdata = {
+ &s3c_device_i2c1,
&s3c_device_hsmmc0,
&s3c_device_hsmmc1,
&s3c_device_hsmmc2,
@@ -149,6 +156,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
&smdkv310_smsc911x,
&samsung_asoc_dma,
&s5pv310_device_ac97,
+ &s5pv310_device_i2s0,
};
static void __init smdkv310_smsc911x_init(void)
@@ -184,6 +192,9 @@ static void __init smdkv310_map_io(void)
static void __init smdkv310_machine_init(void)
{
+ s3c_i2c1_set_platdata(NULL);
+ i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));
+
smdkv310_smsc911x_init();
s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 17/17] ARM: SMDKC210: Enable I2S device
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (15 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 16/17] ARM: SMDKV310: Enable I2S device Jassi Brar
@ 2010-12-17 5:00 ` Jassi Brar
2010-12-17 11:55 ` [PATCH 00/17] Samsung: Enable Audio Devices Mark Brown
2010-12-21 1:26 ` Kukjin Kim
18 siblings, 0 replies; 32+ messages in thread
From: Jassi Brar @ 2010-12-17 5:00 UTC (permalink / raw)
To: linux-arm-kernel
From: Jassi Brar <jassi.brar@samsung.com>
Enable I2S_0 device on the SMDK.
Also, add the dependency I2C_1 device.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/mach-smdkc210.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s5pv310/mach-smdkc210.c b/arch/arm/mach-s5pv310/mach-smdkc210.c
index c90d136..306b252 100644
--- a/arch/arm/mach-s5pv310/mach-smdkc210.c
+++ b/arch/arm/mach-s5pv310/mach-smdkc210.c
@@ -14,6 +14,7 @@
#include <linux/platform_device.h>
#include <linux/smsc911x.h>
#include <linux/io.h>
+#include <linux/i2c.h>
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
@@ -23,6 +24,7 @@
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/sdhci.h>
+#include <plat/iic.h>
#include <mach/map.h>
#include <mach/regs-srom.h>
@@ -139,7 +141,12 @@ static struct platform_device smdkc210_smsc911x = {
},
};
+static struct i2c_board_info i2c_devs1[] __initdata = {
+ {I2C_BOARD_INFO("wm8994", 0x1a),},
+};
+
static struct platform_device *smdkc210_devices[] __initdata = {
+ &s3c_device_i2c1,
&s3c_device_hsmmc0,
&s3c_device_hsmmc1,
&s3c_device_hsmmc2,
@@ -149,6 +156,7 @@ static struct platform_device *smdkc210_devices[] __initdata = {
&smdkc210_smsc911x,
&samsung_asoc_dma,
&s5pv310_device_ac97,
+ &s5pv310_device_i2s0,
};
static void __init smdkc210_smsc911x_init(void)
@@ -184,6 +192,9 @@ static void __init smdkc210_map_io(void)
static void __init smdkc210_machine_init(void)
{
+ s3c_i2c1_set_platdata(NULL);
+ i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));
+
smdkc210_smsc911x_init();
s3c_sdhci0_set_platdata(&smdkc210_hsmmc0_pdata);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 32+ messages in thread* [PATCH 00/17] Samsung: Enable Audio Devices
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (16 preceding siblings ...)
2010-12-17 5:00 ` [PATCH 17/17] ARM: SMDKC210: " Jassi Brar
@ 2010-12-17 11:55 ` Mark Brown
2010-12-20 22:27 ` Kukjin Kim
2010-12-21 1:26 ` Kukjin Kim
18 siblings, 1 reply; 32+ messages in thread
From: Mark Brown @ 2010-12-17 11:55 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Dec 17, 2010 at 01:58:45PM +0900, Jassi Brar wrote:
> Next come patches that lay ground to enable audio devices on
> various latest SMDKS like 6440, 6442, 6450, C110, V210, V310 and C210.
> Actual enabing of these devices will be done by patchset to be sent to
> ASoC tree.
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
^ permalink raw reply [flat|nested] 32+ messages in thread* [PATCH 00/17] Samsung: Enable Audio Devices
2010-12-17 11:55 ` [PATCH 00/17] Samsung: Enable Audio Devices Mark Brown
@ 2010-12-20 22:27 ` Kukjin Kim
2010-12-20 23:35 ` Mark Brown
0 siblings, 1 reply; 32+ messages in thread
From: Kukjin Kim @ 2010-12-20 22:27 UTC (permalink / raw)
To: linux-arm-kernel
Mark Brown wrote:
>
> On Fri, Dec 17, 2010 at 01:58:45PM +0900, Jassi Brar wrote:
>
> > Next come patches that lay ground to enable audio devices on
> > various latest SMDKS like 6440, 6442, 6450, C110, V210, V310 and C210.
> > Actual enabing of these devices will be done by patchset to be sent to
> > ASoC tree.
>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Looks ok to me :-) will apply.
Mark, thanks for your ack.
If you need this in your tree, please let me know. Then will separate for
you.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 00/17] Samsung: Enable Audio Devices
2010-12-17 4:58 [PATCH 00/17] Samsung: Enable Audio Devices Jassi Brar
` (17 preceding siblings ...)
2010-12-17 11:55 ` [PATCH 00/17] Samsung: Enable Audio Devices Mark Brown
@ 2010-12-21 1:26 ` Kukjin Kim
2010-12-21 2:52 ` Jassi Brar
18 siblings, 1 reply; 32+ messages in thread
From: Kukjin Kim @ 2010-12-21 1:26 UTC (permalink / raw)
To: linux-arm-kernel
Jassi Brar wrote:
>
> From: Jassi Brar <jassi.brar@samsung.com>
>
> Hi,
> Next come patches that lay ground to enable audio devices on
> various latest SMDKS like 6440, 6442, 6450, C110, V210, V310 and C210.
> Actual enabing of these devices will be done by patchset to be sent to
> ASoC tree.
>
Hi Jassi,
To apply your patches happen following build error in my for-next.
'error: 'samsung_asoc_dma' undeclared here (not in a function)'
How can prevent build error?
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 32+ messages in thread* [PATCH 00/17] Samsung: Enable Audio Devices
2010-12-21 1:26 ` Kukjin Kim
@ 2010-12-21 2:52 ` Jassi Brar
2010-12-22 4:39 ` Kukjin Kim
0 siblings, 1 reply; 32+ messages in thread
From: Jassi Brar @ 2010-12-21 2:52 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Dec 21, 2010 at 10:26 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Jassi Brar wrote:
>>
>> From: Jassi Brar <jassi.brar@samsung.com>
>>
>> Hi,
>> ? Next come patches that lay ground to enable audio devices on
>> various latest SMDKS like 6440, 6442, 6450, C110, V210, V310 and C210.
>> Actual enabing of these devices will be done by patchset to be sent to
>> ASoC tree.
>>
> Hi Jassi,
>
> To apply your patches happen following build error in my for-next.
>
> 'error: 'samsung_asoc_dma' undeclared here (not in a function)'
>
> How can prevent build error?
hmmm... your tree doesn't have the commit 'ARM: Samsung: Define common
audio-dma
device' that I submitted to Mark.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 00/17] Samsung: Enable Audio Devices
2010-12-21 2:52 ` Jassi Brar
@ 2010-12-22 4:39 ` Kukjin Kim
0 siblings, 0 replies; 32+ messages in thread
From: Kukjin Kim @ 2010-12-22 4:39 UTC (permalink / raw)
To: linux-arm-kernel
Jassi Brar wrote:
>
> On Tue, Dec 21, 2010 at 10:26 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> > Jassi Brar wrote:
> >>
> >> From: Jassi Brar <jassi.brar@samsung.com>
> >>
> >> Hi,
> >> Next come patches that lay ground to enable audio devices on
> >> various latest SMDKS like 6440, 6442, 6450, C110, V210, V310 and C210.
> >> Actual enabing of these devices will be done by patchset to be sent to
> >> ASoC tree.
> >>
> > Hi Jassi,
> >
> > To apply your patches happen following build error in my for-next.
> >
> > 'error: 'samsung_asoc_dma' undeclared here (not in a function)'
> >
> > How can prevent build error?
>
> hmmm... your tree doesn't have the commit 'ARM: Samsung: Define common
> audio-dma
> device' that I submitted to Mark.
Ok :-)
Mark,
As a note, I did 'cherry-pick' following 2 commits in my tree for avoiding build error.
I couldn?t 'merge' into my tree because there is no suitable branch in your tree...
--
commit 83e37b8e400ca51cc97946815b3055daacd92fa8
Author: Jassi Brar <jassi.brar@samsung.com>
Date: Mon Nov 22 15:35:53 2010 +0900
ARM: Samsung: Define common audio-dma device
The ASoC uses common DMA driver for Audio devices. So it makes
sense to a common audio-dma device shared across all platforms.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
commit 58bb4072132c54d832082cc6eac396a6db009cbd
Author: Jassi Brar <jassi.brar@samsung.com>
Date: Mon Nov 22 15:35:50 2010 +0900
ASoC: Samsung: Rename DMA device
Some Samsung SoCs have a PCM(DSP) controller. So the name
s3c24xx-pcm-audio for DMA driver is not very appropraite.
This patch moves :-
s3c24xx-pcm-audio -> samsung-audio
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
--
If any problems, please let me know :-)
Thanks.
Merry Christmas ;-)
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 32+ messages in thread