[U-Boot] [PATCH v2 00/38] x86: Various modifications to prepare for FSP2

Simon Glass sjg at chromium.org
Wed Sep 25 14:11:09 UTC 2019


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

Changes in v2:
- Fix the Kconfig condition to avoid build errors on snow
- Add the missing header file
- Add support for of-platdata for TPL
- Rename the fast SPI headers
- Rebase to master

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          | 360 ++++++++++++++++++++++
 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/config_uncmd_spl.h                |   1 -
 include/efi_loader.h                      |  10 +-
 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 +
 68 files changed, 1662 insertions(+), 577 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

-- 
2.23.0.444.g18eeb5a265-goog



More information about the U-Boot mailing list