From patchwork Mon Jan 6 01:29:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 239112 List-Id: U-Boot discussion From: andre.przywara at arm.com (Andre Przywara) Date: Mon, 6 Jan 2020 01:29:09 +0000 Subject: [PATCH 0/6] sunxi: SPL SPI booting: Enable R40 and H6 SoCs Message-ID: <20200106012915.2772-1-andre.przywara@arm.com> 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 2/6 and finalised in patch 4/6. 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 3/6 and 5/6 take care of that. Patch 6/6 enables this feature for the Pine H64 board, which comes with soldered SPI flash. Patch 1/6 deals with some annoyance in enabling SPI boot on new boards. 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. I will post this ASAP. Cheers, Andre. Andre Przywara (6): sunxi: move CONFIG_SYS_SPI_U_BOOT_OFFS out of defconfig sunxi: SPL SPI: Split off SPI0 base address sunxi: SPL SPI: Introduce is_new_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 +++++++++++++++++++---------- common/spl/Kconfig | 1 + configs/A20-OLinuXino-Lime2-eMMC_defconfig | 1 - configs/oceanic_5205_5inmfd_defconfig | 1 - configs/orangepi_pc2_defconfig | 1 - configs/orangepi_r1_defconfig | 1 - configs/orangepi_win_defconfig | 1 - configs/orangepi_zero_defconfig | 1 - configs/pine64-lts_defconfig | 1 - configs/pine_h64_defconfig | 1 + configs/sopine_baseboard_defconfig | 1 - 12 files changed, 102 insertions(+), 63 deletions(-)