
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(-)