mbox series

[v2,0/5] sunxi: SPL SPI booting: Enable R40 and H6 SoCs

Message ID 20200128004644.21341-1-andre.przywara@arm.com
Headers show
Series sunxi: SPL SPI booting: Enable R40 and H6 SoCs | expand

Message

Andre Przywara Jan. 28, 2020, 12:46 a.m. UTC
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(-)

Comments

Jagan Teki March 18, 2020, 12:43 p.m. UTC | #1
On Tue, Jan 28, 2020 at 6:17 AM Andre Przywara <andre.przywara@arm.com> wrote:
>
> 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()

Applied to u-boot-sunxi/master