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);