x86: braswell: Disable PUNIT power configuration for B0 stepping
authorBin Meng <bmeng.cn@gmail.com>
Wed, 16 Aug 2017 05:42:01 +0000 (22:42 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Sat, 16 Sep 2017 06:57:44 +0000 (14:57 +0800)
FSP's built-in UPD configuration enables PUNIT power configuration,
but on B0 stepping, this causes CPU hangs in fsp_init(). Disable it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/braswell/fsp_configs.c

index d9845191d32a8f675e5ced535dda6c7b0b091425..249f851265aeb4b926b6a4488fdae78e917c616c 100644 (file)
@@ -139,6 +139,12 @@ void update_fsp_configs(struct fsp_config_data *config,
 #endif
        update_fsp_gpio_configs(&silicon_upd->gpio_familiy_ptr,
                                &silicon_upd->gpio_pad_ptr);
+       /*
+        * For Braswell B0 stepping, disable_punit_pwr_config must be set to 1
+        * otherwise it just hangs in fsp_init().
+        */
+       if (gd->arch.x86_mask == 2)
+               silicon_upd->disable_punit_pwr_config = 1;
        silicon_upd->emmc_mode = fdtdec_get_int(blob, node,
                "fsp,emmc-mode", EMMC_MODE_PCI);
        silicon_upd->sata_speed = fdtdec_get_int(blob, node,