aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2012-10-08 12:05:23 +0530
committerTushar Behera <tushar.behera@linaro.org>2013-03-14 10:46:25 +0530
commitcfb1f3a637605ead6a244e6d579741eceffd754d (patch)
tree68ea36cedc71b47d4539d7d7ff5a6f66e4923980 /arch
parent3150e0829e5b6fa552bdea8c06663c60abdf9581 (diff)
ARM: EXYNOS: Add I2S based RT5631 audio support for Origen_quad
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-exynos/mach-origen_quad.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/mach-origen_quad.c b/arch/arm/mach-exynos/mach-origen_quad.c
index 8655f85dfa20..fc4f43a3e667 100644
--- a/arch/arm/mach-exynos/mach-origen_quad.c
+++ b/arch/arm/mach-exynos/mach-origen_quad.c
@@ -699,11 +699,18 @@ static struct samsung_keypad_platdata origen_quad_keypad_data __initdata = {
.cols = 2,
};
+/* Audio device */
+static struct platform_device origen_device_audio = {
+ .name = "origen_quad-audio",
+ .id = -1,
+};
+
static struct platform_device *origen_quad_devices[] __initdata = {
&s3c_device_wdt,
&s3c_device_rtc,
&s3c_device_hsmmc2,
&s3c_device_i2c0,
+ &s3c_device_i2c1,
&s3c_device_i2c3,
&s5p_device_ehci,
&s5p_device_fimc0,
@@ -715,10 +722,12 @@ static struct platform_device *origen_quad_devices[] __initdata = {
&s5p_device_mfc,
&s5p_device_mfc_l,
&s5p_device_mfc_r,
+ &exynos4_device_i2s0,
#ifdef CONFIG_DRM_EXYNOS
&exynos_device_drm,
#endif
&origen_quad_lcd_hv070wsa,
+ &origen_device_audio,
&samsung_device_keypad,
};
@@ -755,6 +764,12 @@ static struct i2c_board_info i2c0_devs[] __initdata = {
},
};
+static struct i2c_board_info i2c1_devs[] __initdata = {
+ {
+ I2C_BOARD_INFO("rt5631", 0x1a),
+ },
+};
+
static struct i2c_board_info i2c3_devs[] __initdata = {
#ifdef CONFIG_TOUCHSCREEN_UNIDISPLAY_TS
{
@@ -795,6 +810,9 @@ static void __init origen_quad_machine_init(void)
s3c_i2c0_set_platdata(NULL);
i2c_register_board_info(0, i2c0_devs, ARRAY_SIZE(i2c0_devs));
+ s3c_i2c1_set_platdata(NULL);
+ i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs));
+
s3c_i2c3_set_platdata(NULL);
i2c_register_board_info(3, i2c3_devs, ARRAY_SIZE(i2c3_devs));