aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pv210/mach-aquila.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s5pv210/mach-aquila.c')
-rw-r--r--arch/arm/mach-s5pv210/mach-aquila.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c
index b0974929dec7..cd441ef35bec 100644
--- a/arch/arm/mach-s5pv210/mach-aquila.c
+++ b/arch/arm/mach-s5pv210/mach-aquila.c
@@ -507,8 +507,31 @@ static struct platform_device *aquila_devices[] __initdata = {
507 &s5p_device_fimc0, 507 &s5p_device_fimc0,
508 &s5p_device_fimc1, 508 &s5p_device_fimc1,
509 &s5p_device_fimc2, 509 &s5p_device_fimc2,
510 &s5pv210_device_iis0,
510}; 511};
511 512
513static void __init aquila_sound_init(void)
514{
515 unsigned int gpio;
516
517 /* CODEC_XTAL_EN
518 *
519 * The Aquila board have a oscillator which provide main clock
520 * to WM8994 codec. The oscillator provide 24MHz clock to WM8994
521 * clock. Set gpio setting of "CODEC_XTAL_EN" to enable a oscillator.
522 * */
523 gpio = S5PV210_GPH3(2); /* XEINT_26 */
524 gpio_request(gpio, "CODEC_XTAL_EN");
525 s3c_gpio_cfgpin(gpio, S3C_GPIO_OUTPUT);
526 s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
527
528 /* Ths main clock of WM8994 codec uses the output of CLKOUT pin.
529 * The CLKOUT[9:8] set to 0x3(XUSBXTI) of 0xE010E000(OTHERS)
530 * because it needs 24MHz clock to operate WM8994 codec.
531 */
532 __raw_writel(__raw_readl(S5P_OTHERS) | (0x3 << 8), S5P_OTHERS);
533}
534
512static void __init aquila_map_io(void) 535static void __init aquila_map_io(void)
513{ 536{
514 s5p_init_io(NULL, 0, S5P_VA_CHIPID); 537 s5p_init_io(NULL, 0, S5P_VA_CHIPID);
@@ -530,6 +553,7 @@ static void __init aquila_machine_init(void)
530 s3c_fimc_setname(2, "s5p-fimc"); 553 s3c_fimc_setname(2, "s5p-fimc");
531 554
532 /* SOUND */ 555 /* SOUND */
556 aquila_sound_init();
533 i2c_register_board_info(AP_I2C_GPIO_BUS_5, i2c_gpio5_devs, 557 i2c_register_board_info(AP_I2C_GPIO_BUS_5, i2c_gpio5_devs,
534 ARRAY_SIZE(i2c_gpio5_devs)); 558 ARRAY_SIZE(i2c_gpio5_devs));
535 559