--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca9557.dtsi"
+
+/ {
+ compatible = "mikrotik,routerboard-922uags-5hpacd", "qca,qca9558";
+ model = "MikroTik RouterBOARD 922UAGS-5HPacD";
+
+ aliases {
+ label-mac-device = ð0;
+ led-boot = &led_user;
+ led-failsafe = &led_user;
+ led-upgrade = &led_user;
+ serial0 = &uart;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_user: user {
+ label = "mikrotik:green:user";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ ath10k-leds {
+ compatible = "gpio-leds";
+
+ wlan5g {
+ label = "mikrotik:green:wlan5g";
+ gpios = <&ath10k 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ gpio-export {
+ compatible = "gpio-export";
+
+ gpio_usb_power {
+ gpio-export,name = "mikrotik:power:usb";
+ gpio-export,output = <0>;
+ gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
+ };
+
+ gpio_nand_power {
+ gpio-export,name = "mikrotik:power:nand";
+ gpio-export,output = <0>;
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy4: ethernet-phy@4 {
+ reg = <4>;
+ };
+};
+
+ð0 {
+ status = "okay";
+
+ mtd-mac-address = <&art 0x10>;
+ phy-handle = <&phy4>;
+ pll-data = <0x8f000000 0xa0000101 0xa0001313>;
+
+ gmac-config {
+ device = <&gmac>;
+ rgmii-enabled = <1>;
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "routerboot";
+ reg = <0x0000000 0x000c000>;
+ read-only;
+ };
+
+ art: partition@c000 {
+ label = "art";
+ reg = <0x000c000 0x0001000>;
+ read-only;
+ };
+
+ partition@d000 {
+ label = "bios";
+ reg = <0x000d000 0x0001000>;
+ read-only;
+ };
+
+ partition@e000 {
+ label = "soft_config";
+ reg = <0x000e000 0x0001000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&nand {
+ status = "okay";
+
+ nand-ecc-mode = "soft";
+ qca,nand-swap-dma;
+ qca,nand-scan-fixup;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "booter";
+ reg = <0x0000000 0x0040000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "kernel";
+ reg = <0x0040000 0x03c0000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x0400000 0x7c00000>;
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+};
+
+&pcie0 {
+ status = "okay";
+
+ ath10k: wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+include ./common-mikrotik.mk
include ./common-netgear.mk # for netgear-uImage
# attention: only zlib compression is allowed for the boot fs
endef
TARGET_DEVICES += glinet_gl-ar750s-nor
+define Device/mikrotik_routerboard-922uags-5hpacd
+ $(Device/mikrotik)
+ SOC := qca9558
+ DEVICE_MODEL := RouterBOARD 922UAGS-5HPacD
+ BOARD_NAME := routerboard
+ IMAGE/sysupgrade.bin = append-kernel | kernel2minor -s 2048 -e -c | \
+ sysupgrade-tar kernel=$$$$@ | append-metadata
+ DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct \
+ kmod-usb2 nand-utils
+ SUPPORTED_DEVICES += rb-922uags-5hpacd
+endef
+TARGET_DEVICES += mikrotik_routerboard-922uags-5hpacd
+
# fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
define Device/netgear_ath79_nand
DEVICE_VENDOR := NETGEAR
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"