[PATCH 00/12] Support to run U-Boot on sc7180 Trogdor Chromebooks
Caleb Connolly
caleb.connolly at linaro.org
Fri Feb 21 02:00:30 CET 2025
Hi Stephen,
On 2/20/25 20:58, Stephen Boyd wrote:
> 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.
\o/ wow, this is awesome!
you might have some luck booting pmOS, we build depthcharge compatible
images for trogdor
https://images.postmarketos.org/bpo/edge/google-trogdor/
There's also a generic ARM64 EFI image that should work. You may need to
edit the image and remove efi/systemd/drivers/dtbloader.efi from the ESP:
https://images.postmarketos.org/bpo/edge/postmarketos-trailblazer/
>
> 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.
Guess it's time I finally get my hands on one of these devices :D
Kind regards,
>
> 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
--
Caleb (they/them)
More information about the U-Boot
mailing list