diff options
author | Giridhar Maruthy <giridhar.maruthy@linaro.org> | 2011-12-22 15:37:54 +0530 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2012-06-20 11:12:42 +0530 |
commit | a05c2a2ba7d6f49d580369587dae59eee756f6fd (patch) | |
tree | b5dc361178de0c04b107f42a2b8c3cfa9550a80b | |
parent | a0d5ae3c0785f43569f7ad7221997cc4725c847e (diff) |
ARM: EXYNOS: Add I2S and ALC5625 support for Origen
Origen board uses Realtek's RT5625 codec. This is controlled through
I2S bus interface.
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Giridhar Maruthy <giridhar.maruthy@linaro.org>
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-origen.c | 20 |
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 573be57d3d28..1f54b1981032 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig @@ -326,6 +326,7 @@ config MACH_ORIGEN select S3C_DEV_WDT select S3C_DEV_HSMMC select S3C_DEV_HSMMC2 + select S3C_DEV_I2C1 select S5P_DEV_FIMC0 select S5P_DEV_FIMC1 select S5P_DEV_FIMC2 @@ -344,6 +345,7 @@ config MACH_ORIGEN select EXYNOS4_DEV_DMA select EXYNOS4_DEV_USB_OHCI select EXYNOS4_SETUP_FIMD0 + select EXYNOS4_SETUP_I2C1 select EXYNOS4_SETUP_SDHCI select EXYNOS4_SETUP_USB_PHY help diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index f5572be9d7bf..c97756874fa3 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c @@ -471,6 +471,13 @@ static struct i2c_board_info i2c0_devs[] __initdata = { }, }; +/* I2C1 */ +static struct i2c_board_info i2c1_devs[] __initdata = { + { + I2C_BOARD_INFO("alc5625", 0x1E), + }, +}; + static struct s3c_sdhci_platdata origen_hsmmc0_pdata __initdata = { .cd_type = S3C_SDHCI_CD_INTERNAL, }; @@ -650,10 +657,17 @@ static struct platform_device origen_device_bluetooth = { }, }; +/* Audio device */ +static struct platform_device origen_device_audio = { + .name = "origen-audio", + .id = -1, +}; + static struct platform_device *origen_devices[] __initdata = { &s3c_device_hsmmc2, &s3c_device_hsmmc0, &s3c_device_i2c0, + &s3c_device_i2c1, &s3c_device_rtc, &s3c_device_wdt, &s5p_device_ehci, @@ -671,12 +685,15 @@ static struct platform_device *origen_devices[] __initdata = { &s5p_device_mfc_l, &s5p_device_mfc_r, &s5p_device_mixer, + &samsung_asoc_dma, + &exynos4_device_i2s0, #ifdef CONFIG_DRM_EXYNOS &exynos_device_drm, #endif &exynos4_device_ohci, &origen_device_gpiokeys, &origen_lcd_hv070wsa, + &origen_device_audio, &origen_device_bluetooth, }; @@ -735,6 +752,9 @@ static void __init origen_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)); + /* * Since sdhci instance 2 can contain a bootable media, * sdhci instance 0 is registered after instance 2. |