I referred to below site for running the linux from a different phy address.

Linux code patch
--- ref/keystone-0430a//linux-keystone/arch/arm/mach-keystone/Makefile.boot 2013-04-30 11:19:07.000000000 -0700
+++ linux-keystone/arch/arm/mach-keystone/Makefile.boot 2013-05-09 13:47:29.829257106 -0700
@@ -1 +1 @@
-zreladdr-y := 0x80008000
+zreladdr-y := 0xA0008000
--- ref/keystone-0430a//linux-keystone/arch/arm/mach-keystone/include/mach/memory.h 2013-04-30 11:19:07.000000000 -0700
+++ linux-keystone/arch/arm/mach-keystone/include/mach/memory.h 2013-05-09 12:05:10.561756528 -0700
@@ -16,6 +16,7 @@
#ifndef __ASM_MACH_MEMORY_H
#define __ASM_MACH_MEMORY_H
+
#define MAX_PHYSMEM_BITS 36
#define SECTION_SIZE_BITS 34
@@ -32,10 +33,17 @@
#ifndef __ASSEMBLY__
+static inline phys_addr_t __virt_to_phys(unsigned long x);
+
static inline phys_addr_t __virt_to_idmap(unsigned long x)
{
+#ifdef ORIGINAL_PRE_TBESEMER
return (phys_addr_t)(x) - CONFIG_PAGE_OFFSET +
KEYSTONE_LOW_PHYS_START;
+#else
+ return __virt_to_phys(x) - KEYSTONE_HIGH_PHYS_START +
+ KEYSTONE_LOW_PHYS_START;
+#endif
}
#define virt_to_idmap(x) __virt_to_idmap((unsigned long)(x))
Device tree source patch
--- ref/keystone-0430a//linux-keystone/arch/arm/boot/dts/k2hk-evm.dts 2013-04-30 11:19:07.000000000 -0700
+++ linux-keystone/arch/arm/boot/dts/k2hk-evm.dts 2013-05-10 09:56:40.418347675 -0700
@@ -17,7 +17,7 @@
};
memory {
- reg = <0x00000000 0x80000000 0x00000000 0x20000000>;
+ reg = <0x00000000 0xA0000000 0x00000000 0x20000000>;
};
droppolicies: default-drop-policies {
u-boot code patch
--- ref/keystone-0430a//u-boot-keystone/include/configs/tci6638_evm.h 2013-04-30 10:29:03.000000000 -0700 +++ u-boot-keystone/include/configs/tci6638_evm.h 2013-05-09 13:46:25.277274692 -0700 @@ -47,8 +47,8 @@ /* Memory Configuration */ #define CONFIG_NR_DRAM_BANKS 1 -#define CONFIG_SYS_SDRAM_BASE 0x80000000 -#define CONFIG_MAX_RAM_BANK_SIZE (2 << 30) /* 2GB */ +#define CONFIG_SYS_SDRAM_BASE 0xA0000000 +#define CONFIG_MAX_RAM_BANK_SIZE ((1024 * 1024) * 1024) #define CONFIG_STACKSIZE (512 << 10) /* 512 KiB */ #define CONFIG_SYS_MALLOC_LEN (512 << 10) /* 512 KiB */ #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE @@ -194,7 +194,7 @@ #define CONFIG_CMD_SF /* U-Boot general configuration */ -#define CONFIG_SYS_PROMPT "TCI6638 EVM # " +#define CONFIG_SYS_PROMPT "TCI6638 EVM (teb) # " #define CONFIG_SYS_CBSIZE 1024 #define CONFIG_SYS_PBSIZE 2048 #define CONFIG_SYS_MAXARGS 16 @@ -265,6 +265,6 @@ #define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_SYS_BARGSIZE 1024 #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x08000000) -#define LINUX_BOOT_PARAM_ADDR (CONFIG_SYS_SDRAM_BASE + 0x100) +#define LINUX_BOOT_PARAM_ADDR (CONFIG_SYS_SDRAM_BASE + 0x00000100) #endif /* __CONFIG_H */
Also when using the patch, make sure to update the following env variables in u-boot
setenv addr_fdt 0xA7000000 setenv addr_kern 0xA8000000
I did success to modify u-boot, but kernel is halted on when kernel is booting with printing as 'Starting kernel ...' message.
I think it's incorrect with current git repo version because above site's content is so old..
could share an information if there is any update this issue?
Gilbert.