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 */
From: Shivamurthy Shastri shiva.murthy@samsung.com
Linux was not able to boot with initrd. Resolved by increasing offset for FDT.
Signed-off-by: Shivamurthy Shastri shiva.murthy@samsung.com Signed-off-by: Rony Nandy rony.nandy@linaro.org --- SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc b/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc index 6116f4e..a545e80 100755 --- a/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc +++ b/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc @@ -104,9 +104,12 @@ gArmTokenSpaceGuid.PcdFdSize|0x00200000 # Must be equal to gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize
# System Memory (256MB) - gArmTokenSpaceGuid.PcdSystemMemoryBase|0x50000000 #0x40000000 + gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000 gArmTokenSpaceGuid.PcdSystemMemorySize|0x50000000
+ #FDT offset + gArmTokenSpaceGuid.PcdArmLinuxFdtMaxOffset|0x9000000 + # Size of the region used by UEFI in permanent memory (Reserved 64MB) gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
Thanks Rony/Shivamurthy,
I've applied this patch locally and I'll push it out later today with some other changes.
On 15 February 2013 14:40, Rony Nandy rony.nandy@linaro.org wrote:
From: Shivamurthy Shastri shiva.murthy@samsung.com
Linux was not able to boot with initrd. Resolved by increasing offset for FDT.
Signed-off-by: Shivamurthy Shastri shiva.murthy@samsung.com Signed-off-by: Rony Nandy rony.nandy@linaro.org
Test-by: Ryan Harkin ryan.harkin@linaro.org
SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc b/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc index 6116f4e..a545e80 100755 --- a/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc +++ b/SamsungPlatformPkg/ArndaleBoardPkg/arndale-Exynos5250.dsc @@ -104,9 +104,12 @@ gArmTokenSpaceGuid.PcdFdSize|0x00200000 # Must be equal to gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize
# System Memory (256MB)
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x50000000 #0x40000000
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000 gArmTokenSpaceGuid.PcdSystemMemorySize|0x50000000
#FDT offset
gArmTokenSpaceGuid.PcdArmLinuxFdtMaxOffset|0x9000000
# Size of the region used by UEFI in permanent memory (Reserved 64MB) gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
-- 1.8.1.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:
- OM register comparison value changed as per the board switch configuration.
- 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
boot-architecture@lists.linaro.org