linux 3.0: add support for RTC on zippy/zippy2 boards
[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-3.0 / beagle / 0002-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
index 6e8a33e9a0b34c695de96060e3cf6333aa5e4045..d9281afd8d47c858628254ecde545c7c2de26e15 100644 (file)
@@ -1,15 +1,15 @@
-From 04557e8b744e8e6f8ab8b7c4fc715cecd585f2ab Mon Sep 17 00:00:00 2001
+From e5e3655c165de9507d2020d5eae4c5589c7a3dad Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Thu, 21 Jul 2011 14:29:42 +0200
 Subject: [PATCH 2/3] UNFINISHED: OMAP3: beagle: add support for expansionboards
 
 Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
 ---
- arch/arm/mach-omap2/board-omap3beagle.c |  246 +++++++++++++++++++++++++++++++
- 1 files changed, 246 insertions(+), 0 deletions(-)
+ arch/arm/mach-omap2/board-omap3beagle.c |  266 +++++++++++++++++++++++++++++++
+ 1 files changed, 266 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 32f5f89..e542df0 100644
+index 32f5f89..f26a9a8 100644
 --- a/arch/arm/mach-omap2/board-omap3beagle.c
 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
 @@ -21,6 +21,7 @@
@@ -217,7 +217,27 @@ index 32f5f89..e542df0 100644
  
        /*
         * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
-@@ -479,6 +655,15 @@ static struct omap_board_mux board_mux[] __initdata = {
+@@ -375,6 +551,19 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
+        },
+ };
++#if defined(CONFIG_RTC_DRV_DS1307) || \
++      defined(CONFIG_RTC_DRV_DS1307_MODULE)
++
++static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
++      {
++              I2C_BOARD_INFO("eeprom", 0x50),
++              I2C_BOARD_INFO("ds1307", 0x68),
++      },
++};
++#else
++static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
++#endif
++
+ static int __init omap3_beagle_i2c_init(void)
+ {
+       omap3_pmic_get_config(&beagle_twldata,
+@@ -479,6 +668,15 @@ static struct omap_board_mux board_mux[] __initdata = {
  };
  #endif
  
@@ -233,7 +253,7 @@ index 32f5f89..e542df0 100644
  static void __init beagle_opp_init(void)
  {
        int r = 0;
-@@ -542,6 +727,65 @@ static void __init omap3_beagle_init(void)
+@@ -542,6 +740,72 @@ static void __init omap3_beagle_init(void)
        /* REVISIT leave DVI powered down until it's needed ... */
        gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
  
@@ -244,6 +264,10 @@ index 32f5f89..e542df0 100644
 +              printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
 +              mmc[1].gpio_wp = 141;
 +              mmc[1].gpio_cd = 162;
++              printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy board\n");
++              omap_register_i2c_bus(2, 400,  beagle_i2c2_zippy,
++                                                      ARRAY_SIZE(beagle_i2c2_zippy));
++
 +      }
 +      
 +      if(!strcmp(expansionboard_name, "zippy2")) 
@@ -253,6 +277,9 @@ index 32f5f89..e542df0 100644
 +              printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
 +              mmc[1].gpio_wp = 141;
 +              mmc[1].gpio_cd = 162;
++              printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy2 board\n");
++              omap_register_i2c_bus(2, 400,  beagle_i2c2_zippy,
++                                                      ARRAY_SIZE(beagle_i2c2_zippy));         
 +      }
 +
 +      if(!strcmp(expansionboard_name, "trainer"))
@@ -299,7 +326,7 @@ index 32f5f89..e542df0 100644
        usb_musb_init(NULL);
        usbhs_init(&usbhs_bdata);
        omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
-@@ -558,6 +802,8 @@ static void __init omap3_beagle_init(void)
+@@ -558,6 +822,8 @@ static void __init omap3_beagle_init(void)
        beagle_opp_init();
  }