]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
ARM: pxa: Add M41T00 RTC support into Colibri evalboard
authorMarek Vasut <marek.vasut@gmail.com>
Wed, 11 Aug 2010 23:30:39 +0000 (01:30 +0200)
committerEric Miao <eric.y.miao@gmail.com>
Mon, 20 Dec 2010 15:07:41 +0000 (23:07 +0800)
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
arch/arm/mach-pxa/colibri-pxa270-evalboard.c
arch/arm/mach-pxa/colibri-pxa270.c
arch/arm/mach-pxa/colibri-pxa300.c
arch/arm/mach-pxa/colibri-pxa320.c

index e1a2b52a9d214960e1ed3f69ed5cfd97e5904c60..7f27aecc7e0f124deecf5a6e3decca11f3a053b9 100644 (file)
@@ -19,6 +19,7 @@
 #include <asm/mach-types.h>
 #include <mach/hardware.h>
 #include <asm/mach/arch.h>
+#include <linux/i2c.h>
 
 #include <mach/pxa27x.h>
 #include <mach/colibri.h>
@@ -26,6 +27,8 @@
 #include <mach/ohci.h>
 #include <mach/pxa27x-udc.h>
 
+#include <plat/i2c.h>
+
 #include "generic.h"
 #include "devices.h"
 
@@ -87,6 +90,25 @@ static void __init colibri_pxa270_uhc_init(void)
 static inline void colibri_pxa270_uhc_init(void) {}
 #endif
 
+/******************************************************************************
+ * I2C RTC
+ ******************************************************************************/
+#if defined(CONFIG_RTC_DRV_DS1307) || defined(CONFIG_RTC_DRV_DS1307_MODULE)
+static struct i2c_board_info __initdata colibri_pxa270_i2c_devs[] = {
+       {
+               I2C_BOARD_INFO("m41t00", 0x68),
+       },
+};
+
+static void __init colibri_pxa270_rtc_init(void)
+{
+       pxa_set_i2c_info(NULL);
+       i2c_register_board_info(0, ARRAY_AND_SIZE(colibri_pxa270_i2c_devs));
+}
+#else
+static inline void colibri_pxa270_rtc_init(void) {}
+#endif
+
 void __init colibri_pxa270_evalboard_init(void)
 {
        pxa_set_ffuart_info(NULL);
@@ -95,4 +117,5 @@ void __init colibri_pxa270_evalboard_init(void)
 
        colibri_pxa270_mmc_init();
        colibri_pxa270_uhc_init();
+       colibri_pxa270_rtc_init();
 }
index e940004eac16ef70bf732cba5156a55af2fc44ff..eecbb8bc4533ff1d97475135206c3a84982bdbbd 100644 (file)
@@ -73,6 +73,10 @@ static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = {
        GPIO1_GPIO,     /* READY */
        GPIO84_GPIO,    /* DETECT */
        GPIO107_GPIO,   /* PPEN */
+
+       /* I2C */
+       GPIO117_I2C_SCL,
+       GPIO118_I2C_SDA,
 };
 #else
 static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = {};
index 649c83c427c990d9e6e9aea824792f75f4cf2716..9b8d72de294c7dd392976592db3e45beec97127f 100644 (file)
@@ -46,6 +46,10 @@ static mfp_cfg_t colibri_pxa300_evalboard_pin_config[] __initdata = {
        /* UHC */
        GPIO0_2_USBH_PEN,
        GPIO1_2_USBH_PWR,
+
+       /* I2C */
+       GPIO21_I2C_SCL,
+       GPIO22_I2C_SDA,
 };
 #else
 static mfp_cfg_t colibri_pxa300_evalboard_pin_config[] __initdata = {};
index 6f15f2acf0c6c72a560cafb81fbfc6c260204140..0d8faf85a508e989cbc6cf5f002b382319dc3055 100644 (file)
@@ -69,6 +69,10 @@ static mfp_cfg_t colibri_pxa320_evalboard_pin_config[] __initdata = {
        /* UHC */
        GPIO2_2_USBH_PEN,
        GPIO3_2_USBH_PWR,
+
+       /* I2C */
+       GPIO32_I2C_SCL,
+       GPIO33_I2C_SDA,
 };
 #else
 static mfp_cfg_t colibri_pxa320_evalboard_pin_config[] __initdata = {};