
This series enables the SPI booting feature for Allwinner R40 and H6 SoCs. To achieve this, we enable our spl_spi_sunxi.c driver to deal with those two SoCs. The R40 is pretty straightforward, as it just needs its base address adjusted. This is prepared in patch 1/5 and finalised in patch 3/5. For the H6, on top of yet another different base address, the new clocks and slightly different pinmux setup need to be cared for. Patch 2/5 and 4/5 take care of that. Patch 5/5 enables this feature for the Pine H64 board, which comes with soldered SPI flash.
This has been tested on the Pine H64 board and a Bananapi M2 Berry (with SPI flash connected to the SPI0-PortC header pins). For the existing SPI boot platforms this does not change the code size, as the toolchain is clever enough to optimise this properly.
There is a similar series to enable SPI support for the sunxi-fel tool, which was used to test this: https://github.com/linux-sunxi/sunxi-tools/pull/129
Cheers, Andre.
Changelog v1 .. v2: - Drop already merged patch 1/6 - rename is_new_gen_spi() to is_sun6i_gen_spi()
Andre Przywara (5): sunxi: SPL SPI: Split off SPI0 base address sunxi: SPL SPI: Introduce is_sun6i_gen_spi() sunxi: SPL SPI: Add SPI boot support for the Allwinner R40 SoC sunxi: SPL SPI: Add SPI boot support for the Allwinner H6 SoC sunxi: Pine H64: Enable SPI booting in defconfig
arch/arm/mach-sunxi/Kconfig | 2 +- arch/arm/mach-sunxi/spl_spi_sunxi.c | 153 +++++++++++++++++++++++------------- configs/pine_h64_defconfig | 1 + 3 files changed, 101 insertions(+), 55 deletions(-)