  
  int board_eth_init(bd_t *bis)
  {
-@@ -283,14 +413,6 @@ free_bus:
+@@ -283,14 +426,6 @@ free_bus:
  	return ret;
  }
  

 };
 
 static iomux_v3_cfg_t const wdog_pads[] = {
@@ -242,12 +267,117 @@ static void setup_iomux_wdog(void)
 	gpio_direction_input(WDT_TRG);
 }
 
-static struct fsl_esdhc_cfg usdhc_cfg = { USDHC3_BASE_ADDR };
 
-int board_mmc_getcd(struct mmc *mmc)
-{
-	return 1; /* Always present */
+/*  __________________________________________________________________________
+ * |                                                                          |
+ * |                                   USDHC                                  |

 
 int board_early_init_f(void)
 {
@@ -313,7 +448,7 @@ int board_init(void)
 {
 	/* address of boot parameters */
 	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
-
+	
 #ifdef CONFIG_CMD_I2C
 	setup_a62_i2c();
 #endif
@@ -324,6 +459,7 @@ int board_init(void)
 	if (is_cpu_type(MXC_CPU_MX6Q))
 		setup_sata();
 #endif
+	
 	return 0;
 }
 
@@ -337,6 +473,13 @@ int board_late_init(void)
 	else
 		setenv("board_rev", "MX6SOLO");
 #endif
+	if (check_emmc_selected()) 
+	{ /* Boot from eMMC */
+		printf("Booting from eMMC!!!!\n");
+		setenv("mmcdev","1");
+		setenv("mmcroot","/dev/mmcblk3p2 rootwait rw");
+	}
+
 	return 0;
 }
 
diff --git a/include/configs/secomx6sbca62.h b/include/configs/secomx6sbca62.h
index 5767b40..c44cbd1 100644
--- a/include/configs/secomx6sbca62.h
