diff mbox

[1/2] Samsung/Arndale: Booting UEFI and linux from eMMC

Message ID 1360939206-26681-1-git-send-email-rony.nandy@linaro.org
State Accepted
Headers show

Commit Message

Rony Nandy Feb. 15, 2013, 2:40 p.m. UTC
1. OM register comparison value changed as per the board switch configuration.
2. Removed eMMC boot partition enable code, to access user area.

Signed-off-by: Shivamurthy Shastri <shiva.murthy@samsung.com>
Signed-off-by: Rony Nandy <rony.nandy@linaro.org>
---
 SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c | 1 -
 SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h | 2 +-
 SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S       | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

Comments

Ryan Harkin Feb. 18, 2013, 9:47 a.m. UTC | #1
Thanks Rony/Shivamurthy,

I've applied this patch locally and I'll push it out later today with
some other changes.

I haven't tested it as I don't know how, but I've tested the the
existing functionality and it still works.


On 15 February 2013 14:40, Rony Nandy <rony.nandy@linaro.org> wrote:
> 1. OM register comparison value changed as per the board switch configuration.
> 2. Removed eMMC boot partition enable code, to access user area.
>
> Signed-off-by: Shivamurthy Shastri <shiva.murthy@samsung.com>
> Signed-off-by: Rony Nandy <rony.nandy@linaro.org>
> ---
>  SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c | 1 -
>  SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h | 2 +-
>  SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S       | 2 +-
>  3 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c
> index d166f66..87f9379 100755
> --- a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c
> +++ b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c
> @@ -840,7 +840,6 @@ DetectCard (
>    gSDMMCMedia.MediaId++;
>
>    UpdateMSHCClkFrequency(MSHC_CLK_50M);
> -  MSHC_EMMC_Boot_Open();    //do not close boot partition
>    DEBUG ((EFI_D_INFO, "SD Card Media Change on Handle 0x%08x\n", gImageHandle));
>
>    return Status;
> diff --git a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h
> index 9bbf13a..e410d66 100755
> --- a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h
> +++ b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h
> @@ -65,7 +65,7 @@ NV data for general purpose : 3400
>  #define BLEN_512BYTES  (0x200)
>  #define BLKSIZE_1              (0x1)
>
> -#define OM_EMMC 0x28
> +#define OM_EMMC 0x8
>
>  #define MAX_RETRY_COUNT  (100000)
>  #define MMC_REFERENCE_CLK (96000000)
> diff --git a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S
> index a10eae1..08a893c 100644
> --- a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S
> +++ b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S
> @@ -198,7 +198,7 @@ _CopyFirmware:
>    ldr r1, [r0,#0x0]
>    bic r2, r1, #0xffffffc1
>
> -  cmp r2, #0x28
> +  cmp r2, #0x8
>    beq _CopyFirmwareEMMC
>
>    /* SD/MMC BOOT */
> --
> 1.8.1.1
>
diff mbox

Patch

diff --git a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c
index d166f66..87f9379 100755
--- a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c
+++ b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.c
@@ -840,7 +840,6 @@  DetectCard (
   gSDMMCMedia.MediaId++;
 
   UpdateMSHCClkFrequency(MSHC_CLK_50M);
-  MSHC_EMMC_Boot_Open();    //do not close boot partition
   DEBUG ((EFI_D_INFO, "SD Card Media Change on Handle 0x%08x\n", gImageHandle));
 
   return Status;
diff --git a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h
index 9bbf13a..e410d66 100755
--- a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h
+++ b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/eMMCDxe/eMMCDxe.h
@@ -65,7 +65,7 @@  NV data for general purpose : 3400
 #define BLEN_512BYTES	(0x200)
 #define BLKSIZE_1	        (0x1)
 
-#define OM_EMMC 0x28
+#define OM_EMMC 0x8
 
 #define MAX_RETRY_COUNT  (100000)
 #define MMC_REFERENCE_CLK (96000000)
diff --git a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S
index a10eae1..08a893c 100644
--- a/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S
+++ b/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/SecEntryPoint.S
@@ -198,7 +198,7 @@  _CopyFirmware:
   ldr r1, [r0,#0x0]
   bic r2, r1, #0xffffffc1
 
-  cmp r2, #0x28
+  cmp r2, #0x8
   beq _CopyFirmwareEMMC
 
   /* SD/MMC BOOT */