openwrt/target/linux/sunxi/image/cortex-a53.mk
Petr Štetiar 0784d07c11 sunxi: a53: add support for Olimex A64-Olinuxino eMMC
Specifications:

 SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit)
 RAM: 1GB or 2GB RAM DDR3L @ 672Mhz
 Flash: 0/4/16GB eMMC flash memory for storage and boot
 MicroSD card connector for cards up to 32GB
 Debug: serial UART debug header with 0.1" pins
 Wired connectivity: 10/100/1000Mbps GbE Ethernet
 Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and
                        Bluetooth 4.0 module with built-in antenna
                        (only available in the A64-OLinuXino-1G4GW)

Flashing instructions:

 Standard sunxi SD card installation procedure - copy eMMC image to SD
 card, insert in into SD card slot on the device and boot. You should see
 something like following if the eMMC is detected correctly:

  mmcblk2: mmc2:0001 P1XXXX 3.60 GiB
  mmcblk2boot0: mmc2:0001 P1XXXX partition 1 16.0 MiB
  mmcblk2boot1: mmc2:0001 P1XXXX partition 2 16.0 MiB

 Then flash SD card eMMC image straight into the mmcblk2 device:

  dd if=/mnt/openwrt...a64-olinuxino-emmc-squashfs-sdcard.img of=/dev/mmcblk2

 It also possible to boot from boot0 partition[1]:

  1. Compile U-Boot with CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x40
     otherwise the U-Boot will get stuck in bootloop
  2. Configure eMMC to boot from boot0 partition inside U-Boot:

     mmc bootbus 1 1 0 0; mmc partconf 1 1 1 0

  3. echo 0 > /sys/block/mmcblk2boot0/force_ro
  4. Write U-Boot from offset 0 (not offset 8k as with SD card) into
     boot0 partition

     dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2boot0

Known issues:

 Wireless doesn't work properly via netifd.

1. https://linux-sunxi.org/index.php?title=Bootable_eMMC

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-03-28 13:03:02 +01:00

87 lines
2.0 KiB
Makefile

#
# Copyright (C) 2013-2016 OpenWrt.org
# Copyright (C) 2016 Yousong Zhou
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Device/sun50i
SUNXI_DTS_DIR := allwinner/
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
define Device/sun50i-h5
SOC := sun50i-h5
$(Device/sun50i)
endef
define Device/sun50i-a64
SOC := sun50i-a64
$(Device/sun50i)
endef
define Device/friendlyarm_nanopi-neo-plus2
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL := NanoPi NEO Plus2
SUPPORTED_DEVICES:=nanopi-neo-plus2
$(Device/sun50i-h5)
endef
TARGET_DEVICES += friendlyarm_nanopi-neo-plus2
define Device/friendlyarm_nanopi-neo2
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL := NanoPi NEO2
SUPPORTED_DEVICES:=nanopi-neo2
$(Device/sun50i-h5)
endef
TARGET_DEVICES += friendlyarm_nanopi-neo2
define Device/olimex_a64-olinuxino
DEVICE_VENDOR := Olimex
DEVICE_MODEL := A64-Olinuxino
DEVICE_PACKAGES := kmod-rtl8723bs rtl8723bs-firmware
$(Device/sun50i-a64)
SUNXI_DTS := $$(SUNXI_DTS_DIR)$$(SOC)-olinuxino
endef
TARGET_DEVICES += olimex_a64-olinuxino
define Device/olimex_a64-olinuxino-emmc
DEVICE_VENDOR := Olimex
DEVICE_MODEL := A64-Olinuxino
DEVICE_VARIANT := eMMC
DEVICE_PACKAGES := kmod-rtl8723bs rtl8723bs-firmware
$(Device/sun50i-a64)
SUNXI_DTS := $$(SUNXI_DTS_DIR)$$(SOC)-olinuxino-emmc
endef
TARGET_DEVICES += olimex_a64-olinuxino-emmc
define Device/pine64_pine64-plus
DEVICE_VENDOR := Pine64
DEVICE_MODEL := Pine64+
$(Device/sun50i-a64)
endef
TARGET_DEVICES += pine64_pine64-plus
define Device/pine64_sopine-baseboard
DEVICE_VENDOR := Pine64
DEVICE_MODEL := SoPine
$(Device/sun50i-a64)
endef
TARGET_DEVICES += pine64_sopine-baseboard
define Device/xunlong_orangepi-pc2
DEVICE_VENDOR := Xunlong
DEVICE_MODEL := Orange Pi PC 2
$(Device/sun50i-h5)
endef
TARGET_DEVICES += xunlong_orangepi-pc2
define Device/xunlong_orangepi-zero-plus
DEVICE_VENDOR := Xunlong
DEVICE_MODEL := Orange Pi Zero Plus
$(Device/sun50i-h5)
endef
TARGET_DEVICES += xunlong_orangepi-zero-plus