arm: mx50_rdp: add i2c bus support
authorRichard Zhao <richard.zhao@freescale.com>
Fri, 14 Jan 2011 09:48:04 +0000 (17:48 +0800)
committerSascha Hauer <s.hauer@pengutronix.de>
Wed, 19 Jan 2011 08:58:21 +0000 (09:58 +0100)
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx5/board-mx50_rdp.c
arch/arm/mach-mx5/devices-imx50.h
arch/arm/plat-mxc/devices/platform-imx-i2c.c

index 3180d43aeced1445d1124aabae728419aeb4ff8f..75beef74b37563eba8efbc85458a7be1a1f97223 100644 (file)
@@ -184,6 +184,10 @@ static inline void mx50_rdp_fec_reset(void)
        gpio_set_value(FEC_RESET_B, 1);
 }
 
+static const struct imxi2c_platform_data i2c_data __initconst = {
+       .bitrate = 100000,
+};
+
 /*
  * Board specific initialization.
  */
@@ -196,6 +200,9 @@ static void __init mx50_rdp_board_init(void)
        imx50_add_imx_uart(1, &uart_pdata);
        mx50_rdp_fec_reset();
        imx50_add_fec(&fec_data);
+       imx50_add_imx_i2c(0, &i2c_data);
+       imx50_add_imx_i2c(1, &i2c_data);
+       imx50_add_imx_i2c(2, &i2c_data);
 }
 
 static void __init mx50_rdp_timer_init(void)
index e1093dbaa786a9e34c8d13fbefd6104729b1e1a5..c9e42823c7e305ebc1621bdcbd19b5273c91ca60 100644 (file)
@@ -29,3 +29,6 @@ extern const struct imx_fec_data imx50_fec_data __initconst;
 #define imx50_add_fec(pdata)   \
        imx_add_fec(&imx50_fec_data, pdata)
 
+extern const struct imx_imx_i2c_data imx50_imx_i2c_data[] __initconst;
+#define imx50_add_imx_i2c(id, pdata)   \
+       imx_add_imx_i2c(&imx50_imx_i2c_data[id], pdata)
index 7ba94e1bbda30d48960931ddae2d0182e1a5d009..2ab74f0da9a6eba27df1a6fea91fa2b288c6917d 100644 (file)
@@ -69,6 +69,16 @@ const struct imx_imx_i2c_data imx35_imx_i2c_data[] __initconst = {
 };
 #endif /* ifdef CONFIG_SOC_IMX35 */
 
+#ifdef CONFIG_SOC_IMX50
+const struct imx_imx_i2c_data imx50_imx_i2c_data[] __initconst = {
+#define imx50_imx_i2c_data_entry(_id, _hwid)                           \
+       imx_imx_i2c_data_entry(MX50, _id, _hwid, SZ_4K)
+       imx50_imx_i2c_data_entry(0, 1),
+       imx50_imx_i2c_data_entry(1, 2),
+       imx50_imx_i2c_data_entry(2, 3),
+};
+#endif /* ifdef CONFIG_SOC_IMX51 */
+
 #ifdef CONFIG_SOC_IMX51
 const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst = {
 #define imx51_imx_i2c_data_entry(_id, _hwid)                           \