[U-Boot] [PATCH 00/12] sunxi: Allwinner H5 and OrangePi PC2 support

Andre Przywara andre.przywara at arm.com
Fri Jan 13 02:29:52 CET 2017


This series introduces support for the Allwinner H5 SoC with four
Cortex-A53 cores. The SoC's peripherals are very similar to the H3,
although the cores and the BROM/SRAM layout resembles the A64.
The first 6 patches contain some fixes and refactoring, to make code
sharing between the three mentioned SoCs easier.
Patch 07/12 adds support for the H5 DRAM controller, by extending
the already existing combined H3/A64 DRAM code.
Patch 08/12 renames the existing CONFIG_MACH_SUN8I_H3 config symbol to
let it be used by all peripheral code that can be shared between the
H3 and H5. Patch 10/12 introduces the H5 SoC config option into Kconfig,
which defines this shared symbol as well.
Patch 11/12 adds an easy device tree, which actually uses the H3 .dtsi
and overwrites nodes which are different. This is good enough for U-Boot,
the DT will be changed anyway once we get the DT merged into the Linux
kernel.
The final patch then adds the defconfig for the OrangePi PC2 board.
Since this board comes with soldered SPI flash, we enable support for
it in the SPL. This has been tested by writing the SPI flash with some
special sunxi-fel version. The BROM loaded and executed the SPL, which
in turn loaded and executed U-Boot proper. Both parts are 64-bit only
for now.
Ethernet support is enabled, but fails at the moment since the EMAC
driver does not support setting a GPIO to enable the external Gigabit PHY.
This should be a problem for H3 boards with Gigabit as well.

At the moment this build suffers from the same problem as the A64: the
ATF is missing, so Linux won't boot easily. However I finally managed to
clean up the FIT extension series, which solves this problem in a quite
elegant way. I will post this series after getting some sleep ;-)

This series is on top of sunxi/next, which has three yet unmerged (and
unrelated) patches compared to HEAD. So it should apply to both branches.

Some of these patches will probably conflict with ongoing work from
Icenowy, I am happy to rebase on any branch someone points me to.

Please have a look and let me know your opinion!

Cheers,
Andre.

Andre Przywara (12):
  sunxi: fix ACTLR.SMP assembly routine
  sunxi: simplify ACTLR.SMP bit set #ifdef
  sunxi: configs: merge sun9i and sun50i SPL memory definitions
  sunxi: Kconfig: introduce CONFIG_SUNXI_HIGH_SRAM
  sunxi: provide ARMv8 mem_map for every ARM64 board
  SPI: SPL: sunxi: fix 64-bit build
  sunxi: DRAM: add Allwinner H5 support
  sunxi: prepare for sharing MACH_SUN8I_H3 config symbol
  sunxi: H5: add COUNTER_FREQUENCY
  sunxi: introduce Allwinner H5 config option
  sunxi: dts: add basic OrangePi PC 2 device tree file
  sunxi: configs: add basic OrangePi PC 2 defconfig

 arch/arm/dts/Makefile                         |   2 +
 arch/arm/dts/sun50i-h5-orangepi-pc2.dts       | 147 ++++++++++++++++++++++++++
 arch/arm/include/asm/arch-sunxi/clock_sun6i.h |   4 +-
 arch/arm/include/asm/arch-sunxi/cpu.h         |   1 +
 arch/arm/include/asm/arch-sunxi/cpu_sun4i.h   |   4 +-
 arch/arm/include/asm/arch-sunxi/dram.h        |   2 +-
 arch/arm/include/asm/arch-sunxi/spl.h         |   2 +-
 arch/arm/mach-sunxi/Makefile                  |   2 +-
 arch/arm/mach-sunxi/board.c                   |  21 ++--
 arch/arm/mach-sunxi/clock_sun6i.c             |   6 +-
 arch/arm/mach-sunxi/cpu_info.c                |   2 +
 arch/arm/mach-sunxi/dram_sun8i_h3.c           |  97 ++++++++++++++---
 arch/arm/mach-sunxi/usb_phy.c                 |   4 +-
 board/sunxi/Kconfig                           |  36 ++++++-
 board/sunxi/MAINTAINERS                       |   5 +
 configs/orangepi_pc2_defconfig                |  16 +++
 drivers/mtd/spi/Kconfig                       |   2 +-
 drivers/mtd/spi/sunxi_spi_spl.c               |  16 +--
 drivers/net/sun8i_emac.c                      |   2 +-
 drivers/power/Kconfig                         |   4 +-
 drivers/usb/host/ehci-sunxi.c                 |   2 +-
 include/configs/sun8i.h                       |   2 +
 include/configs/sunxi-common.h                |  22 ++--
 23 files changed, 330 insertions(+), 71 deletions(-)
 create mode 100644 arch/arm/dts/sun50i-h5-orangepi-pc2.dts
 create mode 100644 configs/orangepi_pc2_defconfig

-- 
2.8.2



More information about the U-Boot mailing list