s5pc210: universal: enable T-flash detect pin
authorJaehoon Chung <jh80.chung@samsung.com>
Wed, 6 Oct 2010 04:41:15 +0000 (13:41 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 6 Oct 2010 04:41:15 +0000 (13:41 +0900)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
board/samsung/universal_c210/universal.c

index e9f164a..3251da0 100644 (file)
@@ -1019,34 +1019,39 @@ int board_mmc_init(bd_t *bis)
                gpio_set_drv(&gpio2->k1, i, GPIO_DRV_4X);
        }
 
-       /*
-        * SD card GPIO:
-        * GPK2[0]      SD_2_CLK(2)
-        * GPK2[1]      SD_2_CMD(2)
-        * GPK2[2]      SD_2_CDn        -> Not used
-        * GPK2[3:6]    SD_2_DATA[0:3](2)
-        */
-       for (i = 0; i < 7; i++) {
-               if (i == 2)
-                       continue;
-               /* GPK2[0:6] special function 2 */
-               gpio_cfg_pin(&gpio2->k2, i, 0x2);
-               /* GPK2[0:6] pull disable */
-               gpio_set_pull(&gpio2->k2, i, GPIO_PULL_NONE);
-               /* GPK2[0:6] drv 4x */
-               gpio_set_drv(&gpio2->k2, i, GPIO_DRV_4X);
-       }
+       /* T-flash detect */
+       gpio_cfg_pin(&gpio2->x3, 4, 0xf);
+       gpio_set_pull(&gpio2->x3, 4, GPIO_PULL_UP);
 
        /*
         * MMC device init
         * mmc0  : eMMC (8-bit buswidth)
         * mmc2  : SD card (4-bit buswidth)
         */
-       err  = s5p_mmc_init(0, 8);
-       if (err)
-               return err;
+       err = s5p_mmc_init(0, 8);
+
+       if (!gpio_get_value(&gpio2->x3, 4)) {
+               /*
+                * SD card GPIO:
+                * GPK2[0]      SD_2_CLK(2)
+                * GPK2[1]      SD_2_CMD(2)
+                * GPK2[2]      SD_2_CDn        -> Not used
+                * GPK2[3:6]    SD_2_DATA[0:3](2)
+                */
+               for (i = 0; i < 7; i++) {
+                       if (i == 2)
+                               continue;
+                       /* GPK2[0:6] special function 2 */
+                       gpio_cfg_pin(&gpio2->k2, i, 0x2);
+                       /* GPK2[0:6] pull disable */
+                       gpio_set_pull(&gpio2->k2, i, GPIO_PULL_NONE);
+                       /* GPK2[0:6] drv 4x */
+                       gpio_set_drv(&gpio2->k2, i, GPIO_DRV_4X);
+               }
+               err = s5p_mmc_init(2, 4);
+       }
 
-       return s5p_mmc_init(2, 4);
+       return err;
 
 }
 #endif