ipq40xx: add support for ASUS Lyra
authorMarius Genheimer <mail@f0wl.cc>
Tue, 12 Feb 2019 16:19:51 +0000 (17:19 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Thu, 14 Feb 2019 15:56:15 +0000 (16:56 +0100)
SoC:   Qualcomm IPQ4019 (Dakota) 717 MHz, 4 cores
RAM:   256 MiB (Nanya NT5CC128M16IP-DI)
FLASH: 128 MiB (Macronix NAND)
WiFi0: Qualcomm IPQ4019 b/g/n 2x2
WiFi1: Qualcomm IPQ4019 a/n/ac 2x2
WiFi2: Qualcomm Atheros QCA9886 a/n/ac
BT:    Atheros AR3012
IN:    WPS Button, Reset Button
OUT:   RGB-LED via TI LP5523 9-channel Controller
UART:  Front of Device - 115200 N-8
       Pinout 3.3v - RX - TX - GND (Square is VCC)

Installation:
1. Transfer OpenWRT-initramfs image to the device via SSH to /tmp.
Login credentials are identical to the Web UI.

2. Login to the device via SSH.

3. Flash the initramfs image using

> mtd-write -d linux -i openwrt-image-file

4. Power-cycle the device and wait for OpenWRT to boot.

5. From there flash the OpenWRT-sysupgrade image.

Ethernet-Ports: Although labeled identically, the port next to
the power socket is the LAN port and the other one is WAN. This
is the same behavior as in the stock firmware.

Signed-off-by: Marius Genheimer <mail@f0wl.cc>
[Dropped setup_mac 02_network in favour of 05_set_iface_mac_ipq40xx.sh,
reorderd 02_network entries, added board.bin WA for the QCA9886 from ath79,
minor dts touchup, added rng to 4.19 dts]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
12 files changed:
package/firmware/ipq-wifi/Makefile
package/firmware/ipq-wifi/board-map-ac2200.bin [new file with mode: 0644]
target/linux/ipq40xx/base-files/etc/board.d/02_network
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh
target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
target/linux/ipq40xx/config-4.14
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts [new file with mode: 0644]
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts [new file with mode: 0644]
target/linux/ipq40xx/image/Makefile
target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch
target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch

index cf1ad04..7c9def8 100644 (file)
@@ -17,7 +17,7 @@ endef
 # Please send a mail with your device-specific board files upstream.
 # You can find instructions and examples on the linux-wireless wiki:
 # <https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles>
-ALLWIFIBOARDS:=engenius_eap1300 linksys_ea6350v3
+ALLWIFIBOARDS:=asus_map-ac2200 engenius_eap1300 linksys_ea6350v3
 ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD))
 
 define Package/ipq-wifi-default
@@ -52,6 +52,7 @@ Don't install it for any other device!
 endef
 
 #$(eval $(call generate-ipq-wifi-package,<devicename>,<filename>,<displayname>))
+$(eval $(call generate-ipq-wifi-package,asus_map-ac2200,board-map-ac2200.bin,ASUS MAP-AC2200))
 $(eval $(call generate-ipq-wifi-package,engenius_eap1300,board-engenius_eap1300.bin,EnGenius EAP1300))
 $(eval $(call generate-ipq-wifi-package,linksys_ea6350v3,board-linksys_ea6350v3.bin,Linksys EA6350v3))
 
diff --git a/package/firmware/ipq-wifi/board-map-ac2200.bin b/package/firmware/ipq-wifi/board-map-ac2200.bin
new file mode 100644 (file)
index 0000000..3729360
Binary files /dev/null and b/package/firmware/ipq-wifi/board-map-ac2200.bin differ
index bcc5f4c..dffccd9 100755 (executable)
@@ -15,6 +15,11 @@ ipq40xx_setup_interfaces()
        8dev,jalapeno)
                ucidef_set_interfaces_lan_wan "eth0" "eth1"
                ;;
+       asus,map-ac2200|\
+       openmesh,a42|\
+       openmesh,a62)
+               ucidef_set_interfaces_lan_wan "eth1" "eth0"
+               ;;
        asus,rt-ac58u|\
        zyxel,nbg6617)
                ucidef_set_interfaces_lan_wan "eth0" "eth1"
@@ -42,10 +47,6 @@ ipq40xx_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "0u@eth0" "3:lan" "4:lan"
                ;;
