From 1a7ff8ff6eebfa732ca2abe00a0878136bfb2d01 Mon Sep 17 00:00:00 2001
From: Chaithrika U S <chaithrika@ti.com>
Date: Tue, 25 Aug 2009 15:20:05 +0300
Subject: [PATCH] davinci: audio: move tlv320aic33 i2c setup into board files

Tested on DM6446, DM355, DM6447, DA850 EVMs.

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
---
 arch/arm/mach-davinci/board-da830-evm.c  | 3 +++
 arch/arm/mach-davinci/board-da850-evm.c  | 9 +++++++++
 arch/arm/mach-davinci/board-dm355-evm.c  | 2 +-
 arch/arm/mach-davinci/board-dm644x-evm.c | 4 +++-
 arch/arm/mach-davinci/board-dm646x-evm.c | 3 +++
 5 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
index a45340de7465..bfbb63936f33 100644
--- a/arch/arm/mach-davinci/board-da830-evm.c
+++ b/arch/arm/mach-davinci/board-da830-evm.c
@@ -41,6 +41,9 @@ static struct i2c_board_info __initdata da830_evm_i2c_devices[] = {
 		I2C_BOARD_INFO("24c256", 0x50),
 		.platform_data	= &da830_evm_i2c_eeprom_info,
 	},
+	{
+		I2C_BOARD_INFO("tlv320aic3x", 0x18),
+	}
 };
 
 static struct davinci_i2c_platform_data da830_evm_i2c_0_pdata = {
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c
index f2946a0cf6f6..c759d72494e0 100644
--- a/arch/arm/mach-davinci/board-da850-evm.c
+++ b/arch/arm/mach-davinci/board-da850-evm.c
@@ -143,6 +143,12 @@ static struct platform_device da850_evm_nandflash_device = {
 	.resource	= da850_evm_nandflash_resource,
 };
 
+static struct i2c_board_info __initdata da850_evm_i2c_devices[] = {
+	{
+		I2C_BOARD_INFO("tlv320aic3x", 0x18),
+	}
+};
+
 static struct davinci_i2c_platform_data da850_evm_i2c_0_pdata = {
 	.bus_freq	= 100,	/* kHz */
 	.bus_delay	= 0,	/* usec */
@@ -343,6 +349,9 @@ static __init void da850_evm_init(void)
 
 	davinci_serial_init(&da850_evm_uart_config);
 
+	i2c_register_board_info(1, da850_evm_i2c_devices,
+			ARRAY_SIZE(da850_evm_i2c_devices));
+
 	/*
 	 * shut down uart 0 and 1; they are not used on the board and
 	 * accessing them causes endless "too much work in irq53" messages
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c
index 38157f78e1a4..9f25fd8ca4a9 100644
--- a/arch/arm/mach-davinci/board-dm355-evm.c
+++ b/arch/arm/mach-davinci/board-dm355-evm.c
@@ -139,7 +139,7 @@ static struct i2c_board_info dm355evm_i2c_info[] = {
 	{ I2C_BOARD_INFO("dm355evm_msp", 0x25),
 		.platform_data = dm355evm_mmcsd_gpios,
 		/* plus irq */ },
-	/* { I2C_BOARD_INFO("tlv320aic3x", 0x1b), }, */
+	{ I2C_BOARD_INFO("tlv320aic33", 0x1b), },
 	/* { I2C_BOARD_INFO("tvp5146", 0x5d), }, */
 };
 
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 6a27c5db3282..31cf84fbb01a 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -559,8 +559,10 @@ static struct i2c_board_info __initdata i2c_info[] =  {
 		I2C_BOARD_INFO("24c256", 0x50),
 		.platform_data	= &eeprom_info,
 	},
+	{
+		I2C_BOARD_INFO("tlv320aic33", 0x1b),
+	},
 	/* ALSO:
-	 * - tvl320aic33 audio codec (0x1b)
 	 * - tvp5146 video decoder (0x5d)
 	 */
 };
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c
index cb30afe22050..20547049b489 100644
--- a/arch/arm/mach-davinci/board-dm646x-evm.c
+++ b/arch/arm/mach-davinci/board-dm646x-evm.c
@@ -299,6 +299,9 @@ static struct i2c_board_info __initdata i2c_info[] =  {
 	{
 		I2C_BOARD_INFO("cpld_reg0", 0x3a),
 	},
+	{
+		I2C_BOARD_INFO("tlv320aic33", 0x18),
+	}
 };
 
 static struct davinci_i2c_platform_data i2c_pdata = {
-- 
2.34.1