valleyview.c 1.1 KB

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