1 /* 2 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com> 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #include <common.h> 8 #include <mmc.h> 9 #include <pci_ids.h> 10 #include <asm/irq.h> 11 #include <asm/mrccache.h> 12 #include <asm/post.h> 13 14 static struct pci_device_id mmc_supported[] = { 15 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT_SDIO }, 16 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT_SD }, 17 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT_EMMC2 }, 18 {}, 19 }; 20 21 int cpu_mmc_init(bd_t *bis) 22 { 23 return pci_mmc_init("ValleyView SDHCI", mmc_supported); 24 } 25 26 #ifndef CONFIG_EFI_APP 27 int arch_cpu_init(void) 28 { 29 post_code(POST_CPU_INIT); 30 31 return x86_cpu_init_f(); 32 } 33 34 int arch_misc_init(void) 35 { 36 if (!ll_boot_init()) 37 return 0; 38 39 #ifdef CONFIG_ENABLE_MRC_CACHE 40 /* 41 * We intend not to check any return value here, as even MRC cache 42 * is not saved successfully, it is not a severe error that will 43 * prevent system from continuing to boot. 44 */ 45 mrccache_save(); 46 #endif 47 48 return 0; 49 } 50 51 #endif 52 53 void reset_cpu(ulong addr) 54 { 55 /* cold reset */ 56 x86_full_reset(); 57 } 58