coreboot-kgpe-d16/util
Reka Norman 2c439adb51 util/spd_tools: Add LP5 support for ADL
Add LP5 support to spd_tools. Currently, only Intel Alder Lake (ADL) is
supported.

The SPDs are generated based on a combination of:
- The LPDDR5 spec JESD209-5B.
- The SPD spec SPD4.1.2.M-2 (the LPDDR3/4 spec is used since JEDEC has
  not released an SPD spec for LPDDR5).
- Intel recommendations in advisory #616599.

BUG=b:201234943, b:198704251
TEST=Generate the SPD and manifests for a test part, and check that the
SPD matches Intel's expectation. More details in CB:58680.

Change-Id: Ic1e68d44f7c0ad64aa9904b7e1297d24bd5db56e
Signed-off-by: Reka Norman <rekanorman@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58679
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
2021-11-04 10:46:07 +00:00
..
abuild Revert "Revert "util/abuild: Regenerate xcompile on every abuild run"" 2021-09-26 16:08:05 +00:00
acpi
amdfwtool amdfwtool: Add PSP ID for combo and ISH header for A/B recovery 2021-10-29 14:26:22 +00:00
amdtools
apcb
archive
autoport mainboard: Drop invalid `VGA_BIOS_FILE` defaults 2021-10-15 09:08:35 +00:00
bincfg
board_status
bucts
cavium
cbfstool elogtool: add pytest for elogtool 2021-10-25 08:08:41 +00:00
cbmem
chromeos
crossgcc util/crossgcc/Makefile: Clean up .PHONY definitions 2021-11-02 17:36:23 +00:00
docker
dtd_parser
ectool
exynos
find_usbdebug
futility
fuzz-tests
genbuild_h
gitconfig
ifdtool
intelmetool
intelp2m
inteltool util/inteltool: Add PCH IDs for 200 series chipsets 2021-10-24 16:04:49 +00:00
intelvbttool
ipqheader
kbc1126
kconfig util/kconfig: Uprev to Linux 5.15's kconfig 2021-11-02 08:10:47 +00:00
lint kconfig_lint: use just one variable for keeping track of choices 2021-10-20 15:52:16 +00:00
liveiso util/liveiso: Install nvme-cli tool 2021-10-01 15:08:07 +00:00
mainboard util/mb/google: Update templates to refer to the new spd_tools 2021-09-23 06:52:27 +00:00
marvell
me_cleaner
mma
msrtool
mtkheader
nixshell util/nixshell: Add Nix shell for toolchain compilation 2021-09-16 22:55:02 +00:00
nvidia
nvramtool
pgtblgen
pmh7tool
post
qemu
qualcomm
release util/release/build-release: Create cross-toolchain version file 2021-10-21 14:15:57 +00:00
riscv
rockchip
sconfig SMBIOS/SCONFIG: Allow devtree-defined Type 41 entries 2021-11-04 10:25:09 +00:00
scripts
showdevicetree
spd_tools util/spd_tools: Add LP5 support for ADL 2021-11-04 10:46:07 +00:00
spdtool
spkmodem_recv
superiotool
supermicro
testing libpayload: Add unit-tests framework and first test case 2021-10-18 12:33:49 +00:00
uio_usbdebug
util_readme
vboot_list
vgabios
x86
xcompile
README.md

