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 cf1ad042bfe88e739f3dd394351587964ee4235c..7c9def89674e03d465bca9abf2ab70ce0b302148 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 bcc5f4cec96e587f848c8cce26fe0ab4bdb80146..dffccd9fad21590b4d99449906c0c250fba0d804 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 69b6c2591c7783ec00175a19954cc186daf0f260..59a809e792a7496255ac4ab88751907a2d8904ae 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 44e81ca366dd57d3d5d7fbb9065254925e94061a..ce5c1fc4bf1777a21e674d6b02fa519e50a2f7fd 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 c5f06ffb3afb9a2095ede1a18f874e37724b7a9e..f6bc173a76edc44f8ee01ddbaf5024c697f231e8 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 5ddbcf3df3194392ef78ebb29b03c898dc7bc4d2..c72e69320622fa1196b25777b2ac6e409e954fca 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 a670380ab31ff7ba53a0d1aa7c88404930e32bad..31468fd75858ea94b5540cf07cccee8300c399aa 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 e0619a64dd97ee0152bb627a0952f1e519376577..20ea3a84492ac3b1976d2454631fa76e952600df 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 d0f892bc48b3d78428dab608b42c70b7b64e96f2..f3472b32c00773793326a12b761d522116357a2e 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 \