The ASUS MAP-AC2200 suffers from a lower transmit/receive signal power as compared to the stock firmware. Upon investigation, it was discovered that stock firmware from the GPL_MAP-AC2200_3.0.0.4.384.46249-g97d05bb.tar archive. set the following GPIOs in "release/src/router/rc/init.c". GPIO 44 and 46 have to be set to output high GPIO 45 and 47 have to be set to output low Here are some results, after activating the relevant gpios through cmdline: <https://forum.openwrt.org/t/asus-map-ac2200-low-transmit-receive-signal-5ghz/69005/12> THX @ slh Fixes: 9ad3967f140 ("ipq40xx: add support for ASUS Lyra") Signed-off-by: Yushi Nishida <kyro2man@gmx.net> [slightly rewritten commit, added missing <>) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
327 lines
5.2 KiB
Plaintext
327 lines
5.2 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
#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;
|
|
};
|
|
};
|
|
enable_ext_pa_high {
|
|
gpio-hog;
|
|
gpios = <44 GPIO_ACTIVE_HIGH>,
|
|
<46 GPIO_ACTIVE_HIGH>;
|
|
output-high;
|
|
bias-pull-down;
|
|
line-name = "enable external PA output-high";
|
|
};
|
|
enable_ext_pa_low {
|
|
gpio-hog;
|
|
gpios = <45 GPIO_ACTIVE_HIGH>,
|
|
<47 GPIO_ACTIVE_HIGH>;
|
|
output-low;
|
|
bias-pull-down;
|
|
line-name = "enable external PA output-low";
|
|
};
|
|
};
|
|
|
|
&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";
|
|
ieee80211-freq-limit = <5470000 5875000>;
|
|
};
|
|
|
|
&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";
|
|
ieee80211-freq-limit = <5170000 5350000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&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 = "blue:chan0";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
blue1 {
|
|
chan-name = "blue1";
|
|
label = "blue:chan1";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
blue2 {
|
|
chan-name = "blue2";
|
|
label = "blue:chan2";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
led_green0: green0 {
|
|
chan-name = "green0";
|
|
label = "green:chan0";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
green1 {
|
|
chan-name = "green1";
|
|
label = "green:chan1";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
green2 {
|
|
chan-name = "green2";
|
|
label = "green:chan2";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
led_red0: red0 {
|
|
chan-name = "red0";
|
|
label = "red:chan0";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
red1 {
|
|
chan-name = "red1";
|
|
label = "red:chan1";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
|
|
red2 {
|
|
chan-name = "red2";
|
|
label = "red:chan2";
|
|
led-cur = [fa];
|
|
max-cur = [ff];
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_uart1 {
|
|
pinctrl-0 = <&serial_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|