-       openmesh,a42|\
-       openmesh,a62)
-               ucidef_set_interfaces_lan_wan "eth1" "eth0"
-               ;;
        *)
                echo "Unsupported hardware. Network interfaces not initialized"
                ;;
index 69b6c25..59a809e 100644 (file)
@@ -106,6 +106,11 @@ case "$FIRMWARE" in
        ;;
 "ath10k/pre-cal-pci-0000:01:00.0.bin")
        case "$board" in
+       asus,map-ac2200)
+               ath10kcal_ubi_extract "Factory" 36864 12064
+               ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
+                       /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
+               ;;
        openmesh,a62)
                ath10kcal_extract "0:ART" 36864 12064
                ;;
@@ -119,6 +124,9 @@ case "$FIRMWARE" in
        qcom,ap-dk01.1-c1)
                ath10kcal_extract "ART" 4096 12064
                ;;
+       asus,map-ac2200)
+               ath10kcal_ubi_extract "Factory" 4096 12064
+               ;;
        asus,rt-ac58u)
                CI_UBIPART=UBI_DEV
                ath10kcal_ubi_extract "Factory" 4096 12064
@@ -157,6 +165,9 @@ case "$FIRMWARE" in
        qcom,ap-dk01.1-c1)
                ath10kcal_extract "ART" 20480 12064
                ;;
+       asus,map-ac2200)
+               ath10kcal_ubi_extract "Factory" 20480 12064
+               ;;
        asus,rt-ac58u)
                CI_UBIPART=UBI_DEV
                ath10kcal_ubi_extract "Factory" 20480 12064
index 44e81ca..ce5c1fc 100644 (file)
@@ -4,6 +4,11 @@
 
 preinit_set_mac_address() {
        case $(board_name) in
+       asus,map-ac2200)
+               base_mac=$(mtd_get_mac_binary_ubi Factory 4102)
+               ip link set dev eth0 address $(macaddr_add "$base_mac" +1)
+               ip link set dev eth1 address $(macaddr_add "$base_mac" +3)
+               ;;
        meraki,mr33)
                mac_lan=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 102)
                [ -n "$mac_lan" ] && ip link set dev eth0 address "$mac_lan"
index c5f06ff..f6bc173 100644 (file)
@@ -49,6 +49,10 @@ platform_do_upgrade() {
        8dev,jalapeno)
                nand_do_upgrade "$ARGV"
                ;;
+       asus,map-ac2200)
+               CI_KERNPART="linux"
+               nand_do_upgrade "$1"
+               ;;
        asus,rt-ac58u)
                CI_UBIPART="UBI_DEV"
                CI_KERNPART="linux"
