int arch_cpu_init(void) { int ret; post_code(POST_CPU_INIT); ret = x86_cpu_init_f(); if (ret) return ret; /* * Quark SoC does not support MSR MTRRs. Fixed and variable range MTRRs * are accessed indirectly via the message port and not the traditional * MSR mechanism. Only UC, WT and WB cache types are supported. */ quark_setup_mtrr(); /* * Quark SoC has some non-standard BARs (excluding PCI standard BARs) * which need be initialized with suggested values */ quark_setup_bars(); /* Initialize USB2 PHY */ quark_usb_early_init(); /* Initialize thermal sensor */ quark_thermal_early_init(); /* Turn on legacy segments (A/B/E/F) decode to system RAM */ quark_enable_legacy_seg(); return 0; }
int arch_cpu_init(void) { struct pci_controller *hose; int ret; post_code(POST_CPU_INIT); #ifdef CONFIG_SYS_X86_TSC_TIMER timer_set_base(rdtsc()); #endif ret = x86_cpu_init_f(); if (ret) return ret; ret = pci_early_init_hose(&hose); if (ret) return ret; /* * Quark SoC has some non-standard BARs (excluding PCI standard BARs) * which need be initialized with suggested values */ quark_setup_bars(); /* Turn on legacy segments (A/B/E/F) decode to system RAM */ quark_enable_legacy_seg(); unprotect_spi_flash(); return 0; }
int arch_cpu_init(void) { int ret; post_code(POST_CPU_INIT); #ifdef CONFIG_SYS_X86_TSC_TIMER timer_set_base(rdtsc()); #endif ret = x86_cpu_init_f(); if (ret) return ret; /* * Quark SoC does not support MSR MTRRs. Fixed and variable range MTRRs * are accessed indirectly via the message port and not the traditional * MSR mechanism. Only UC, WT and WB cache types are supported. */ quark_setup_mtrr(); /* * Quark SoC has some non-standard BARs (excluding PCI standard BARs) * which need be initialized with suggested values */ quark_setup_bars(); /* * Initialize PCIe controller * * Quark SoC holds the PCIe controller in reset following a power on. * U-Boot needs to release the PCIe controller from reset. The PCIe * controller (D23:F0/F1) will not be visible in PCI configuration * space and any access to its PCI configuration registers will cause * system hang while it is held in reset. */ quark_pcie_early_init(); /* Initialize USB2 PHY */ quark_usb_early_init(); /* Initialize thermal sensor */ quark_thermal_early_init(); /* Turn on legacy segments (A/B/E/F) decode to system RAM */ quark_enable_legacy_seg(); unprotect_spi_flash(); return 0; }