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

Andre Przywara
2022-01-11T12:46:20Z

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