void __init exynos5_universal5420_audio_init(void) { int ret; exynos5_audio_init(); universal5420_audio_gpio_init(); #ifdef MODE_WM5102_SPI ret = exynos_spi_cfg_cs(spi_audio_csi[0].line, 2); if (!ret) { s3c64xx_spi2_set_platdata(&s3c64xx_spi2_pdata, EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi_audio_csi)); } else pr_err(KERN_ERR "Error requesting gpio for SPI-CH2 CS\n"); #endif #if defined(MODE_WM5102_SPI) || defined(MODE_WM5102_SPI_EMUL) ret = spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); if (ret) pr_err("ERR! spi_register_board_info fail (err %d)\n", ret); #endif platform_add_devices(universal5420_audio_devices, ARRAY_SIZE(universal5420_audio_devices)); }
void __init exynos5_universal5410_audio_init(void) { int ret; exynos5_audio_init(); universal5410_audio_gpio_init(); #ifdef CONFIG_SND_SOC_WM1811 exynos5_hs_i2c0_set_platdata(&hs_i2c_data_audio); ret = i2c_register_board_info(4, i2c_devs_audio, ARRAY_SIZE(i2c_devs_audio)); #endif #ifdef CONFIG_SND_SOC_WM5102 s3c_gpio_cfgpin(EXYNOS5410_GPJ1(4), S3C_GPIO_SFN(0xf)); s3c_gpio_setpull(EXYNOS5410_GPJ1(4), S3C_GPIO_PULL_NONE); #ifdef MODE_WM5102_SPI ret = exynos_spi_cfg_cs(spi_audio_csi[0].line, 2); if (!ret) { s3c64xx_spi2_set_platdata(&s3c64xx_spi2_pdata, EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi_audio_csi)); } else pr_err(KERN_ERR "Error requesting gpio for SPI-CH2 CS\n"); #endif #if defined(MODE_WM5102_SPI) || defined(MODE_WM5102_SPI_EMUL) ret = spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); if (ret) pr_err("ERR! spi_register_board_info fail (err %d)\n", ret); #endif #ifdef MODE_WM5102_I2C_EMUL //i2c_devs12_emul[0].irq = gpio_to_irq(EXYNOS5410_GPJ1(4)); platform_device_register(&s3c_device_i2c12); ret = i2c_register_board_info(12, i2c_devs12_emul, ARRAY_SIZE(i2c_devs12_emul)); #endif #endif platform_add_devices(universal5410_audio_devices, ARRAY_SIZE(universal5410_audio_devices)); exynos5_universal5410_2mic_init(); }