diff mbox

[U-Boot] x86: link: Correct a failure in DRAM init

Message ID 1468251055-6752-1-git-send-email-sjg@chromium.org
State Accepted
Commit 9532fe3b40ddf66ef976dee3d5cf1d8b3396bf4d
Delegated to: Bin Meng
Headers show

Commit Message

Simon Glass July 11, 2016, 3:30 p.m. UTC
With the change to set up pinctrl after relocation, link fails to boot. Add
a special case in the link code to handle this.

Fixes: d8906c1f (x86: Probe pinctrl driver in cpu_init_r())

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/x86/cpu/ivybridge/sdram.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Bin Meng July 12, 2016, 5:14 a.m. UTC | #1
On Mon, Jul 11, 2016 at 11:30 PM, Simon Glass <sjg@chromium.org> wrote:
> With the change to set up pinctrl after relocation, link fails to boot. Add
> a special case in the link code to handle this.
>
> Fixes: d8906c1f (x86: Probe pinctrl driver in cpu_init_r())
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  arch/x86/cpu/ivybridge/sdram.c | 5 +++++
>  1 file changed, 5 insertions(+)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng July 12, 2016, 6 a.m. UTC | #2
On Tue, Jul 12, 2016 at 1:14 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Mon, Jul 11, 2016 at 11:30 PM, Simon Glass <sjg@chromium.org> wrote:
>> With the change to set up pinctrl after relocation, link fails to boot. Add
>> a special case in the link code to handle this.
>>
>> Fixes: d8906c1f (x86: Probe pinctrl driver in cpu_init_r())
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>>  arch/x86/cpu/ivybridge/sdram.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

applied to u-boot-x86, thanks!
diff mbox

Patch

diff --git a/arch/x86/cpu/ivybridge/sdram.c b/arch/x86/cpu/ivybridge/sdram.c
index 9d9f63d..e0b06b5 100644
--- a/arch/x86/cpu/ivybridge/sdram.c
+++ b/arch/x86/cpu/ivybridge/sdram.c
@@ -458,6 +458,11 @@  int dram_init(void)
 	struct udevice *dev, *me_dev;
 	int ret;
 
+	/* We need the pinctrl set up early */
+	ret = syscon_get_by_driver_data(X86_SYSCON_PINCONF, &dev);
+	if (ret)
+		return ret;
+
 	ret = uclass_first_device_err(UCLASS_NORTHBRIDGE, &dev);
 	if (ret)
 		return ret;