aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/nand
diff options
context:
space:
mode:
authorRoger Pueyo Centelles <roger.pueyo@guifi.net>2020-01-26 17:56:05 +0100
committerKoen Vandeputte <koen.vandeputte@ncentric.com>2020-02-26 14:46:46 +0100
commit8f93c05a591bd68e4d8eaa0a8468ce2263762004 (patch)
treedffaf554ef38e457d0c893b6798639862a07de3d /target/linux/ath79/nand
parentc81b2e94c7d89fbf9f03aa4680ebb3d26cede872 (diff)
downloadupstream-8f93c05a591bd68e4d8eaa0a8468ce2263762004.tar.gz
upstream-8f93c05a591bd68e4d8eaa0a8468ce2263762004.tar.bz2
upstream-8f93c05a591bd68e4d8eaa0a8468ce2263762004.zip
ath79: add support for MikroTik RouterBOARD 922UAGS-5HPacD
This patch ports support for the MikroTik RouterBOARD 922UAGS-5HPacD with a built-in 802.11ac High-Power radio (31dBm), which was already available in the ar71xx target. See https://mikrotik.com/product/RB922UAGS-5HPacD for more info. Specifications: - SoC: Qualcomm Atheros QCA9558 (720 MHz) - RAM: 128 MB - Storage: 128 MB NAND - Wireless: external QCA9882 802.11a/ac 2x2:2 - Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE-in 24V - SFP: 1x host - USB: 1x 2.0 type A - PCIe: 1x Mini slot (also contains USB 2.0 for 3G/LTE modems) - SIM slot: 1x mini-SIM Working: - Board/system detection - SPI and NAND storage - PCIe - USB type A host - Wireless - Ethernet - LEDs (user, phy0) - Reset button - Sysupgrade to/from ar71xx Not supported: - RSSI LEDs - SFP cage Installation methods: - Sysupgrade from ar71xx (it is advisable to use the -n option to wipe any previous settings), or - Boot the initramfs image via TFTP and then flash the sysupgrade image using "sysupgrade -n" Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Diffstat (limited to 'target/linux/ath79/nand')
-rwxr-xr-xtarget/linux/ath79/nand/base-files/etc/board.d/02_network3
-rw-r--r--target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata8
-rw-r--r--target/linux/ath79/nand/base-files/etc/uci-defaults/04_led_migration17
-rw-r--r--target/linux/ath79/nand/base-files/lib/upgrade/platform.sh16
-rw-r--r--target/linux/ath79/nand/config-default1
-rw-r--r--target/linux/ath79/nand/target.mk2
6 files changed, 44 insertions, 3 deletions
diff --git a/target/linux/ath79/nand/base-files/etc/board.d/02_network b/target/linux/ath79/nand/base-files/etc/board.d/02_network
index bd02a4b383..f42b1ea9c2 100755
--- a/target/linux/ath79/nand/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/nand/base-files/etc/board.d/02_network
@@ -8,7 +8,8 @@ ath79_setup_interfaces()
local board="$1"
case "$board" in
- aerohive,hiveap-121)
+ aerohive,hiveap-121|\
+ mikrotik,routerboard-922uags-5hpacd)
ucidef_set_interface_lan "eth0"
;;
glinet,gl-ar750s-nor|\
diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 9305f061fe..1989332f81 100644
--- a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -3,6 +3,7 @@
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions/caldata.sh
+. /lib/functions/mikrotik-caldata.sh
board=$(board_name)
@@ -20,6 +21,13 @@ case "$FIRMWARE" in
;;
esac
;;
+"ath10k/cal-pci-0000:01:00.0.bin")
+ case $board in
+ mikrotik,routerboard-922uags-5hpacd)
+ mikrotik_caldata_extract "art" 0x5000 0x844
+ ;;
+ esac
+ ;;
*)
exit 1
;;
diff --git a/target/linux/ath79/nand/base-files/etc/uci-defaults/04_led_migration b/target/linux/ath79/nand/base-files/etc/uci-defaults/04_led_migration
new file mode 100644
index 0000000000..1a7b371a99
--- /dev/null
+++ b/target/linux/ath79/nand/base-files/etc/uci-defaults/04_led_migration
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+. /lib/functions.sh
+. /lib/functions/migrations.sh
+
+board=$(board_name)
+boardonly="${board##*,}"
+
+case "$board" in
+mikrotik,*)
+ migrate_leds "^rb:=mikrotik:"
+ ;;
+esac
+
+migrations_apply system
+
+exit 0
diff --git a/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh b/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh
index 15d88a361e..8d6b639b40 100644
--- a/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh
@@ -7,13 +7,27 @@ platform_check_image() {
return 0
}
-RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_BIN='fw_printenv fw_setenv nandwrite'
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
+platform_do_upgrade_mikrotik_nand() {
+ CI_KERNPART=none
+ local fw_mtd=$(find_mtd_part kernel)
+ fw_mtd="${fw_mtd/block/}"
+ [ -n "$fw_mtd" ] || return
+ mtd erase kernel
+ tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" -
+
+ nand_do_upgrade "$1"
+}
+
platform_do_upgrade() {
local board=$(board_name)
case "$board" in
+ mikrotik,routerboard-922uags-5hpacd)
+ platform_do_upgrade_mikrotik_nand "$1"
+ ;;
glinet,gl-ar300m-nand|\
glinet,gl-ar300m-nor)
glinet_nand_nor_do_upgrade "$1"
diff --git a/target/linux/ath79/nand/config-default b/target/linux/ath79/nand/config-default
index 4742ad52d0..b03f977a07 100644
--- a/target/linux/ath79/nand/config-default
+++ b/target/linux/ath79/nand/config-default
@@ -3,6 +3,7 @@ CONFIG_MTD_NAND_AR934X=y
CONFIG_MTD_NAND_CORE=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_SPLIT_MINOR_FW=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
diff --git a/target/linux/ath79/nand/target.mk b/target/linux/ath79/nand/target.mk
index c565c9b2b8..fd5216b0eb 100644
--- a/target/linux/ath79/nand/target.mk
+++ b/target/linux/ath79/nand/target.mk
@@ -1,6 +1,6 @@
BOARDNAME := Generic devices with NAND flash
-FEATURES += squashfs nand
+FEATURES += squashfs nand minor
DEFAULT_PACKAGES += wpad-basic