summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaud Patard <arnaud.patard@rtp-net.org>2011-03-02 22:27:41 +0100
committerNicolas Pitre <nico@fluxnic.net>2011-03-03 22:26:59 +0100
commit9d3e1c56dee5e09c6babc96810c7105a7993908e (patch)
tree9cfc126d4eb24dfd5b9c227845780511bdcf7ebb
parent[ARM] update FPGA revisions for TS-7800 (diff)
downloadlinux-9d3e1c56dee5e09c6babc96810c7105a7993908e.tar.xz
linux-9d3e1c56dee5e09c6babc96810c7105a7993908e.zip
[ARM] Kirkwood: t5325: add audio support
This patch declares the i2c audio codec and initialise audio. It's adding the alc5621 codec in the i2c board info and is calling kirkwood_audio_init() to initialize kirkwood audio. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
-rw-r--r--arch/arm/mach-kirkwood/t5325-setup.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-kirkwood/t5325-setup.c b/arch/arm/mach-kirkwood/t5325-setup.c
index ce50e61aac9f..f38c282d864b 100644
--- a/arch/arm/mach-kirkwood/t5325-setup.c
+++ b/arch/arm/mach-kirkwood/t5325-setup.c
@@ -23,6 +23,7 @@
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
#include <linux/input.h>
+#include <sound/alc5623.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <mach/kirkwood.h>
@@ -134,6 +135,7 @@ static unsigned int hp_t5325_mpp_config[] __initdata = {
MPP33_GE1_TXCTL,
MPP39_AU_I2SBCLK,
MPP40_AU_I2SDO,
+ MPP43_AU_I2SDI,
MPP41_AU_I2SLRCLK,
MPP42_AU_I2SMCLK,
MPP45_GPIO, /* Power button */
@@ -141,6 +143,18 @@ static unsigned int hp_t5325_mpp_config[] __initdata = {
0
};
+static struct alc5623_platform_data alc5621_data = {
+ .add_ctrl = 0x3700,
+ .jack_det_ctrl = 0x4810,
+};
+
+static struct i2c_board_info i2c_board_info[] __initdata = {
+ {
+ I2C_BOARD_INFO("alc5621", 0x1a),
+ .platform_data = &alc5621_data,
+ },
+};
+
#define HP_T5325_GPIO_POWER_OFF 48
static void hp_t5325_power_off(void)
@@ -166,6 +180,9 @@ static void __init hp_t5325_init(void)
kirkwood_ehci_init();
platform_device_register(&hp_t5325_button_device);
+ i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info));
+ kirkwood_audio_init();
+
if (gpio_request(HP_T5325_GPIO_POWER_OFF, "power-off") == 0 &&
gpio_direction_output(HP_T5325_GPIO_POWER_OFF, 0) == 0)
pm_power_off = hp_t5325_power_off;