Merge "[msm_shared/uart]: Fix UART for msm7x30 targets."
diff --git a/platform/msm7k/acpuclock.c b/platform/msm7k/acpuclock.c
index 89583f3..25c7ceb 100755
--- a/platform/msm7k/acpuclock.c
+++ b/platform/msm7k/acpuclock.c
@@ -69,7 +69,7 @@
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 4)  | DIV_4,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | (DIV_4 << 8),
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | (DIV_2 << 8),
-	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | DIV_2,
+	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 4) | DIV_2,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL3 << 4)  | DIV_2,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL3 << 12) | (DIV_2 << 8),
 };
@@ -78,16 +78,16 @@
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 4)  | DIV_4,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | (DIV_4 << 8),
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | (DIV_2 << 8),
-	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | DIV_2,
+	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 4) | DIV_2,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL2 << 4)  | DIV_2,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL2 << 12) | (DIV_2 << 8),
 };
 
-uint32_t const clk_cntl_reg_val_7627A[] = {
+uint32_t const clk_cntl_reg_val_7627T[] = {
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 4)  | DIV_4,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | (DIV_4 << 8),
 	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | (DIV_2 << 8),
-	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 12) | DIV_2,
+	(WAIT_CNT << 16) | (SRC_SEL_PLL1 << 4) | DIV_2,
 	(WAIT_CNT << 16) | (SRC_SEL_PLL2 << 4),
 	(WAIT_CNT << 16) | (SRC_SEL_PLL2 << 12),
 };
@@ -136,7 +136,7 @@
 		writel(clk_cntl_reg_val_7625[i], A11S_CLK_CNTL_ADDR);
 #else
 		if(clk == ACPU_800MHZ)
-			writel(clk_cntl_reg_val_7627A[i], A11S_CLK_CNTL_ADDR);
+			writel(clk_cntl_reg_val_7627T[i], A11S_CLK_CNTL_ADDR);
 		else
 			writel(clk_cntl_reg_val_7627[i], A11S_CLK_CNTL_ADDR);
 #endif
diff --git a/platform/msm_shared/mmc.c b/platform/msm_shared/mmc.c
index 6091041..ecdd90f 100644
--- a/platform/msm_shared/mmc.c
+++ b/platform/msm_shared/mmc.c
@@ -1194,7 +1194,6 @@
         mmc_width = width-1;

     }

 

-    mmc_boot_send_ext_cmd (card, ext_csd_buf);

 

     do

     {

@@ -1203,8 +1202,7 @@
         {

             return mmc_ret;

         }

-    }while( (mmc_ret == MMC_BOOT_E_SUCCESS) &&

-        (MMC_BOOT_CARD_STATUS(status) == MMC_BOOT_PROG_STATE));

+    }while(MMC_BOOT_CARD_STATUS(status) == MMC_BOOT_PROG_STATE);

 

     if(MMC_BOOT_CARD_STATUS(status) != MMC_BOOT_TRAN_STATE)

         return MMC_BOOT_E_FAILURE;

@@ -1553,9 +1551,21 @@
 static unsigned int mmc_boot_adjust_interface_speed( struct mmc_boot_host* host,

         struct mmc_boot_card* card )

 {

-    int mmc_ret;

+    unsigned int mmc_ret = MMC_BOOT_E_SUCCESS;

+    unsigned int status;

 

-    mmc_boot_send_ext_cmd (card, ext_csd_buf);

+

+    do

+    {

+        mmc_ret = mmc_boot_get_card_status(card, 1, &status);

+        if(mmc_ret != MMC_BOOT_E_SUCCESS)

+        {

+            return mmc_ret;

+        }

+    }while(MMC_BOOT_CARD_STATUS(status) == MMC_BOOT_PROG_STATE);

+

+    if(MMC_BOOT_CARD_STATUS(status) != MMC_BOOT_TRAN_STATE)

+        return MMC_BOOT_E_FAILURE;

 

     /* Setting HS_TIMING in EXT_CSD (CMD6) */

     mmc_ret = mmc_boot_switch_cmd(card, MMC_BOOT_ACCESS_WRITE, MMC_BOOT_EXT_CMMC_HS_TIMING, 1);