This series supports running U-Boot as a payload on sc7180 Trogdor Chromebooks like Lazor or Wormdingler. This is a jumble of different patches to get to the final goal of booting a Linux distro from the eMMC on Lazor. I've yet to craft a USB stick with a stock distro but I'll probably do that next week.
The first few patches add support for the particular SoC sc7180 used on Trogdor devices. The next set of patches move the coreboot logic out of x86 into lib to find the coreboot tables on ARM and stash them in global data. Then I have a handful of patches to let the coreboot commands and utilities parse and populate various things like pstore and DT with the proper data from the coreboot tables. Finally, I add the calls to coreboot dram parsing code in the snapdragon board so that if coreboot tables exist we get the memory info from coreboot instead of from an earlier stage DTB. I tested the spi driver with the crosec command. The cros bootflow method almost works, but it seems like chromeos userspace blows up spectacularly likely because crossystem can't figure out what board it is running on. I don't really care too much about booting chromeos userspace here so I'm going to ignore that problem and assume that I can boot some Linux distro because the eMMC can be read by U-Boot and the kernel boots. Stephen Boyd (12): clk: qcom: Add driver for sc7180 pinctrl: qcom: Add driver for sc7180 spi: Add Qualcomm GENI SPI driver coreboot: Move coreboot logic out of x86 to a generic place arm: Support running U-Boot as a coreboot payload on ARM64 cmd/cbsysinfo: Skip the CMOS 'option_table' if it isn't present cmd/cbsysinfo: Allow on ARM as well coreboot: Parse sku_id/fw_config from coreboot tables pstore: Add pstore address from coreboot tables coreboot: Add /firmware/coreboot node to DT bootstd: cros: Return negative error code mach-snapdragon: Support booting as a coreboot payload arch/arm/Kconfig | 2 + arch/arm/cpu/armv8/Makefile | 1 + arch/arm/cpu/armv8/coreboot/Kconfig | 22 + arch/arm/cpu/armv8/coreboot/Makefile | 4 + arch/arm/cpu/armv8/coreboot/cpu.c | 46 ++ arch/arm/include/asm/global_data.h | 3 + arch/arm/mach-snapdragon/board.c | 18 + arch/x86/Kconfig | 21 - arch/x86/cpu/coreboot/coreboot.c | 4 +- arch/x86/cpu/coreboot/sdram.c | 78 +-- arch/x86/cpu/coreboot/timestamp.c | 2 +- arch/x86/cpu/cpu.c | 2 +- arch/x86/cpu/i386/cpu.c | 2 +- .../x86/include/asm/arch-coreboot/timestamp.h | 2 +- arch/x86/lib/coreboot/Makefile | 1 - arch/x86/lib/coreboot/cb_support.c | 2 +- arch/x86/lib/coreboot_table.c | 2 +- arch/x86/lib/tables.c | 2 +- board/coreboot/coreboot/coreboot.c | 2 +- board/coreboot/coreboot/sysinfo.c | 2 +- board/google/chromebook_coral/coral.c | 2 +- boot/bootmeth_cros.c | 2 +- boot/expo_build_cb.c | 2 +- boot/image-fdt.c | 4 + cmd/Kconfig | 2 +- cmd/Makefile | 1 + cmd/{x86 => }/cbsysinfo.c | 6 +- cmd/pstore.c | 44 +- cmd/version.c | 2 +- cmd/x86/Makefile | 1 - cmd/x86/cbcmos.c | 2 +- drivers/clk/qcom/Kconfig | 8 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/clock-sc7180.c | 150 +++++ drivers/misc/cbmem_console.c | 2 +- drivers/pinctrl/qcom/Kconfig | 7 + drivers/pinctrl/qcom/Makefile | 1 + drivers/pinctrl/qcom/pinctrl-sc7180.c | 106 ++++ drivers/serial/serial_coreboot.c | 2 +- drivers/spi/Kconfig | 10 + drivers/spi/Makefile | 1 + drivers/spi/spi-geni-qcom.c | 527 ++++++++++++++++++ drivers/video/coreboot.c | 2 +- .../x86/include/asm => include}/cb_sysinfo.h | 12 +- .../include/asm => include}/coreboot_tables.h | 11 + lib/Kconfig | 21 + lib/Makefile | 2 + lib/coreboot/Makefile | 4 + {arch/x86/lib => lib}/coreboot/cb_sysinfo.c | 142 ++++- {arch/x86/cpu => lib}/coreboot/sdram.c | 15 +- 50 files changed, 1165 insertions(+), 145 deletions(-) create mode 100644 arch/arm/cpu/armv8/coreboot/Kconfig create mode 100644 arch/arm/cpu/armv8/coreboot/Makefile create mode 100644 arch/arm/cpu/armv8/coreboot/cpu.c rename cmd/{x86 => }/cbsysinfo.c (99%) create mode 100644 drivers/clk/qcom/clock-sc7180.c create mode 100644 drivers/pinctrl/qcom/pinctrl-sc7180.c create mode 100644 drivers/spi/spi-geni-qcom.c rename {arch/x86/include/asm => include}/cb_sysinfo.h (95%) rename {arch/x86/include/asm => include}/coreboot_tables.h (98%) create mode 100644 lib/coreboot/Makefile rename {arch/x86/lib => lib}/coreboot/cb_sysinfo.c (75%) copy {arch/x86/cpu => lib}/coreboot/sdram.c (87%) base-commit: 82d262ae162d859d3b0bbcd40a9464e890b009da -- Sent by a computer, using git, on the internet