
Quite a bit of minor refactoring is needed to prepare for using FSP2 in U-Boot. This series consists of a number of small changes to this end.
It is the last series before apollolake support is added.
Changes include: - Allowing drivers to be used in TPL/SPL - Moving common FSP code into a common directory - Support for memory-mapped flash on newer Intel chips - Passing the HOB list from SPL to U-Boot proper
This series is available at u-boot-dm/x86-working
Simon Glass (38): binman: Pass the toolpath to binman from the main Makefile binman: Allow selection of logging verbosity dm: gpio: Allow control of GPIO uclass in SPL mtd: spi: Add 'struct spi_flash {' to the code serial: ns16550: Allow serial to enabled/disabled in SPL spl: Correct priority selection for image loaders spl: Avoid checking for Ctrl-C in SPL with print_buffer() spl: handoff: Correct Kconfig condition for SPL and TPL spl: Add an arch-specific hook for writing to SPL handoff spl: Set up the bloblist in board_init_r() spl: Add a function to determine the U-Boot phase x86: spi: Add a driver for the Intel Fast SPI interface spi: sandbox: Add a test driver for sandbox SPI flash spi: Add support for memory-mapped flash x86: sysreset: Allow reset driver to be included in SPL/TPL x86: Rename some FSP functions to have an fsp_ prefix x86: fsp: Create a common fsp_support.h header x86: fsp: Use if() instead of #ifdef x86: fsp: Tidy up comment style a little x86: fsp: Move common dram functions into a common file x86: Move common fsp functions into a common file x86: fsp: Move common support functions into a common file efi: Move inline functions to unconditional part of header x86: fsp: Add a few more definitions for FSP2 x86: fsp: Add access to variable MRC data x86: Move common Intel CPU info code into a function x86: Add binman symbols to the image x86: pci: Add a function to clear and set PCI config regs x86: spl: Use hang() instead of a while() loop x86: spl: Reduce priority of the basic SPL image loader x86: spl: Move broadwell-specific code out of generic x86 spl x86: fsp: Save usable RAM and hob_list in the handoff area x86: fsp: Allow the HOBs to be used after relocation x86: Change condition for using CAR x86: Add more comments to the start-up code x86: Add support for booting from Fast SPI x86: Add various MTRR indexes and values x86: Rename turbo ratio MSR to MSR_TURBO_RATIO_LIMIT
Makefile | 4 +- arch/sandbox/cpu/spl.c | 7 + arch/sandbox/dts/test.dts | 4 + arch/x86/Kconfig | 8 + arch/x86/cpu/baytrail/fsp_configs.c | 2 +- arch/x86/cpu/braswell/fsp_configs.c | 2 +- arch/x86/cpu/broadwell/cpu.c | 5 + arch/x86/cpu/broadwell/cpu_full.c | 18 +- arch/x86/cpu/cpu.c | 6 + arch/x86/cpu/intel_common/Makefile | 1 + arch/x86/cpu/intel_common/cpu.c | 13 + arch/x86/cpu/intel_common/cpu_from_spl.c | 6 + arch/x86/cpu/intel_common/fast_spi.c | 48 ++++ arch/x86/cpu/ivybridge/fsp_configs.c | 2 +- arch/x86/cpu/ivybridge/model_206ax.c | 8 +- arch/x86/cpu/pci.c | 19 ++ arch/x86/cpu/queensbay/fsp_configs.c | 2 +- arch/x86/cpu/start.S | 16 +- arch/x86/cpu/start_from_spl.S | 5 +- arch/x86/cpu/start_from_tpl.S | 3 +- arch/x86/cpu/u-boot-spl.lds | 6 + arch/x86/include/asm/cpu_common.h | 11 + arch/x86/include/asm/fsp/fsp_hob.h | 4 + arch/x86/include/asm/fsp/fsp_infoheader.h | 15 +- arch/x86/include/asm/fsp/fsp_support.h | 174 +++++++++++++ arch/x86/include/asm/fsp1/fsp_support.h | 147 ++--------- arch/x86/include/asm/handoff.h | 8 + arch/x86/include/asm/hob.h | 26 +- arch/x86/include/asm/msr-index.h | 24 +- arch/x86/include/asm/mtrr.h | 1 + arch/x86/include/asm/pci.h | 40 +++ arch/x86/include/asm/spl.h | 4 +- arch/x86/lib/Makefile | 1 + arch/x86/lib/fsp/Makefile | 7 + arch/x86/lib/fsp/fsp_common.c | 104 ++++++++ arch/x86/lib/fsp/fsp_dram.c | 100 ++++++++ arch/x86/lib/fsp/fsp_support.c | 199 +++++++++++++++ arch/x86/lib/fsp1/fsp_car.S | 10 +- arch/x86/lib/fsp1/fsp_common.c | 96 +------ arch/x86/lib/fsp1/fsp_dram.c | 88 +------ arch/x86/lib/fsp1/fsp_support.c | 181 +------------ arch/x86/lib/hob.c | 19 +- arch/x86/lib/spl.c | 13 +- arch/x86/lib/tpl.c | 7 +- cmd/x86/fsp.c | 2 +- common/spl/Kconfig | 4 +- common/spl/spl.c | 47 ++-- configs/slimbootloader_defconfig | 1 + drivers/gpio/Kconfig | 22 ++ drivers/gpio/Makefile | 2 +- drivers/mtd/spi/Kconfig | 9 + drivers/mtd/spi/Makefile | 3 +- drivers/mtd/spi/intel_fast_spi.c | 294 ++++++++++++++++++++++ drivers/mtd/spi/sandbox_direct.c | 110 ++++++++ drivers/mtd/spi/sf-uclass.c | 11 + drivers/pci/pci-uclass.c | 2 +- drivers/serial/ns16550.c | 6 +- drivers/sysreset/Kconfig | 12 + drivers/sysreset/Makefile | 2 +- include/efi_loader.h | 42 ++-- include/handoff.h | 13 + include/linux/mtd/spi-nor.h | 8 +- include/spi_flash.h | 27 ++ include/spl.h | 64 ++++- lib/display_options.c | 2 + test/dm/sf.c | 51 ++++ tools/binman/README | 6 + 67 files changed, 1612 insertions(+), 592 deletions(-) create mode 100644 arch/x86/cpu/intel_common/fast_spi.c create mode 100644 arch/x86/include/asm/fsp/fsp_support.h create mode 100644 arch/x86/lib/fsp/Makefile create mode 100644 arch/x86/lib/fsp/fsp_common.c create mode 100644 arch/x86/lib/fsp/fsp_dram.c create mode 100644 arch/x86/lib/fsp/fsp_support.c create mode 100644 drivers/mtd/spi/intel_fast_spi.c create mode 100644 drivers/mtd/spi/sandbox_direct.c