The early init should only happen once. Update the probe method to
deal with TPL, SPL and U-Boot proper.

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

Changes in v2:
- Add a new patch to update PCH to work in TPL

 arch/x86/cpu/broadwell/pch.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/x86/cpu/broadwell/pch.c b/arch/x86/cpu/broadwell/pch.c
index e61efa7b16c..a48945adf11 100644
--- a/arch/x86/cpu/broadwell/pch.c
+++ b/arch/x86/cpu/broadwell/pch.c
@@ -599,10 +599,16 @@ static int broadwell_pch_init(struct udevice *dev)
 
 static int broadwell_pch_probe(struct udevice *dev)
 {
-       if (!(gd->flags & GD_FLG_RELOC))
-               return broadwell_pch_early_init(dev);
-       else
+       if (CONFIG_IS_ENABLED(X86_32BIT_INIT)) {
+               if (!(gd->flags & GD_FLG_RELOC))
+                       return broadwell_pch_early_init(dev);
+               else
+                       return broadwell_pch_init(dev);
+       } else if (IS_ENABLED(CONFIG_SPL) && !IS_ENABLED(CONFIG_SPL_BUILD)) {
                return broadwell_pch_init(dev);
+       } else {
+               return 0;
+       }
 }
 
 static int broadwell_pch_get_spi_base(struct udevice *dev, ulong *sbasep)
-- 
2.21.0.593.g511ec345e18-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to