[U-Boot] [PATCH 26/57] x86: Bring up northbridge, pch and lpc after the CPUs
Bin Meng
bmeng.cn at gmail.com
Sun Dec 13 13:54:22 CET 2015
Hi Simon,
On Tue, Dec 8, 2015 at 11:38 AM, Simon Glass <sjg at chromium.org> wrote:
> These devices currently need to be inited early in boot. Once we have the
> init in the right places (with each device doing its own init and no
> problems with ordering) we should be able to remove this. For now it is
> needed to keep things working.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> arch/x86/cpu/cpu.c | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
> index 3cbed17..35fa046 100644
> --- a/arch/x86/cpu/cpu.c
> +++ b/arch/x86/cpu/cpu.c
> @@ -704,8 +704,20 @@ static int x86_init_cpus(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 */
> + uclass_first_device(UCLASS_NORTHBRIDGE, &dev);
> + uclass_first_device(UCLASS_PCH, &dev);
> + uclass_first_device(UCLASS_LPC, &dev);
I don't get it. The NORTHBRIDGE, PCH, LPC are already inited in the
pre-reolcation stage. This cpu_init_r() is pretty late, how do we
ensure the init order here?
>
> return 0;
> }
> --
Regards,
Bin
More information about the U-Boot
mailing list