README.md

  • abuild - coreboot autobuild script builds coreboot images for all available targets. bash
  • acpi - Walk through all ACPI tables with their addresses. bash
  • amdfwtool - Create AMD Firmware combination C
  • amdtools - A set of tools to compare extended) K8 memory settings. Perl
  • apcb - AMD PSP Control Block tools
    • apcb_edit.py - This tool allows patching an existing APCB binary with specific SPDs and GPIO selection pins. Python3
  • archive - Concatenate files and create an archive C
  • autoport - Automated porting coreboot to Sandy Bridge/Ivy Bridge platforms Go
  • bincfg - Compiler/Decompiler for data blobs with specs Lex Yacc
  • board_status - Tools to collect logs and upload them to the board status repository Bash Go
  • bucts - A tool to manipulate the BUC.TS bit on Intel targets. C
  • cavium - Devicetree_convert Tool to convert a DTB to a static C file Python
  • cbfstool
    • cbfstool - For manipulating CBFS file C
    • fmaptool - Converts plaintext fmd files into fmap blobs C
    • rmodtool - Creates rmodules C
    • ifwitool - For manipulating IFWI C
  • cbmem - CBMEM parser to read e.g. timestamps and console log C
  • chromeos - These scripts can be used to access Chrome OS resources, for example to extract System Agent reference code and other blobs (e.g. mrc.bin, refcode, VGA option roms) from a Chrome OS recovery image. C
  • crossgcc - A cross toolchain builder for -elf toolchains (ie. no libc support)
  • docker - Dockerfiles for coreboot-sdk, coreboot-jenkins-node, coreboot.org-status and docs.coreboot.org
  • dtd_parser - DTD structure parser Python2
  • ectool - Dumps the RAM of a laptop's Embedded/Environmental Controller (EC). C
  • exynos - Computes and fills Exynos ROM checksum (for BL1 or BL2). Python3
  • find_usbdebug - Help find USB debug ports
  • futility - Firmware utility for signing ChromeOS images Make
  • fuzz-tests - Create test cases that crash the jpeg code. C
  • genbuild_h - Generate build system definitions Shell
  • gitconfig - Initialize git repository submodules install git hooks Bash
  • ifdtool - Extract and dump Intel Firmware Descriptor information C
  • intelmetool - Dump interesting things about Management Engine even if hidden C
  • intelp2m - Intel Pad to Macro (intelp2m) converter 'Go'
  • inteltool - Provides information about the Intel CPU/chipset hardware configuration (register contents, MSRs, etc). C
  • intelvbttool - Parse VBT from VGA BIOS C
  • ipqheader
    • createxbl.py - Concatentates XBL segments into one ELF image Python
    • ipqheader.py - Returns a packed MBN header image with the specified base and size Python
    • mbncat.py - Generate ipq8064 uber SBL Python
    • mbn_tools.py - Contains all MBN Utilities for image generation Python
  • kbc1126 - Tools used to dump the two blobs from the factory firmware of many HP laptops with 8051-based SMSC KBC1098/KBC1126 embedded controller and insert them to the firmware image. C
  • kconfig - Build system Make
  • lint - Source linter and linting rules Shell
  • mainboard - mainboard specific scripts
    • google - Directory for google mainboard specific scripts
  • marvell - Add U-Boot boot loader for Marvell ARMADA38X C
  • me_cleaner - Tool for partial deblobbing of Intel ME/TXE firmware images Python
  • mma - Memory Margin Analysis automation tests Bash
  • msrtool - Dumps chipset-specific MSR registers. C
  • mtkheader - Generate MediaTek bootload header. Python3
  • nvidia - nvidia blob parsers
  • nvramtool - Reads and writes coreboot parameters and displaying information from the coreboot table in CMOS/NVRAM. C
  • pgtblgen - Generates page tables based on fixed physical address. C
  • pmh7tool - Dumps, reads and writes PMH7 registers on Lenovo ThinkPads. PMH7 is used for switching on and off the power of some devices on the board such as dGPU. C
  • post - Userspace utility that can be used to test POST cards. C
  • qemu - Makefile & comprehensive default config for QEMU Q35 emulation
  • qualcomm - CMM script to debug Qualcomm coreboot environments. CMM
  • release - Generate coreboot release Bash
  • riscv
    • make-spike-elf.sh - Converts a flat file into an ELF, that can be passed to SPIKE, the RISC-V reference emulator.Bash
    • sifive-gpt.py - Wraps the bootblock in a GPT partition for SiFive's bootrom. Python3
  • rockchip - Generate Rockchip idblock bootloader. Python3
  • sconfig - coreboot device tree compiler Lex Yacc
  • scripts
    • config - Manipulate options in a .config file from the command line Bash
    • cross-repo-cherrypick - Pull in patches from another tree from a gerrit repository. Shell
    • decode_spd.sh - Decodes Serial Presence Detect (SPD) files into various human readable formats.
    • dts-to-fmd.sh -Converts a depthcharge fmap.dts into an fmaptool compatible .fmd format Bash
    • find-unused-kconfig-symbols.sh - Points out Kconfig variables that may be unused. There are some false positives, but it serves as a starting point Shell
    • gerrit-rebase - Applies all commits that from-branch has over to-branch, based on a common ancestor and gerrit meta-data Bash
    • get_maintainer.pl - Print selected MAINTAINERS information for the files modified in a patch or for a file Perl
    • maintainers.go - Build subsystem Maintainers Go
    • no-fsf-addresses.sh - Removes various FSF addresses from license headers Shell
    • parse-maintainers.pl - Script to alphabetize MAINTAINERS file Perl
    • ucode_h_to_bin.sh - Microcode conversion tool Bash
    • update_submodules - Check all submodules for updates Bash
  • showdevicetree - Compile and dump the device tree C
  • spdtool - Dumps SPD ROMs from a given blob to separate files using known patterns and reserved bits. Useful for analysing firmware that holds SPDs on boards that have soldered down DRAM. python
  • spd_tools - Tools for generating SPD files for DDR4 memory used in platforms with memory down configuration.
    • gen_spd.go - Generates de-duplicated SPD files using a global memory part list provided by the mainboard in JSON format. Go
    • gen_part_id.go - Allocates DRAM strap IDs for different DDR4 memory parts used by the board. Go
  • spkmodem_recv - Decode spkmodem signals C
  • superiotool - A user-space utility to detect Super I/O of a mainboard and provide detailed information about the register contents of the Super I/O. C
  • supermicro - Tools for supermicro platforms
    • smcbiosinfo - Generates SMC biosinfo for BMC BIOS updates C
  • testing - coreboot test targets Make
  • uio_usbdebug - Debug coreboot's usbdebug driver inside a running operating system (only Linux at this time). C
  • util_readme - Creates README.md of description files in ./util subdirectories Bash
  • vboot_list - Tools to generate a list of vboot enabled devices to the documentation Bash
  • vgabios - emulated vga driver for qemu C
  • x86 - Generates 32-bit PAE page tables based on a CSV input file. Go
  • xcompile - Cross compile setup Bash