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

Reply via email to