ARM: SAMSUNG: Add platform device for idma
Exynos4 and S5PC110(S5PV210) has Internal dma(idma) in AUDSS. To support idma, register idma platform device. and Exynos4 and S5PC110 has different IDMA address. TO handle different IDMA address, register idma platform data Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
b93cb91bd3
commit
2839cc1e7e
|
@ -21,6 +21,7 @@
|
|||
#include <mach/map.h>
|
||||
#include <mach/dma.h>
|
||||
#include <mach/irqs.h>
|
||||
#include <mach/regs-audss.h>
|
||||
|
||||
static const char *rclksrc[] = {
|
||||
[0] = "busclk",
|
||||
|
@ -55,6 +56,7 @@ static struct s3c_audio_pdata i2sv5_pdata = {
|
|||
.quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI
|
||||
| QUIRK_NEED_RSTCLR,
|
||||
.src_clk = rclksrc,
|
||||
.idma_addr = EXYNOS4_AUDSS_INT_MEM,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
/* arch/arm/mach-exynos4/include/mach/regs-audss.h
|
||||
*
|
||||
* Copyright (c) 2011 Samsung Electronics
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* Exynos4 Audio SubSystem clock register definitions
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __PLAT_REGS_AUDSS_H
|
||||
#define __PLAT_REGS_AUDSS_H __FILE__
|
||||
|
||||
#define EXYNOS4_AUDSS_INT_MEM (0x03000000)
|
||||
|
||||
#endif /* _PLAT_REGS_AUDSS_H */
|
|
@ -184,6 +184,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
|
|||
&exynos4_device_spdif,
|
||||
&exynos4_device_sysmmu,
|
||||
&samsung_asoc_dma,
|
||||
&samsung_asoc_idma,
|
||||
&smdkv310_smsc911x,
|
||||
&exynos4_device_ahci,
|
||||
};
|
||||
|
|
|
@ -52,6 +52,7 @@ static struct s3c_audio_pdata i2sv5_pdata = {
|
|||
.quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI
|
||||
| QUIRK_NEED_RSTCLR,
|
||||
.src_clk = rclksrc,
|
||||
.idma_addr = S5PV210_AUDSS_INT_MEM,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
/* arch/arm/mach-s5pv210/include/mach/regs-audss.h
|
||||
*
|
||||
* Copyright (c) 2011 Samsung Electronics
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* S5PV210 Audio SubSystem clock register definitions
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __PLAT_REGS_AUDSS_H
|
||||
#define __PLAT_REGS_AUDSS_H __FILE__
|
||||
|
||||
#define S5PV210_AUDSS_INT_MEM (0xC0000000)
|
||||
|
||||
#endif /* _PLAT_REGS_AUDSS_H */
|
|
@ -267,6 +267,7 @@ static struct platform_device *smdkv210_devices[] __initdata = {
|
|||
&s5pv210_device_iis0,
|
||||
&s5pv210_device_spdif,
|
||||
&samsung_asoc_dma,
|
||||
&samsung_asoc_idma,
|
||||
&samsung_device_keypad,
|
||||
&smdkv210_dm9000,
|
||||
&smdkv210_lcd_lte480wv,
|
||||
|
|
|
@ -23,3 +23,13 @@ struct platform_device samsung_asoc_dma = {
|
|||
}
|
||||
};
|
||||
EXPORT_SYMBOL(samsung_asoc_dma);
|
||||
|
||||
struct platform_device samsung_asoc_idma = {
|
||||
.name = "samsung-idma",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.dma_mask = &audio_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
}
|
||||
};
|
||||
EXPORT_SYMBOL(samsung_asoc_idma);
|
||||
|
|
|
@ -44,6 +44,7 @@ struct samsung_i2s {
|
|||
* Also corresponds to clocks of I2SMOD[10]
|
||||
*/
|
||||
const char **src_clk;
|
||||
dma_addr_t idma_addr;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -40,6 +40,7 @@ extern struct platform_device s3c64xx_device_spi0;
|
|||
extern struct platform_device s3c64xx_device_spi1;
|
||||
|
||||
extern struct platform_device samsung_asoc_dma;
|
||||
extern struct platform_device samsung_asoc_idma;
|
||||
|
||||
extern struct platform_device s3c64xx_device_pcm0;
|
||||
extern struct platform_device s3c64xx_device_pcm1;
|
||||
|
|
Loading…
Reference in New Issue