|
@@ -709,8 +709,24 @@ static int x86_init_cpus(void)
|
|
|
|
|
|
int cpu_init_r(void)
|
|
int cpu_init_r(void)
|
|
{
|
|
{
|
|
- if (ll_boot_init())
|
|
|
|
- return x86_init_cpus();
|
|
|
|
|
|
+ struct udevice *dev;
|
|
|
|
+ int ret;
|
|
|
|
+
|
|
|
|
+ if (!ll_boot_init())
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
|
|
+ ret = x86_init_cpus();
|
|
|
|
+ if (ret)
|
|
|
|
+ return ret;
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * Set up the northbridge, PCH and LPC if available. Note that these
|
|
|
|
+ * may have had some limited pre-relocation init if they were probed
|
|
|
|
+ * before relocation, but this is post relocation.
|
|
|
|
+ */
|
|
|
|
+ uclass_first_device(UCLASS_NORTHBRIDGE, &dev);
|
|
|
|
+ uclass_first_device(UCLASS_PCH, &dev);
|
|
|
|
+ uclass_first_device(UCLASS_LPC, &dev);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|