summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/board-dk.c
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2007-11-19 13:47:20 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-11-26 20:40:47 +0100
commitf230d3f53d72d05bcb5666ab7e2eccd49c8b3a15 (patch)
tree0d06454868ca879f06a268de71beb0b1ba6a08d7 /arch/arm/mach-at91/board-dk.c
parent[ARM] 4604/2: AT91: Master clock divistor on SAM9 (diff)
downloadlinux-f230d3f53d72d05bcb5666ab7e2eccd49c8b3a15.tar.xz
linux-f230d3f53d72d05bcb5666ab7e2eccd49c8b3a15.zip
[ARM] 4650/1: AT91: New-style init of I2C, support for i2c-gpio
The AT91 I2C driver is currently marked as "broken" due to hardware issues. This patch enables AT91-based platforms to also use the bitbanged GPIO for I2C. This updates platform setup logic (setting up an i2c-gpio device using the same pins as the i2c-at91 device, unless only the BROKEN driver is enabled). Also make use of the new-style initialization of I2C devices using i2c_register_board_info(). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/board-dk.c')
-rw-r--r--arch/arm/mach-at91/board-dk.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/board-dk.c b/arch/arm/mach-at91/board-dk.c
index af497896a96c..40c9e4331706 100644
--- a/arch/arm/mach-at91/board-dk.c
+++ b/arch/arm/mach-at91/board-dk.c
@@ -124,6 +124,19 @@ static struct spi_board_info dk_spi_devices[] = {
#endif
};
+static struct i2c_board_info __initdata dk_i2c_devices[] = {
+ {
+ I2C_BOARD_INFO("ics1523", 0x26),
+ },
+ {
+ I2C_BOARD_INFO("x9429", 0x28),
+ },
+ {
+ I2C_BOARD_INFO("at24c", 0x50),
+ .type = "24c1024",
+ }
+};
+
static struct mtd_partition __initdata dk_nand_partition[] = {
{
.name = "NAND Partition 1",
@@ -185,7 +198,7 @@ static void __init dk_board_init(void)
/* Compact Flash */
at91_add_device_cf(&dk_cf_data);
/* I2C */
- at91_add_device_i2c();
+ at91_add_device_i2c(dk_i2c_devices, ARRAY_SIZE(dk_i2c_devices));
/* SPI */
at91_add_device_spi(dk_spi_devices, ARRAY_SIZE(dk_spi_devices));
#ifdef CONFIG_MTD_AT91_DATAFLASH_CARD