[ARM] tegra: stingray: Set i2c bus speed
authorColin Cross <ccross@android.com>
Mon, 14 Jun 2010 23:08:36 +0000 (16:08 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:33:08 +0000 (16:33 -0700)
Change-Id: I0dc652cf87be9109ec7b12e03a83921961e98b85
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/board-stingray.c
arch/arm/mach-tegra/board-stingray.h

index e66028952a30cd85966219e5980187e72e25d92c..633b9555d2955bf1d7d04b27f39fc75d7b0f2cab 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/pda_power.h>
 #include <linux/gpio.h>
 #include <linux/delay.h>
+#include <linux/i2c-tegra.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -319,10 +320,6 @@ static struct platform_device *stingray_devices[] __initdata = {
        &hs_uartc,
        &hs_uartd,
        &hs_uarte,
-       &tegra_i2c_device1,
-       &tegra_i2c_device2,
-       &tegra_i2c_device3,
-       &tegra_i2c_device4,
        &tegra_spi_device1,
        &tegra_spi_device2,
        &tegra_spi_device3,
@@ -345,6 +342,10 @@ static struct tegra_sdhci_platform_data stingray_sdhci_platform_data4 = {
        .power_gpio = TEGRA_GPIO_PI6,
 };
 
+static struct tegra_i2c_platform_data stingray_i2c1_platform_data = {
+       .bus_clk_rate = 400000,
+};
+
 static __initdata struct tegra_clk_init_table stingray_clk_init_table[] = {
        /* name         parent          rate            enabled */
        { "uartb",      "clk_m",        26000000,       true},
@@ -358,6 +359,15 @@ static __initdata struct tegra_clk_init_table stingray_clk_init_table[] = {
        { NULL,         NULL,           0,              0},
 };
 
+static void stingray_i2c_init(void)
+{
+       tegra_i2c_device1.dev.platform_data = &stingray_i2c1_platform_data;
+
+       platform_device_register(&tegra_i2c_device1);
+       platform_device_register(&tegra_i2c_device2);
+       platform_device_register(&tegra_i2c_device3);
+       platform_device_register(&tegra_i2c_device4);
+}
 
 static void stingray_sdhci_init(void)
 {
@@ -464,6 +474,7 @@ static void __init tegra_stingray_init(void)
 
        platform_add_devices(stingray_devices, ARRAY_SIZE(stingray_devices));
 
+       stingray_i2c_init();
        stingray_power_off_init();
        stingray_keypad_init();
        stingray_touch_init();
index 466183778305c43b29cc114cdc4dcb2ef4828b27..544a9a3bf703fe36db4dad677f3adb58482bf972 100644 (file)
@@ -20,7 +20,6 @@
 void stingray_pinmux_init(void);
 int stingray_panel_init(void);
 int stingray_keypad_init(void);
-int stingray_i2c_init(void);
 int stingray_wlan_init(void);
 int stingray_sensors_init(void);
 int stingray_touch_init(void);