This patch series moves the configuration of FPS-S and FSP-M for Apollo
Lake based SoCs from the code to the devicetree.
In order to make the FSP configuration easy to extend and maintain new
binding structs for FSP-M and FSP-S are introduced.
These structs contain the information of which devicetree settings need
to be copied to which offset in the FSP config structure. The actual code
handling these structs is rather small, and generic for both FSP-S and FSP-M.
This patch series replaces the previous sent patches:
"arch: x86: apl: Read FSP-M configuration from device-tree" [1]
"Move FSP-S configuration to device-tree" [2]
Changes to [1] and [2]:
- No default settings within U-Boot, the default settings in FSP are
used directly
- The code for copying the data was simplified, and the information of
what needs to be copied was moved to newly introduced structures
[1]: https://lists.denx.de/pipermail/u-boot/2020-April/405852.html
[2]: https://lists.denx.de/pipermail/u-boot/2020-April/406590.html
Changes in v3:
Enable fspm,dual-rank-support-enable on chromebook coral
Split patch into FSP-M and FSP-S
Split patch into FSP-M and FSP-S
Fix #if defined macro for FSP-S path to reduce SPL size
Changes in v2:
Integration of the review comments
Fix swizzle size bug
Bernhard Messerklinger (3):
arch: x86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled
arch: x86: apl: Use devicetree for FSP-M configuration
arch: x86: apl: Use devicetree for FSP-S configuration
arch/x86/cpu/apollolake/Makefile | 1 +
arch/x86/cpu/apollolake/fsp_bindings.c | 1803 +++++++++++++++++
arch/x86/cpu/apollolake/fsp_m.c | 169 +-
arch/x86/cpu/apollolake/fsp_s.c | 430 +---
arch/x86/dts/chromebook_coral.dts | 73 +-
.../asm/arch-apollolake/fsp/fsp_m_upd.h | 168 ++
.../asm/arch-apollolake/fsp/fsp_s_upd.h | 202 ++
.../asm/arch-apollolake/fsp_bindings.h | 110 +
.../fsp/fsp2/apollolake/fsp-m.txt | 320 +++
.../fsp/fsp2/apollolake/fsp-s.txt | 483 +++++
10 files changed, 3188 insertions(+), 571 deletions(-)
create mode 100644 arch/x86/cpu/apollolake/fsp_bindings.c
create mode 100644 arch/x86/include/asm/arch-apollolake/fsp_bindings.h
create mode 100644 doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-m.txt
create mode 100644 doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-s.txt