
The Pine64 is a kickstarter backed SBC that runs on the Allwinner A64 SoC. This SoC can run AArch64 code, so this patch set lifts all arm version indepenent sunxi code into a mach directory and builds the A64 code as armv8 (aarch64) code.
With these patches applied, I can successfully boot my 1GB Pine64+ board with an openSUSE EFI image.
Alex
Alexander Graf (4): sunxi: Move cpu independent code to mach directory sunxi: Depend SPL configs on SUPPORT_SPL arm: Allow u32 as addrs for readX/writeX sunxi: Explicitly cast u32 pointer conversions
Siarhei Siamashka (2): sunxi: Add support for Allwinner A64 SoCs sunxi: Add Pine64+ support
arch/arm/Kconfig | 4 +- arch/arm/Makefile | 1 + arch/arm/cpu/armv7/sunxi/Makefile | 40 +- arch/arm/dts/Makefile | 2 + arch/arm/dts/a64.dtsi | 564 +++++++++++++++++++++ arch/arm/dts/pine64.dts | 62 +++ arch/arm/dts/pine64_common.dtsi | 76 +++ arch/arm/dts/pine64_plus.dts | 63 +++ arch/arm/include/asm/arch-sunxi/clock.h | 3 +- arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 4 +- arch/arm/include/asm/arch-sunxi/gpio.h | 1 + arch/arm/include/asm/arch-sunxi/spl.h | 5 +- arch/arm/include/asm/io.h | 18 +- arch/arm/include/asm/system.h | 6 + arch/arm/mach-sunxi/Makefile | 51 ++ arch/arm/{cpu/armv7/sunxi => mach-sunxi}/board.c | 30 +- arch/arm/{cpu/armv7/sunxi => mach-sunxi}/clock.c | 0 .../{cpu/armv7/sunxi => mach-sunxi}/clock_sun4i.c | 0 .../{cpu/armv7/sunxi => mach-sunxi}/clock_sun6i.c | 0 .../armv7/sunxi => mach-sunxi}/clock_sun8i_a83t.c | 0 .../{cpu/armv7/sunxi => mach-sunxi}/clock_sun9i.c | 0 .../arm/{cpu/armv7/sunxi => mach-sunxi}/cpu_info.c | 2 + .../{cpu/armv7/sunxi => mach-sunxi}/dram_helpers.c | 0 .../{cpu/armv7/sunxi => mach-sunxi}/dram_sun4i.c | 0 .../{cpu/armv7/sunxi => mach-sunxi}/dram_sun6i.c | 0 .../armv7/sunxi => mach-sunxi}/dram_sun8i_a23.c | 0 .../armv7/sunxi => mach-sunxi}/dram_sun8i_a33.c | 0 .../armv7/sunxi => mach-sunxi}/dram_sun8i_a83t.c | 0 .../armv7/sunxi => mach-sunxi}/dram_sun8i_h3.c | 0 arch/arm/{cpu/armv7/sunxi => mach-sunxi}/p2wi.c | 0 arch/arm/{cpu/armv7/sunxi => mach-sunxi}/pinmux.c | 0 .../arm/{cpu/armv7/sunxi => mach-sunxi}/pmic_bus.c | 0 arch/arm/{cpu/armv7/sunxi => mach-sunxi}/prcm.c | 0 arch/arm/{cpu/armv7/sunxi => mach-sunxi}/rsb.c | 0 arch/arm/{cpu/armv7/sunxi => mach-sunxi}/usb_phy.c | 2 +- board/sunxi/Kconfig | 9 +- board/sunxi/board.c | 38 +- configs/pine64_plus_defconfig | 12 + drivers/mmc/sunxi_mmc.c | 6 +- drivers/power/Kconfig | 2 +- include/configs/sun50i.h | 22 + include/configs/sunxi-common.h | 20 +- 42 files changed, 977 insertions(+), 66 deletions(-) create mode 100644 arch/arm/dts/a64.dtsi create mode 100644 arch/arm/dts/pine64.dts create mode 100644 arch/arm/dts/pine64_common.dtsi create mode 100644 arch/arm/dts/pine64_plus.dts create mode 100644 arch/arm/mach-sunxi/Makefile rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/board.c (91%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/clock.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/clock_sun4i.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/clock_sun6i.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/clock_sun8i_a83t.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/clock_sun9i.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/cpu_info.c (97%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_helpers.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_sun4i.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_sun6i.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_sun8i_a23.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_sun8i_a33.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_sun8i_a83t.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/dram_sun8i_h3.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/p2wi.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/pinmux.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/pmic_bus.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/prcm.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/rsb.c (100%) rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/usb_phy.c (99%) create mode 100644 configs/pine64_plus_defconfig create mode 100644 include/configs/sun50i.h