Commit d87f6143 authored by Axel Lin's avatar Axel Lin Committed by Haojian Zhuang

pxa/hx4700: add platform device and I2C info for AK4641 codec

The audio on hx4700 needs this to properly work.
Signed-off-by: default avatarPhilipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: default avatarDmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarMarek Vasut <marek.vasut@gmail.com>
Tested-by: default avatarPaul Parsons <lost.distance@yahoo.com>
Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
parent 88879c43
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#include <mach/hx4700.h> #include <mach/hx4700.h>
#include <mach/irda.h> #include <mach/irda.h>
#include <sound/ak4641.h>
#include <video/platform_lcd.h> #include <video/platform_lcd.h>
#include <video/w100fb.h> #include <video/w100fb.h>
...@@ -764,6 +765,28 @@ static struct i2c_board_info __initdata pi2c_board_info[] = { ...@@ -764,6 +765,28 @@ static struct i2c_board_info __initdata pi2c_board_info[] = {
}, },
}; };
/*
* Asahi Kasei AK4641 on I2C
*/
static struct ak4641_platform_data ak4641_info = {
.gpio_power = GPIO27_HX4700_CODEC_ON,
.gpio_npdn = GPIO109_HX4700_CODEC_nPDN,
};
static struct i2c_board_info i2c_board_info[] __initdata = {
{
I2C_BOARD_INFO("ak4641", 0x12),
.platform_data = &ak4641_info,
},
};
static struct platform_device audio = {
.name = "hx4700-audio",
.id = -1,
};
/* /*
* PCMCIA * PCMCIA
*/ */
...@@ -790,6 +813,7 @@ static struct platform_device *devices[] __initdata = { ...@@ -790,6 +813,7 @@ static struct platform_device *devices[] __initdata = {
&gpio_vbus, &gpio_vbus,
&power_supply, &power_supply,
&strataflash, &strataflash,
&audio,
&pcmcia, &pcmcia,
}; };
...@@ -827,6 +851,7 @@ static void __init hx4700_init(void) ...@@ -827,6 +851,7 @@ static void __init hx4700_init(void)
pxa_set_ficp_info(&ficp_info); pxa_set_ficp_info(&ficp_info);
pxa27x_set_i2c_power_info(NULL); pxa27x_set_i2c_power_info(NULL);
pxa_set_i2c_info(NULL); pxa_set_i2c_info(NULL);
i2c_register_board_info(0, ARRAY_AND_SIZE(i2c_board_info));
i2c_register_board_info(1, ARRAY_AND_SIZE(pi2c_board_info)); i2c_register_board_info(1, ARRAY_AND_SIZE(pi2c_board_info));
pxa2xx_set_spi_info(2, &pxa_ssp2_master_info); pxa2xx_set_spi_info(2, &pxa_ssp2_master_info);
spi_register_board_info(ARRAY_AND_SIZE(tsc2046_board_info)); spi_register_board_info(ARRAY_AND_SIZE(tsc2046_board_info));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment