[PATCH 0/7] sunxi: Fix U-Boot proper SPI operation

Andre Przywara andre.przywara at arm.com
Tue Jan 11 13:46:00 CET 2022


Hi,

despite U-Boot supporting SPI on Allwinner chips and SPI flash in
general for a while, it wasn't really working well for many sunxi boards.
Booting from SPI is handled by separate SPL code, which works fine, but
the "sf" command in U-Boot proper is often just not operational.

This series tries to improve the situation, by:
- cleaning up the SPI Kconfig situation for sunxi (patch 2)
- adding support for environment in SPI flash (patch 3-5)
- trying to enable more boards for U-Boot-proper SPI flash (patch 6)

As an added bonus there is some whacky code to make the SPI flash usable
in Linux on H6 boards. Marking this as RFC.

Actually even after this series many boards still miss out, because
they are lacking the required "spi0" alias in the DT. We could go with
*-u-boot.dtsi fixes for now (as the SoPine does), but even mainline DT
support wouldn't help, as we are somewhat stuck with DT updates. But
that's a story for another time, let's get this SPI support fixed first.

Cheers,
Andre

Andre Przywara (6):
  sunxi: Kconfig: Fix up SPI configuration
  env: sunxi: Define location in SPI flash
  sunxi: use boot source for determining environment location
  env: sunxi: enable ENV_IS_IN_SPI_FLASH
  sunxi: boards: Enable SPI flash support in U-Boot proper
  sunxi: H6: Enable SPI0 in DT when no eMMC is used

Daniel Wagenknecht (1):
  sunxi: SPI: fix pinmuxing for Allwinner H6 SoCs

 arch/arm/Kconfig                         |   2 +
 arch/arm/mach-sunxi/Kconfig              |  13 ++-
 board/sunxi/board.c                      | 101 +++++++++++++++++++++--
 configs/libretech_all_h3_it_h5_defconfig |   2 -
 configs/libretech_all_h5_cc_h5_defconfig |   2 -
 configs/oceanic_5205_5inmfd_defconfig    |   1 +
 configs/orangepi_pc2_defconfig           |   2 +
 configs/orangepi_r1_defconfig            |   2 +
 configs/orangepi_win_defconfig           |   2 +
 configs/orangepi_zero2_defconfig         |   2 +
 configs/orangepi_zero_defconfig          |   2 +
 configs/pine64-lts_defconfig             |   2 +
 configs/pine_h64_defconfig               |   3 +
 configs/pinecube_defconfig               |   2 +
 configs/sopine_baseboard_defconfig       |   1 +
 drivers/spi/spi-sunxi.c                  |   3 +-
 env/Kconfig                              |   7 +-
 17 files changed, 131 insertions(+), 18 deletions(-)

-- 
2.25.1



More information about the U-Boot mailing list