[U-Boot] [PATCH v2 32/33] x86: ivybridge: Implement SDRAM init
Bin Meng
bmeng.cn at gmail.com
Wed Nov 12 02:43:44 CET 2014
Hi Simon,
On Wed, Nov 12, 2014 at 12:18 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 11 November 2014 07:37, Bin Meng <bmeng.cn at gmail.com> wrote:
>> Hi Simon,
>>
>> I am not sure if there is anything I missed but when I look at the
>> u-boot-x86/working, the repo content does not match the patch v2 here.
>> And seems you missed my previous comments @
>> http://u-boot.10912.n7.nabble.com/PATCH-0-39-x86-Add-support-for-running-on-bare-hardware-tp194993p195356.html
>
> OK, which ones have I missed?
Does the above link not work for you? The comments were:
> +static void report_cpu_info(void)
> +{
> + struct cpuid_result cpuidr;
> + u32 i, index;
> + char cpu_string[50], *cpu_name = cpu_string; /* 48 bytes are reported */
> + int vt, txt, aes;
> + const char *mode[] = {"NOT ", ""};
> +
> + index = 0x80000000;
> + cpuidr = cpuid(index);
> + if (cpuidr.eax < 0x80000004) {
> + strcpy(cpu_string, "Platform info not available");
> + } else {
> + u32 *p = (u32 *)cpu_string;
> + for (i = 2; i <= 4 ; i++) {
> + cpuidr = cpuid(index + i);
> + *p++ = cpuidr.eax;
> + *p++ = cpuidr.ebx;
> + *p++ = cpuidr.ecx;
> + *p++ = cpuidr.edx;
> + }
> + }
> + /* Skip leading spaces in CPU name string */
> + while (cpu_name[0] == ' ')
> + cpu_name++;
The above codes can be just replaced by a call to cpu_get_name()
[snip]
> diff --git a/arch/x86/dts/link.dts b/arch/x86/dts/link.dts
> index 84fb0a9..f152da5 100644
> --- a/arch/x86/dts/link.dts
> +++ b/arch/x86/dts/link.dts
> @@ -41,6 +41,117 @@
> chosen { };
> memory { device_type = "memory"; reg = <0 0>; };
>
> + spd {
> + compatible = "memory-spd";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + elpida_4Gb_1600_x16 {
> + reg = <0>;
> + data = [92 10 0b 03 04 19 02 02
> + 03 52 01 08 0a 00 fe 00
> + 69 78 69 3c 69 11 18 81
> + 20 08 3c 3c 01 40 83 81
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 0f 11 42 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 02 fe 00
> + 11 52 00 00 00 07 7f 37
> + 45 42 4a 32 30 55 47 36
> + 45 42 55 30 2d 47 4e 2d
> + 46 20 30 20 02 fe 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00
> + 00 00 00 00 00 00 00 00];
> + };
Is this the limitation of the MRC that it cannot read SPD from the
DIMM? Or is it because the RAM chip is soldered on board?
[snip]
> diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
> index 25b672a..d0c7f30 100644
> --- a/arch/x86/lib/Makefile
> +++ b/arch/x86/lib/Makefile
> @@ -15,6 +15,7 @@ obj-$(CONFIG_SYS_PCAT_TIMER) += pcat_timer.o
> obj-$(CONFIG_PCI) += pci_type1.o
> obj-y += relocate.o
> obj-y += physmem.o
> +obj-y += ramtest.o
Can we make the ramtest wrapped by CONFIG_X86_RAMTEST?
Regards,
Bin
More information about the U-Boot
mailing list