[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>
This commit is contained in:
Arnaud Patard 2011-03-02 22:27:41 +01:00 committed by Nicolas Pitre
parent 17718e17a2
commit 9d3e1c56de

View File

@ -23,6 +23,7 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/gpio_keys.h> #include <linux/gpio_keys.h>
#include <linux/input.h> #include <linux/input.h>
#include <sound/alc5623.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <mach/kirkwood.h> #include <mach/kirkwood.h>
@ -134,6 +135,7 @@ static unsigned int hp_t5325_mpp_config[] __initdata = {
MPP33_GE1_TXCTL, MPP33_GE1_TXCTL,
MPP39_AU_I2SBCLK, MPP39_AU_I2SBCLK,
MPP40_AU_I2SDO, MPP40_AU_I2SDO,
MPP43_AU_I2SDI,
MPP41_AU_I2SLRCLK, MPP41_AU_I2SLRCLK,
MPP42_AU_I2SMCLK, MPP42_AU_I2SMCLK,
MPP45_GPIO, /* Power button */ MPP45_GPIO, /* Power button */
@ -141,6 +143,18 @@ static unsigned int hp_t5325_mpp_config[] __initdata = {
0 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 #define HP_T5325_GPIO_POWER_OFF 48
static void hp_t5325_power_off(void) static void hp_t5325_power_off(void)
@ -166,6 +180,9 @@ static void __init hp_t5325_init(void)
kirkwood_ehci_init(); kirkwood_ehci_init();
platform_device_register(&hp_t5325_button_device); 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 && if (gpio_request(HP_T5325_GPIO_POWER_OFF, "power-off") == 0 &&
gpio_direction_output(HP_T5325_GPIO_POWER_OFF, 0) == 0) gpio_direction_output(HP_T5325_GPIO_POWER_OFF, 0) == 0)
pm_power_off = hp_t5325_power_off; pm_power_off = hp_t5325_power_off;