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

Andre Przywara andre.przywara at arm.com
Wed Feb 1 02:35:57 CET 2017


Hi,

some small changes as requested by reviewers (many thanks for that!)

Maxime, Jagan,
given I get some ACKs or RBs on the remaining patches, is this good
to go for 2017.03 still?

Cheers,
Andre.

--------------------------
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 8 patches contain some fixes and refactoring, to make code
sharing between the three mentioned SoCs easier.
Patch 09/13 adds support for the H5 DRAM controller, by extending
the already existing combined H3/A64 DRAM code.
Patch 10/13 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 11/13 introduces the H5 SoC config option into Kconfig,
which defines this shared symbol as well.
Patch 12/13 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.

At the moment this build suffers from the same problem as the A64: the
ATF is missing, so Linux won't boot easily. With the RFC version of the
SPL FIT extension series on the list, applied on top of this one this
should now be solved.

This series is on top of origin/master.

Please have a look and let me know your opinion!

Cheers,
Andre.

Changelog v2..v3:
- Adding ACKs and RBs
- remove not needed CONFIG_MACH_SUN50I_H5_64
- move ARM_CORTEX_CPU_IS_UP to arch/arm/Kconfig

Changelog v1..v2:
- Adding Maxime's ACKs
- new patch 2 and 3 to rename CONFIG_TIMER_CLK_FREQ to COUNTER_FREQUENCY
- renaming CONFIG symbol name for single core SoCs
- fixing one checkpatch issue (some are left, though)
- mentioning methodology and reason for missing data in DRAM driver
- renaming shared config symbol to CONFIG_MACH_SUNXI_H3_H5
- updated to lastest origin/master

Andre Przywara (13):
  sunxi: fix ACTLR.SMP assembly routine
  ARM: rename CONFIG_TIMER_CLK_FREQ to COUNTER_FREQUENCY
  fsl: ls102x: remove redundant GENERIC_TIMER_CLK
  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: 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/Kconfig                              |   4 +
 arch/arm/cpu/armv7/ls102xa/psci.S             |   2 +-
 arch/arm/cpu/armv7/ls102xa/timer.c            |   2 +-
 arch/arm/cpu/armv7/nonsec_virt.S              |   4 +-
 arch/arm/cpu/armv7/sunxi/psci.c               |   2 +-
 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                   |  12 +--
 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                           |  28 ++++-
 board/sunxi/MAINTAINERS                       |   5 +
 board/sunxi/board.c                           |   6 +-
 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/exynos-common.h               |   2 +-
 include/configs/ls1021aiot.h                  |   7 +-
 include/configs/ls1021aqds.h                  |   7 +-
 include/configs/ls1021atwr.h                  |   7 +-
 include/configs/mx7_common.h                  |   2 +-
 include/configs/sun50i.h                      |   1 -
 include/configs/sunxi-common.h                |  24 ++---
 scripts/config_whitelist.txt                  |   1 -
 35 files changed, 332 insertions(+), 99 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