index 5ddbcf3..c72e693 100644 (file)
@@ -264,6 +264,7 @@ CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_IRQ_WORK=y
+CONFIG_LEDS_LP5523=y
 CONFIG_LEDS_LP5562=y
 CONFIG_LEDS_LP55XX_COMMON=y
 CONFIG_LIBFDT=y
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts
new file mode 100644 (file)
index 0000000..ea39428
--- /dev/null
@@ -0,0 +1,304 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/dts-v1/;
+
+#include "qcom-ipq4019.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/soc/qcom,tcsr.h>
+
+/ {
+       model = "ASUS Lyra MAP-AC2200";
+       compatible = "asus,map-ac2200";
+
+       aliases {
+               led-boot = &led_blue0;
+               led-failsafe = &led_red0;
+               led-running = &led_blue0;
+               led-upgrade = &led_red0;
+       };
+
+       soc {
+               mdio@90000 {
+                       status = "okay";
+               };
+
+               ess-psgmii@98000 {
+                       status = "okay";
+               };
+
+               tcsr@1949000 {
+                       compatible = "qcom,tcsr";
+                       reg = <0x1949000 0x100>;
+                       qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
+               };
+
+               ess_tcsr@1953000 {
+                       compatible = "qcom,tcsr";
+                       reg = <0x1953000 0x1000>;
+                       qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+               };
+
+               tcsr@1957000 {
+                       compatible = "qcom,tcsr";
+                       reg = <0x1957000 0x100>;
+                       qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
+               };
+
+               usb2@60f8800 {
+                       status = "okay";
+               };
+
+               crypto@8e3a000 {
+                       status = "okay";
+               };
+
+               watchdog@b017000 {
+                       status = "okay";
+               };
+
+               ess-switch@c000000 {
+                       status = "okay";
+               };
+
+               edma@c080000 {
+                       status = "okay";
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys";
+               reset {
+                       label = "reset";
+                       gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+};
+
+&nand {
+       pinctrl-0 = <&nand_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       nand@0 {
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "SBL1";
+                               reg = <0x0 0x80000>;
+                               read-only;
+                       };
+
+                       partition@80000 {
+                               label = "MIBIB";
+                               reg = <0x80000 0x80000>;
+                               read-only;
+                       };
+
+                       partition@100000 {
+                               label = "QSEE";
+                               reg = <0x100000 0x100000>;
+                               read-only;
+                       };
+
+                       partition@200000 {
+                               label = "CDT";
+                               reg = <0x200000 0x80000>;
+                               read-only;
+                       };
+
+                       partition@280000 {
+                               label = "APPSBL";
+                               reg = <0x280000 0x140000>;
+                               read-only;
+                       };
+
+                       partition@3c0000 {
+                               label = "APPSBLENV";
+                               reg = <0x3c0000 0x40000>;
+                               read-only;
+                       };
+
+                       partition@400000 {
+                               label = "ubi";
+                               reg = <0x400000 0x7c00000>;
+                       };
+               };
+       };
+};
+
+&tlmm {
+       i2c_0_pins: i2c_0_pinmux {
+               pinmux {
+                       function = "blsp_i2c0";
+                       pins = "gpio20", "gpio21";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       serial_pins: serial_pinmux {
+               mux {
+                       pins = "gpio16", "gpio17";
+                       function = "blsp_uart0";
+                       bias-disable;
+               };
+       };
+
+       nand_pins: nand_pins {
+               pullups {
+                       pins =  "gpio52", "gpio53", "gpio58",
+                               "gpio59";
+                       function = "qpic";
+                       bias-pull-up;
+               };
+
+               pulldowns {
+                       pins =  "gpio54", "gpio55", "gpio56",
+                               "gpio57", "gpio60", "gpio61",
+                               "gpio62", "gpio63", "gpio64",
+                               "gpio65", "gpio66", "gpio67",
+                               "gpio68", "gpio69";
+                       function = "qpic";
+                       bias-pull-down;
+               };
+       };
+};
+
+&cryptobam {
+       status = "okay";
+};
+
+&blsp_dma {
+       status = "okay";
+};
+
+&qpic_bam {
+       status = "okay";
+};
+
+&wifi0 {
+       status = "okay";
+       qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
+};
+
+&wifi1 {
+       status = "okay";
+       qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
+};
+
+&pcie0 {
+       status = "okay";
+       perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>;
+       wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
+
+       bridge@0,0 {
+               reg = <0x00000000 0 0 0 0>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+               ranges;
+
+               wifi2: wifi@1,0 {
+                       compatible = "qcom,ath10k";
+                       status = "okay";
+                       reg = <0x00010000 0 0 0 0>;
+                       qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
+               };
+       };
+};
+
+&usb2_hs_phy {
+       /* Bluetooth module attached via USB */
+       status = "okay";
+};
+
+&blsp1_i2c3 {
+       pinctrl-0 = <&i2c_0_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       led-controller@32 {
+               /* 9-channel RGB LED controller */
+               compatible = "national,lp5523";
+               reg = <0x32>;
+               clock-mode = [01];
+
+               led_blue0: blue0 {
+                       chan-name = "blue0";
+                       label = "map-ac2200:blue:chan0";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               blue1 {
+                       chan-name = "blue1";
+                       label = "map-ac2200:blue:chan1";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               blue2 {
+                       chan-name = "blue2";
+                       label = "map-ac2200:blue:chan2";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               led_green0: green0 {
+                       chan-name = "green0";
+                       label = "map-ac2200:green:chan0";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               green1 {
+                       chan-name = "green1";
+                       label = "map-ac2200:green:chan1";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               green2 {
+                       chan-name = "green2";
+                       label = "map-ac2200:green:chan2";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               led_red0: red0 {
+                       chan-name = "red0";
+                       label = "map-ac2200:red:chan0";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               red1 {
+                       chan-name = "red1";
+                       label = "map-ac2200:red:chan1";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               red2 {
+                       chan-name = "red2";
+                       label = "map-ac2200:red:chan2";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+       };
+};
+
+&blsp1_uart1 {
+       pinctrl-0 = <&serial_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts
new file mode 100644 (file)
index 0000000..7f6aa51
--- /dev/null
@@ -0,0 +1,309 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/dts-v1/;
+
+#include "qcom-ipq4019.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/soc/qcom,tcsr.h>
+
+/ {
+       model = "ASUS Lyra MAP-AC2200";
+       compatible = "asus,map-ac2200";
+
+       aliases {
+               led-boot = &led_blue0;
+               led-failsafe = &led_red0;
+               led-running = &led_blue0;
+               led-upgrade = &led_red0;
+       };
+
+       soc {
+               rng@22000 {
+                       status = "okay";
+               };
+
+               mdio@90000 {
+                       status = "okay";
+               };
+
+               ess-psgmii@98000 {
+                       status = "okay";
+               };
+
+               tcsr@1949000 {
+                       compatible = "qcom,tcsr";
+                       reg = <0x1949000 0x100>;
+                       qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
+               };
+
+               ess_tcsr@1953000 {
+                       compatible = "qcom,tcsr";
+                       reg = <0x1953000 0x1000>;
+                       qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+               };
+
+               tcsr@1957000 {
+                       compatible = "qcom,tcsr";
+                       reg = <0x1957000 0x100>;
+                       qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
+               };
+
+               usb2@60f8800 {
+                       status = "okay";
+               };
+
+               crypto@8e3a000 {
+                       status = "okay";
+               };
+
+               watchdog@b017000 {
+                       status = "okay";
+               };
+
+               ess-switch@c000000 {
+                       status = "okay";
+               };
+
+               edma@c080000 {
+                       status = "okay";
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+};
+
+&nand {
+       pinctrl-0 = <&nand_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       nand@0 {
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "SBL1";
+                               reg = <0x0 0x80000>;
+                               read-only;
+                       };
+
+                       partition@80000 {
+                               label = "MIBIB";
+                               reg = <0x80000 0x80000>;
+                               read-only;
+                       };
+
+                       partition@100000 {
+                               label = "QSEE";
+                               reg = <0x100000 0x100000>;
+                               read-only;
+                       };
+
+                       partition@200000 {
+                               label = "CDT";
+                               reg = <0x200000 0x80000>;
+                               read-only;
+                       };
+
+                       partition@280000 {
+                               label = "APPSBL";
+                               reg = <0x280000 0x140000>;
+                               read-only;
+                       };
+
+                       partition@3c0000 {
+                               label = "APPSBLENV";
+                               reg = <0x3c0000 0x40000>;
+                               read-only;
+                       };
+
+                       partition@400000 {
+                               label = "ubi";
+                               reg = <0x400000 0x7c00000>;
+                       };
+               };
+       };
+};
+
+&tlmm {
+       i2c_0_pins: i2c_0_pinmux {
+               pinmux {
+                       function = "blsp_i2c0";
+                       pins = "gpio20", "gpio21";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       serial_pins: serial_pinmux {
+               mux {
+                       pins = "gpio16", "gpio17";
+                       function = "blsp_uart0";
+                       bias-disable;
+               };
+       };
+
+       nand_pins: nand_pins {
+               pullups {
+                       pins =  "gpio52", "gpio53", "gpio58",
+                               "gpio59";
+                       function = "qpic";
+                       bias-pull-up;
+               };
+
+               pulldowns {
+                       pins =  "gpio54", "gpio55", "gpio56",
+                               "gpio57", "gpio60", "gpio61",
+                               "gpio62", "gpio63", "gpio64",
+                               "gpio65", "gpio66", "gpio67",
+                               "gpio68", "gpio69";
+                       function = "qpic";
+                       bias-pull-down;
+               };
+       };
+};
+
+&cryptobam {
+       status = "okay";
+};
+
+&blsp_dma {
+       status = "okay";
+};
+
+&qpic_bam {
+       status = "okay";
+};
+
+&wifi0 {
+       status = "okay";
+       qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
+};
+
+&wifi1 {
+       status = "okay";
+       qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
+};
+
+&pcie0 {
+       status = "okay";
+       perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>;
+       wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
+
+       bridge@0,0 {
+               reg = <0x00000000 0 0 0 0>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+               ranges;
+
+               wifi2: wifi@1,0 {
+                       compatible = "qcom,ath10k";
+                       status = "okay";
+                       reg = <0x00010000 0 0 0 0>;
+                       qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
+               };
+       };
+};
+
+&usb2_hs_phy {
+       /* Bluetooth module attached via USB */
+       status = "okay";
+};
+
+&blsp1_i2c3 {
+       pinctrl-0 = <&i2c_0_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       led-controller@32 {
+               /* 9-channel RGB LED controller */
+               compatible = "national,lp5523";
+               reg = <0x32>;
+               clock-mode = [01];
+
+               led_blue0: blue0 {
+                       chan-name = "blue0";
+                       label = "map-ac2200:blue:chan0";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               blue1 {
+                       chan-name = "blue1";
+                       label = "map-ac2200:blue:chan1";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               blue2 {
+                       chan-name = "blue2";
+                       label = "map-ac2200:blue:chan2";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               led_green0: green0 {
+                       chan-name = "green0";
+                       label = "map-ac2200:green:chan0";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               green1 {
+                       chan-name = "green1";
+                       label = "map-ac2200:green:chan1";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               green2 {
+                       chan-name = "green2";
+                       label = "map-ac2200:green:chan2";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               led_red0: red0 {
+                       chan-name = "red0";
+                       label = "map-ac2200:red:chan0";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               red1 {
+                       chan-name = "red1";
+                       label = "map-ac2200:red:chan1";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+
+               red2 {
+                       chan-name = "red2";
+                       label = "map-ac2200:red:chan2";
+                       led-cur = [fa];
+                       max-cur = [ff];
+               };
+       };
+};
+
+&blsp1_uart1 {
+       pinctrl-0 = <&serial_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
index a670380..31468fd 100644 (file)
@@ -62,6 +62,15 @@ define Device/8dev_jalapeno
 endef
 TARGET_DEVICES += 8dev_jalapeno
 
+define Device/asus_map-ac2200
+       $(call Device/FitImageLzma)
+       DEVICE_DTS := qcom-ipq4019-map-ac2200
+       DEVICE_TITLE := ASUS Lyra MAP-AC2200
+       IMAGES := sysupgrade.bin
+       DEVICE_PACKAGES := ipq-wifi-asus_map-ac2200 ath10k-firmware-qca9888-ct kmod-ath3k
+endef
+TARGET_DEVICES += asus_map-ac2200
+
 define Device/asus_rt-ac58u
        $(call Device/FitImageLzma)
        DEVICE_DTS := qcom-ipq4018-rt-ac58u
index e0619a6..20ea3a8 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -697,7 +697,22 @@ dtb-$(CONFIG_ARCH_QCOM) += \
+@@ -697,7 +697,23 @@ dtb-$(CONFIG_ARCH_QCOM) += \
        qcom-apq8074-dragonboard.dtb \
        qcom-apq8084-ifc6540.dtb \
        qcom-apq8084-mtp.dtb \
@@ -27,6 +27,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
        qcom-ipq4019-ap.dk01.1-c1.dtb \
 +      qcom-ipq4019-a62.dtb \
 +      qcom-ipq4019-ap.dk04.1-c1.dtb \
++      qcom-ipq4019-map-ac2200.dtb \
 +      qcom-ipq4028-wpj428.dtb \
 +      qcom-ipq4029-gl-b1300.dtb \
 +      qcom-ipq4029-mr33.dtb \
index d0f892b..f3472b3 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -785,11 +785,25 @@ dtb-$(CONFIG_ARCH_QCOM) += \
+@@ -785,11 +785,26 @@ dtb-$(CONFIG_ARCH_QCOM) += \
        qcom-apq8074-dragonboard.dtb \
        qcom-apq8084-ifc6540.dtb \
        qcom-apq8084-mtp.dtb \
@@ -30,6 +30,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
        qcom-ipq4019-ap.dk07.1-c1.dtb \
        qcom-ipq4019-ap.dk07.1-c2.dtb \
 +      qcom-ipq4019-a62.dtb \
++      qcom-ipq4019-map-ac2200.dtb \
 +      qcom-ipq4028-wpj428.dtb \
 +      qcom-ipq4029-gl-b1300.dtb \
 +      qcom-ipq4029-mr33.dtb \